day23_类的进阶

类里 可以定义两种属性
静态属性
动态属性
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

猜你喜欢

转载自www.cnblogs.com/wzc27229/p/11146136.html
今日推荐