在Python中,对象和类紧密相连,它们各自拥有一些属性,这些属性在我们的编程中起着至关重要的作用。那么,什么是类属性和对象属性呢?别急,让我慢慢给你解释。
-
类属性
-
首先,类属性是定义在类本身上的属性,而不是特定对象上的属性。这意味着,所有的对象实例都会共享同一个类属性。你可以把它想象成一群人共享的房间。每个人都可以进入这个房间,但它不属于任何人。
2.对象属性
-
对象属性是定义在特定对象上的属性。每个对象都有自己的对象属性,这些属性是独一无二的,只属于特定的对象。你可以把它想象成每个人自己的房间。每个人都有自己的房间,这些房间是独一无二的,只属于他们自己。
3.举例说明
现在,让我们通过一个简单的例子来理解这两种属性的区别。
-
定义类
class Dog():# 类属性name = "八哥"# 构造函数:定义在构造函数中的属性一般叫对象属性def __init__(self, weight, height):self.weight = weightself.height = height# 创建对象
dog = Dog(60, 120)
# 通过类名访问类属性(推荐)
print(Dog.name)
# 通过对象访问类属性(不推荐)
print(dog.name)# 通过对象修改对象的属性
print(dog.weight)
dog.weight = 88
print(dog.weight)# 通过类名修改类的属性
print(Dog.name)
Dog.name = "牧羊犬"
print(Dog.name)
-
执行结果
八哥
八哥
60
88
八哥
牧羊犬
4.总结
-
一般情况下使用类名完成对类属性的访问和修改
-
一般情况下使用对象名完成对对象属性的访问和修改