首页 理论教育 Python程序设计基础教程:类和对象创建技巧

Python程序设计基础教程:类和对象创建技巧

时间:2023-11-16 理论教育 版权反馈
【摘要】:我们声明一个Student类包含这些信息和行为,这个类让Python知道如何创建表示Student的对象。self.name=name获取存储在形参name中的值,并将其存储到变量name中,然后该变量被关联到当前创建的对象。可通过对象访问的变量称为属性。由于这个方法不需要其他信息传递,所以它们只有一个形参self2.对象的属性和方法类是抽象的,要使用类定义的功能,就必须将类实例化,即创建类的对象。

Python程序设计基础教程:类和对象创建技巧

1.类的定义

类是对具有相同属性和方法的一组对象的描述。Python通过关键字class来定义类,格式如下:

其中,类名是Python的一个有效标识符,类名单词的首字母一般采用大写。类中的函数称为方法,类中包含初始化方法和其他方法。

以前面编写的学生类Student为例,它表示的不是特定的学生,对于学生,它们都有名字、学号和课程成绩等信息。我们声明一个Student类包含这些信息和行为,这个类让Python知道如何创建表示Student的对象。编写这个类后,可以使用它来创建表示特定Student的对象。

类中的函数称为方法,前面学到的有关函数的一切都适用于方法,它们主要的差别是调用方法的方式。类的所有方法都必须至少有一个名为self的参数,并且必须是方法的第一个形参,self参数代表将来要创建的对象本身。在类的方法中访问对象变量时需要以self为前缀。在外部通过对象调用对象方法时并不需要传递这个参数,如果在外部通过类调用对象方法,则需要显示为self参数传值。

_ _init_ _ ()是一个特殊的方法,每当根据Student类创建新对象时,Python都会自动运行它。在这个方法的名称中,开头和末尾各有两根下划线,这是一种约定,避免Python默认方法与普通方法发生名称冲突。方法中定义了三个形参:self、name和score。Python调用这个_ _init_ _ ()方法来创建Student对象时,将自动传入实参self,通过实参向Student传递名字和成绩。

方法_ _init_ _ ()内定义的两个变量都有前缀self。以self为前缀的变量都可供类中的所有方法使用,我们还可以通过类的任何对象来访问这些变量。self.name=name获取存储在形参name中的值,并将其存储到变量name中,然后该变量被关联到当前创建的对象。self.number=number的作用与此类似。可通过对象访问的变量称为属性。

Student类还定义了另外一个方法:prt_score()。由于这个方法不需要其他信息传递,所以它们只有一个形参self(www.xing528.com)

2.对象的属性和方法

类是抽象的,要使用类定义的功能,就必须将类实例化,即创建类的对象。Python使用赋值的方式创建类的实例,其格式如下:

在上面Student类的定义中,name是一个属性,prt_score()是一个方法,与某个对象进行绑定的函数称作为方法。一般在类里面定义的函数与类对象或实例对象绑定了,所以称作为方法,而在类外定义的函数一般没有同对象进行绑定,就称为函数。

创建对象后,可以使用“.”运算符,通过实例对象来访问这个类的属性和方法。

【例7-1】对象属性实例程序如下:

在Student类定义完成之后就产生了一个全局的类对象,Student类中定义了name和score属性。在定义了类之后,就可以用来产生实例化对象了,语句“stud=Student(" 张三",90)”实例化了一个对象stud,然后就可以通过stud来读取属性了。这里的name和score都是公有的,可以直接在类外通过对象名访问。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈