更新时间:2023-06-02 来源:黑马程序员 浏览量:
Python中的类变量和实例变量是两种不同类型的变量,它们在作用域和访问方式上有所不同。
类变量是定义在类中,但在方法之外的变量。它们被所有类的实例共享,并且可以通过类名或实例来访问。类变量通常用于存储与该类的所有实例相关的共享数据。
实例变量是定义在方法中或构造函数中的变量。每个实例都有自己的一组实例变量,并且它们与该实例的特定属性相关联。实例变量的值可以在每个实例中单独设置和访问。
下面是一个简单的示例代码来演示类变量和实例变量的区别:
class MyClass: class_var = 0 # 类变量 def __init__(self, instance_var): self.instance_var = instance_var # 实例变量 # 创建两个实例 obj1 = MyClass(10) obj2 = MyClass(20) # 访问类变量 print("Class variable:", MyClass.class_var) # 输出: Class variable: 0 print("Class variable (via instance):", obj1.class_var) # 输出: Class variable (via instance): 0 # 修改类变量 MyClass.class_var = 5 print("Modified class variable (via class):", MyClass.class_var) # 输出: Modified class variable (via class): 5 print("Modified class variable (via instance):", obj2.class_var) # 输出: Modified class variable (via instance): 5 # 访问实例变量 print("Instance variable (obj1):", obj1.instance_var) # 输出: Instance variable (obj1): 10 print("Instance variable (obj2):", obj2.instance_var) # 输出: Instance variable (obj2): 20 # 修改实例变量 obj1.instance_var = 15 print("Modified instance variable (obj1):", obj1.instance_var) # 输出: Modified instance variable (obj1): 15 print("Instance variable (obj2):", obj2.instance_var) # 输出: Instance variable (obj2): 20
在上面的示例中,class_var是一个类变量,可以通过类名或实例来访问。instance_var是一个实例变量,每个实例都有自己的副本,并且只能通过实例来访问。修改类变量的值会影响所有实例,但修改实例变量的值只会影响该实例本身。
【AI设计】北京143期毕业仅36天,全员拿下高薪offer!黑马AI设计连续6期100%高薪就业
2025-09-19【跨境电商运营】深圳跨境电商运营毕业22个工作日,就业率91%+,最高薪资达13500元
2025-09-19【AI运维】郑州运维1期就业班,毕业14个工作日,班级93%同学已拿到Offer, 一线均薪资 1W+
2025-09-19【AI鸿蒙开发】上海校区AI鸿蒙开发4期5期,距离毕业21天,就业率91%,平均薪资14046元
2025-09-19【AI大模型开发-Python】毕业33个工作日,就业率已达到94.55%,班均薪资20763元
2025-09-19【AI智能应用开发-Java】毕业5个工作日就业率98.18%,最高薪资 17.5k*13薪,全班平均薪资9244元
2025-09-19