在python中定义类的属性有两种,一是类成员,二是实例成员。
- 类成员是在类中所有方法之外定义的数据成员,属于这个类,(个人理解就是静态属性,类似于java中被static修饰的);
- 实例成员一般是指在构造函数
__init__()
中定义的,定义和使用时必须以self
作为前缀,属于实例对象。
他们的区别如下:
- 在主程序中(或类的外部),实例成员属于实例(即对象),只能通过对象名访问;
而类成员属于类,可以通过类名或对象名访问。 - 在类的方法中可以调用类本身的其他方法,也可以访问类成员以及实例成员。
- 与很多面向对象程序设计语言不同,Python允许动态地为类和对象增加成员,这是Python动态类型特点的重要体现。
一个例子:
class Car:
price = 150000 #类成员
def __init__(self,color):
self.colour = color #实例成员
car_1 = Car('红色') #创建对象
print(car_1.price,Car.price,car_1.color) #访问类成员和实例成员并输出
Car.name = 'Audi' #增加类成员
car_1.wheelNum = 4 #增加实例成员
print(car_1.wheelNum,car_1.name,Car.name) #访问类成员和实例成员并输出
print(Car.color) # 报错,color属于实例成员
其他关于python类的语法参考:https://blog.csdn.net/qq_62789540/article/details/122482850