Python基础学习(15)—面向对象3(类属性和实例属性)

mac2025-11-05  14

类属性和实例对象

1 类属性

1 类属性指的是定义在类中,但在各个类方法外的变量。

2 类属性的特点是:所有类的实例化对象都可以共享类变量的值,即类变量可以在所有实例化对象中作为公用资源。

下面举例详细说明类属性的性质

# 定义一个Classmates的类,添加两个类属性 class Classmates(): girl = '小红' boy = '小明' def info(self): print(Classmates.girl) print(Classmates.boy)# 小红 小明 a = Classmates() a.info() Classmates.girl = '小粒' Classmates.boy = '小刚' a.info() # 小粒 小刚 说明改变类变量的值会作用于该类所有的实例化对象 a.girl = 'sad' print(Classmates.girl) # 小粒 说明类属性只能通过类对象来修改,无法通过实例对象来修改

2 实例属性:

1 实例属性指的是通过实例对象添加的属性,也就是定义在类的方法中的属性,它的特点是:只作用于调用方法的对象

例如下面的name就是定义在类方法中的是属性,就是实例属性

2 实例属性只能通过实例属性来访问和修改,类对象无法访问和修改

定义一个Classmates的类,添加两个类属性

class Pets(): def __init__(self,name): self._name = name def info(self): print(self._name) a =Pets('哈士奇') a.info() # 哈士奇 # 修改实例属性 a._name = '兔子' a.info() # 兔子 # 添加实例属性 a.age = 2 print(a.age) # 2 # 不能通过实例给类添加属性 print(Pets.age) # AttributeError: type object 'Pets' has no attribute 'age'
最新回复(0)