查看原文
其他

Legallab重磅|法律+Python{12}Python的面向对象:类的使用

小法博 法律实验室 2023-03-25

 作者:张力行、朴星亮、何丽芬

工欲善其事,必先利其器。学习 Python 最好先掌握其语法,让学习事半功倍。它可以帮助我们读懂,并动手写简单的代码。在参考了很多资料,并根据我们几年来使用 Python 的经验和法律人的知识背景,经过归纳汇总,用 7个推文重点介绍了这块的主要知识点。今天的推文是 Python 基础语法的第 7个推文,也是这块的最后一个推文了。我们希望这些推文和代码示例能帮助大家融会贯通,从而喜欢这个人工智能语言,并尽快地在大家的学习和工作使用这个神器!

面向对象的编程(object oriented programming),简称:OOP,是一种编程的方法。它将相关或近似的操作逻辑和数据状态等以类的形式描述,以对象实例的形式在程序中复用,以达到提高软件开发效率的作用。

Python 采用了面向对象的思想,是真正面向对象的编程语言,完全支持面向对象的基本功能,例如:继承、多态、封装等。因此我们前面学习的类型、函数等等都是对象。

一、OOP 的两个非常重要的概念——类和对象
1、类:
  • 具有相似内部状态和运动规律的实体的集合(或统称为抽象)

  • 具有相同属性和行为事物的统称

  • 一个类可以派生出多个对象

2、对象: 
  • 是类的具体实例

  • 每个派生的对象共享类的方法,却拥有属于自己的类的属性

二、类 (Class) 的声明

类的声明需要指定类的名称和属性或方法,格式如下:

当我们声明了类以后,就可以根据类来实例化对象并使用了。

三、对象的实现

对象是类的实例,可以由类派生多个。这样就可以复用其方法,达到减少代码冗余,提高编程效率的目的。以下为对建立的类的对象实现。

从这个例程可以看出,我们实例化了两个基于 Lawyer 类的对象 lawyer1 和 lawyer2,它们都继承了类的方法,并都可以单独输出自己的内容。

创建对象,我们需要定义构造函数__init__( )方法。构造方法用于执行“实例对象的初始化工作”,即对象创建后,初始化当前对象的相关属性,无返回值。

构造函数__init__( )方法的要点如下:

  • 名称固定,必须为:__init__( ),注意,方法前后是两个下划线。

  • 第一个参数固定,必须为:self。self  指的就是刚刚创建好的实例对象。

  • 它通常用来初始化实例对象的实例属性,上例中就初始化了两个实例属性:name  和 score。

  • 通过“类名(参数列表)”来调用构造函数。调用后,将创建好的对象返回给相应的变量。上例中就将律师和 80 这两个变量赋值进去了。

四、实例属性

实例属性是从属于实例对象的属性,也称为“实例变量”。

1、实例属性一般在__init__( )方法中通过如下代码定义:

self. 实例属性名 = 初始值

2、在本类的其他实例方法中,也是通过 self  进行访问:

self. 实例属性名

3、创建实例对象后,通过实例对象访问:

  • 对象名  = 类名( )

  • 对象名.实例属性名 = 值。这里可以给已有属性赋值,也可以新加属性

五、实例方法

实例方法是从属于实例对象的方法。实例方法的定义格式如下:

1、def 方法名 ( self [形参列表] ):
  • 函数体

2、方法的调用格式如下:

  • 对象.方法名([实参列表])

要点:
1、定义实例方法时,第一个参数必须为 self。和前面一样,self 指当前的实例对象。
2、调用实例方法时,不需要也不能给 self  传参。self  由解释器自动传参。

Python 的面向对象:类的使用是 Python 基础语法中最难的,但大家不必为此沮丧,因为这块知识对计算机专业的学生来说也不是一下子就理解的,所以不必产生挫败感,多看一些代码,动手敲一敲,就会搞懂的。冲淡疫情焦虑的最好方式也许就是学习新知识了。牛顿就是在躲避疫情,回乡下老家时发明微积分的。祝大家学习愉快!

近期精彩内容,点击即看

1.Legallab重磅|法律+Python{11}Python的函数

2.Legallab重磅|法律+Python{10}Python的流程控制for和while语句

3.Legallab重磅|法律+Python{9}Python的流程控制 if 语句

4.Legallab重磅|法律+Python { 8 } Python的运算符

5.Legallab重磅|法律+Python { 7 } Python的数据运算

6.Legallab重磅|法律+Python { 6 } Python的变量

7.Legallab重磅|法律+Python{5}Python的保留词

8.Legallab重磅|法律+Python { 4 } Python的常用英文

9.Legallab重磅|法律+Python{3}Python的数据结构




公众号ID:Legallab 支持原创,请长按二维码关注我们!我们的邮箱: legallab@hotmail.com大家一起参与到分享法律的过程中来!





如果觉得此文章有用,请点赞并转发




您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存