当前位置:
文档之家› Python3基础教程第10章
Python3基础教程第10章
1.类对象
类对象具有下列几个主要特点。 Python在执行class语句时创建一个类对象和一个变量(与类同名), 变量引用类对象。与def类似,class也是可执行语句。导入类模块时, 会执行class语句。 类中的顶层赋值语句创建的变量是类的数据属性。类的数据属性用 “对象名.属性名”格式来访问。 类中的顶层def语句定义的函数是类的方法属性,用“对象名.方法名 ()”格式来访问。 类的数据属性由类的所有实例对象共享。实例对象可读取类的数据属 性值,但不能通过赋值语句修改类的数据属性值。
<class '__main__.testclass'>
>>> x.setpdata('abc’)
#调用方法创建实例对象的数据属性pdata
>>> x.showpdata()
#调用方法显示实例对象的数据属性pdata的值
self.pdata = abc
>>> y=testclass() >>> y.setpdata(123) >>> y.showpdata() self.pdata = 123
10.1.3 Python中的对象
Python中的一切数据都是对象,如整数、小数、字符串、函数、模块等。 例如,下面的代码分别测试了字符串、整数、逻辑值和函数的类型。
>>> type('abc') <class 'str'> >>> type(123) <class 'int'> >>> type(True) <class 'bool'> >>> def fun(): ... pass ... >>> type(fun) <class 'function'>
可以用dir()函数来查看对象的属性
示例代码如下。
>>> dir(testclass)
#查看类对象的属性
……
>>> x=testclass() >>> dir(x)
Python中的对象可分为两种:
类对象 实例对象。
类对象在执行class语句时创建。 类对象是可调用的,类对象也称类实例。 调用类对象会创建一个类的实例对象。 类对象只有一个,而类的实例对象可以有多个。
类对象和实例对象分别拥有自己的命名空间,在各自的命名空间内 使用对象的属性和方法。
2.实例对象
实例对象具有下列主要特点。
实例对象通过调用类对象来创建。 每个实例对象继承类对象的所有属性,并获得自己的命名
空间。 实例对象拥有私有属性。通过赋值语句为实例对象的属性
赋值时,如果该属性不存在,就会创建属于实例对象的私 有属性。
10.2定义和使用类
本节主要内容: 定义类 使用类
10.2.1 定义类
类定义的基本格式如下。
class类名: 赋值语句 赋值语句 …… def语句定义函数 def语句定义函数 ……
class testclass: data=100 def setpdata(self,value): self.pdata=value def showpdata(self): print('self.pdata=',self.pdata)
义自己的属性和方法。 重载(override):在子类中定义和父类方法同名的方法,称为子类对父类方法的重载,也称方法重写。 多态:指不同类型对象的相同行为产生不同的结果。 和其它面向对象的程序设计语言相比,Python的面向对象机制更为简单。
10.1.2 Python的类和类型
Python的类使用class语句来定义,类通常包含一系列 的赋值语句和函数定义。 赋值语句定义类的属性,函数定义类的方法。 在Python 3中,类是一种自定义类型。 Python的所有类型(包括自定义类型),都是内置类 型type的实例对象,例如,内置的int、float、str等都 是type类型的实例对象。 type()函数可返回对象的类型,
面向对象的基本概念如下。 类和对象:描述对象的属性和方法的集合称为类,它定义了同一类对象所共有的属性和方法。对象是类的实例,
也称实例对象。 方法:类中定义的函数,用于描述对象的行为,也称方法成员。 属性:类中在所有方法之外定义的变量(也称类中的顶层变量),用于描述对象的特点,也称数据成员。 封装:类具有封装特性,其内部实现不应被外界知晓,只需要提供必要的接口供外部访问即可。 实例化:创建一个类的实例对象。 继承:从一个基类(也称父类或超类)派生出一个子类时,子类拥有基类的属性和方法,称为继承。子类可以定
#调用类对象创建第2个实例对象 #调用方法创建实例对象的数据属性pdata #调用方法显示实例对象的数据属性pdata的值
10.3对象的属性和方法
本节主要内容: 对象的属性 对象的方法 特殊属性和方法 伪私有”属性和方法 对象的初始化 静态方法
10.3.1 对象的属性
在Python中,实例对象拥有类对象的所有属性。
n3基础教程
第2版 慕课版
第10章 面向对象
本章主要内容: 理解Python的面向对象 定义和使用类 对象的属性和方法 类的继承 模块中的类
10.1理解Python的面向对象
本节主要内容: 面向对象的基本概念 Python的类和类型 Python中的对象
10.1.1 面向对象的基本概念
示例代码
>>> type(int) <class 'type'> >>> type(float) <class 'type'> >>> type(str) <class 'type'> >>> class test: #定义一个空类 ... pass ... >>> type(test) <class 'type'>
10.2.2 使用类
使用类对象可访问类的属性、创建实例对象,示例代码如下。
>>> type(testclass)
#测试类对象的类型
<class 'type'> >>> testclass.data
#访问类对象的数据属性
100
>>> x=testclass()
#调用类对象创建第1个实例对象
>>> type(x) #查看实例对象的类型,交互环境中的默认模块名称为__main__