没有合适的资源?快使用搜索试试~ 我知道了~
第7章 python类与对象在Python中,所有数据类型都可以视为对象。面向对象的程序设计把计算机程序视为一组对象的集合,而每个对象都可以接收其他对象发过来的
资源详情
资源评论
资源推荐
第
7
章
python
类
与
对
象
在Python中,所有数据类型都可以视为对象。面向对象的程序设计把计算机程序视为
一组对象的集合,而每个对象都可以接收其他对象发过来的消息,并处理这些消息,
计算机程序的执行就是一系列消息在各个对象之间传递。下面是面向对象编程(OOP)的
一个名称介绍:
类:用于定义表示用户定义对象的一组属性的原型。属性是通过点符号访问的数
据成员(类变量和实例变量)和方法。
类变量:由类的所有实例共享的变量。类变量在类中定义,但在类的任何方法之
外。类变量不像实例变量那样频繁使用。
数据成员:保存和类及其对象相关联的数据的类变量或实例变量。
函数重载:将多个行为分配给特定函数。执行的操作因涉及的对象或参数的类型
而异。
实例变量:在方法中定义并仅属于类的当前实例的变量。
继承:将类的特征传递给从其派生的其他类。
实例:某个类的单个对象。
实例化:创建类的实例。
方法:在类定义中定义的一种特殊类型的函数。
对象:由其类定义的数据结构的唯一实例。对象包括数据成员(类变量和实例变
量)和方法。
运算符重载:将多个函数分配给特定的运算符。
本章将从以下几方面来介绍:
一、 类和实例
#
第
7
章
python
类
与
对
象
在Python中,所有数据类型都可以视为对象。面向对象的程序设计把计算机程序视为一组
对象的集合,而每个对象都可以接收其他对象发过来的消息,并处理这些消息,计算机程
序的执行就是一系列消息在各个对象之间传递。下面是面向对象编程(OOP)的一个名称介
绍:
- 类:用于定义表示用户定义对象的一组属性的原型。属性是通过点符号访问的数据成员
(类变量和实例变量)和方法。
- 类变量:由类的所有实例共享的变量。类变量在类中定义,但在类的任何方法之外。类
变量不像实例变量那样频繁使用。
- 数据成员:保存和类及其对象相关联的数据的类变量或实例变量。
- 函数重载:将多个行为分配给特定函数。执行的操作因涉及的对象或参数的类型而异。
- 实例变量:在方法中定义并仅属于类的当前实例的变量。
- 继承:将类的特征传递给从其派生的其他类。
- 实例:某个类的单个对象。
- 实例化:创建类的实例。
- 方法:在类定义中定义的一种特殊类型的函数。
- 对象:由其类定义的数据结构的唯一实例。对象包括数据成员(类变量和实例变量)和
方法。
- 运算符重载:将多个函数分配给特定的运算符。
创建类和实例对象
数据封装
二、访问限制
三、类继承
继承
重载方法
多重继承 四、获取对象信息
type()
isinstance()
1.
类
和
实
例
面向对象最重要的概念就是类(Class)和实例(Instance),类是抽象的模板,比如
Student类,而实例是根据类创建出来的一个个具体的“对象”,每个对象都拥有相同的
方法,但各自的数据可能不同。
1.1
创
建
类
和
实
例
对
象
这里以Student类为例,在Python中,通过class关键字来定义类:
[1]
class后面紧接着是类名,即Student,类名通常是大写开头的单词,紧接着是(object),
表示该类是从哪个类继承下来的。通常,如果没有合适的继承类,就使用object类,这
是所有类最终都会继承的类。
定义好了Student类,就可以根据Student类创建出Student的实例,创建实例是通过类
名+()实现的
[2]
class Student(object):
pass
bart = Student() # 创建Student类的实例
print(bart)
print(Student)
<__main__.Student object at 0x00000182D5B8FCF8>
<class '__main__.Student'>
可以看到,变量bart指向的就是一个Student的实例,后面的0x000001FB57EBDCF8是内
存地址,每个object的地址都不一样,而Student本身则是一个类
可以自由地给一个实例变量绑定属性
[3]
'Bart Simpson'
由于类可以起到模板的作用,因此,可以在创建实例的时候,把一些我们认为必须绑
定的属性强制填写进去。通过定义一个特殊的init方法,在创建实例的时候,就把
name,score等属性绑上去:
[4]
注意到__init__方法的第一个参数永远是self,表示创建的实例本身,因此,在__init__
方法内部,就可以把各种属性绑定到self,因为self就指向创建的实例本身。有了
__init__方法,在创建实例的时候,就不能传入空的参数了,必须传入与__init__方法匹
配的参数,但self不需要传,Python解释器自己会把实例变量传进去
[5]
Bart Simpson
60
和普通的函数相比,在类中定义的函数只有一点不同,就是第一个参数永远是实例变
量self,并且,调用时,不用传递该参数。除此之外,类的方法和普通函数没有什么区
# 比如:给实例bart绑定一个name属性:
bart.name = 'Bart Simpson'
bart.name
class Student(object):
def __init__(self, name, score):
self.name = name
self.score = score
bart = Student('Bart Simpson',60)
print(bart.name)
print(bart.score)
剩余12页未读,继续阅读
莉雯Liwen
- 粉丝: 21
- 资源: 305
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
评论0