上一篇
在学习 Python类属性 的过程中,很多初学者常常混淆“类属性”和“实例属性”的概念。本文将用通俗易懂的方式,带你全面了解 类变量、实例属性 以及它们在 面向对象编程 中的应用场景。

在 Python 中,类属性(也称为类变量)是定义在类内部、但在任何方法之外的变量。它被该类的所有实例共享。
举个例子:
class Dog: species = "Canis familiaris" # 这是一个类属性 def __init__(self, name): self.name = name # 这是一个实例属性# 创建两个实例dog1 = Dog("Buddy")dog2 = Dog("Max")print(dog1.species) # 输出: Canis familiarisprint(dog2.species) # 输出: Canis familiaris可以看到,species 是类属性,所有 Dog 实例都共享同一个值。而 name 是每个实例独有的,属于实例属性。
类属性常用于记录全局状态,比如统计创建了多少个对象:
class Student: total_students = 0 # 类属性,用于计数 def __init__(self, name): self.name = name Student.total_students += 1 # 每创建一个实例,计数加1s1 = Student("Alice")s2 = Student("Bob")print(Student.total_students) # 输出: 21. 不要用可变对象作为类属性默认值(如列表、字典),否则所有实例会共享同一个对象,导致意外行为:
# 错误示范 ❌class BadExample: shared_list = [] def add_item(self, item): self.shared_list.append(item)a = BadExample()b = BadExample()a.add_item("hello")print(b.shared_list) # 输出: ['hello'] —— 意外!正确做法是使用实例属性或在 __init__ 中初始化可变对象:
# 正确示范 ✅class GoodExample: def __init__(self): self.my_list = [] def add_item(self, item): self.my_list.append(item)掌握 Python类属性 是理解 面向对象编程 的关键一步。记住:
通过本教程,相信你已经对 类变量 和 实例属性 有了清晰的认识。快去写代码实践吧!
本文由主机测评网于2025-12-22发表在主机测评网_免费VPS_免费云服务器_免费独立服务器,如有疑问,请联系我们。
本文链接:https://vpshk.cn/20251211441.html