Python学习day18

面向对象编程: Object-Oriented Programing
对象是指现实中的物体或实体
面向对象:把一切看成对象(实例),用各种对象之间的关系来描述事务
对象都有什么特征:
对象有很多属性(名词)
姓名,年龄,性别…………
对象有很多行为(动作,动词)
学习,吃饭,睡觉,工作…………
类:
拥有相同属性和行为的对象分为一组,即为一个类,类是用来描述对象的工具,用类可以创建此 类的对象(实例)
类的创建语句:class
class 语句
语法:
class 类名(继承列表):
‘’‘类文档字符串’‘’
实例方法定义
类变量定义
类方法定义(@classmethod)
静态方法定义(@staticmethod)
作用:
创建一个类
用于描述对象的行为和属性
用于创建此类的一个或者多个同类对象(实例)
说明:
继承列表可以省略,省略继承列表表示类继承自object
类名必须为标识符
类名实质上是变量,它绑定一个类
构造函数:
构造函数调用表达式:
类名([创建传参列表])
作用:
创建这个类的实例对象,并返回此实例对象的引用关系
实例说明:
1、实例有自己的作用域和名字空间,可以为该实例添加实例变量(属性)
2、实例可以调用类方法和实例方法
3、实例可以访问类变量和实例变量
实例方法(method):
语法:
class 类名(继承列表):
def 实例方法(self, 形参1, 形参2,………)
‘’‘方法的文档字符串’‘’
语句块
作用:
用来描述一个对象的行为,让此类型的全部对象都拥有相同的行为
说明:
实例方法的实质是函数,是定义在类内的函数
实例方法至少有一个形参,第一个形参代表调用这个方法的实例,一般命名为'self'
实例方法的调用语法:
实例.实例方法名(调用传参)
类名.实例方法名(实例,调用传参)

实例属性 attribute(实例变量)
每个实例可以用自己的变量,称为实例变量(也叫属性)
使用语法:
实例.属性名
属性的赋值规则:
1、首次为属性赋值则创建此属性
2、再次为属性赋值则改变属性的绑定关系
作用:
记录每个对象自身的数据
删除属性
del 语句
del 对象.属性名
del 总结:
删除变量 del a
删除列表中的元素 delL[0]
删除字典中的键 del d["name"]
删除对象的属性 del dog1.color

初始化方法:
作用:
对新创建的对象添加属性等初始化操作
语法格式:
class 类名(继承列表):
def __init__(self[, 形参列表])
[]内的内容可以省略
说明:
1、初始化方法名必须为__init__不可改变
2、初始化方法会在构造函数创建实例后自动调用,且将实例自身通过第一个
参数self传入__init__方法
3、构造函数的实参将通过__init__方法的参数列表传入到__init__方法中
4、初始化方法内如果需要return 语句返回, 则只能返回None

析构方法:
语法:
class 类名:
def __del__(self):
语句块
作用:
通常用来释放此对象占有的资源
说明:
析构方法会在对象被销毁时自动调用
python语句建议不要在对象销毁时做任何事情,因为对象销毁的时间难以确定
预置的实例属性:
__dict__属性
__dict__属性绑定一个存储此实例自身变量的字典

__class__属性
__class__属性绑定创建此实例的类(类实例)
作用:
可以借助于此属性来访问创建此实例的类

用于类的函数:
isinstance(obj, class_or_tuple)返回这个对象obj是否是某个类的对象,或者某些类中的一个类的对象,如果是则返回True,否则返回False

type(obj) 返回对象的类




猜你喜欢

转载自blog.csdn.net/sinat_42311311/article/details/81038449