python类和对象语法

tech2026-02-24  1

实例变量

表示每个对象自己的数据。 定义:对象.变量名 调用:对象.变量名

首次通过对象赋值为创建,再次赋值为修改。

w01=Wife() w01.name="建宁" w01.name="建宁公主" __dict__对象的属性,用于存储自身实例变量的字典。

实例方法

定义:

def 方法名称(self,参数列表): 方法体

调用:对象地址.实例方法名(参数列表) 注意,不建议通过类名访问实例方法。

至少有一个形参,第一个参数绑定调用这个方法的对象,一般命名为"self"。无论创建多少对象,方法只有一份,并且被所有对象共享,用于表示对象行为。实例变量:自己的数据。实例方法:操作实例变量。

类成员

类变量:表示所有对象共有的数据。 在类中,方法外定义变量。

class 类名: 变量名=表达式

调用:类名.变量名 注意,不建议通过对象访问类变量 特点:存在优先于对象,随类的加载而创建,只有一份,被所有对象共享。

类方法

定义:

@classmethod def 方法名称(cls,参数列表): 方法体

调用:类名.方法名(参数列表) 注意:不建议通过对象访问类方法。

至少有一个形参,第一个形参用于绑定类,一般命名为’cls’使用@classmethod修饰的目的是调用类方法时可以隐式传递类。类方法中不能访问实例成员,实例方法中可以访问类成员。类方法用于操作类变量,表示大家的行为。类变量:大家的数据。类方法:大家的行为。

静态方法

既不访问实例成员也不访问类成员。通常作为类中独立的工具函数。 定义:

@staticmethod def 方法名称(参数列表) 方法体

调用:类名.方法名(参数列表) 注意:不建议通过对象访问静态方法 使用@staticmethod修饰的目的是该方法不需要隐式传参数。

封装

将一些基本数据类型复合成一个自定义类型。向外提供必要的功能,隐藏实现的细节。

例如:

class Wife: def __init__(self,name,face_score,age): self.name=name self.face_score=face_score self.age=age

将数据与对数据的操作相关联。代码可读性更高(类是对象的模板)。

私有成员

作用:无需向类外提供的成员,可以通过私有化进行屏蔽。 做法:命名使用双下划线开头。 本质:障眼法,实际也可以访问。 私有成员的名称被修改,可以通过_dict_属性或dir函数查看

属性相关概念

属性@property 公开的实例变量,缺少逻辑验证。私有的实例变量与两个公开的方法相结合,又使调用者的操作略显复杂。而属性可以将两个方法的使用方式像变量一样方便。

定义:

@property def 属性名(self): return self.__属性名 @属性名.setter def 属性名(self,value): self.__属性名=value

调用: 对象.属性名=数据 变量=对象.属性名

说明:通常两个公开的属性(读、写),保护一个私有的变量。 @property负责读取,@属性名.setter 负责写入。

最新回复(0)