类里 可以定义两种属性
静态属性
动态属性
class Course: language = 'Chinese' def __init__(self,teacher,course_name,period,price): self.teacher = teacher self.name = course_name self.period = period self.price = price def func(self): pass Course.language = 'English' #可以依次修改静态属性 print(Course.language)
python = Course('egon','python','6 months',20000) linux = Course('oldboy','linux','6 months',20000)
print(python.language) #实例化对象也可以访问静态属性
print(linux.language)
类中的静态变量 可以被对象和类调用
对于不可变数据类型来说,类变量最好用类名操作
对于可变数据类型来说,对象名的修改是共享的,重新赋值是独立的
-------------------------------------------------------------
创建一个类,每实例化一个对象就计数
最终所有的对象共享这个数据
class Foo: count = 0 def __init__(self): Foo.count += 1 # 必须通过类名调用,才能共享数据 f1 = Foo() f2 = Foo() print(f1.count)-----------2 print(f2.count)-----------2 f3 = Foo() print(f1.count)----------3