类变量和对象变量
Topic source更深刻一点,其实母版(类)既然已经构造出来了,直接使用也是可以的,当它是个始祖对象也行。
class Student(object): __count = 0 def __init__(self, name): self.name = name Student.__count+=1 def get(self): return Student.__count
def run(x): inp = input('attr:') if hasattr(Student,inp): func = getattr(Student,inp) print(func()) else: setattr(Student,inp,lambda x:x+1) func = getattr(Student,inp) print(func(x))
if __name__ == '__main__': print(Student('a').get()) run(10)
- 1
助人为乐的免爆面包
可以看到,运行程序的过程中,并未建立任何对象,一样可以用类的变量,充分说明类(母版)是程序开始就直接构建在内存中的。