Python类的属性和类的实例属性

a表示类的属性,而self.a表示类的实例属性,实例属性只能在__init__中定义,且不可通过类名来调用实例属性,如下面的print(A.b)

class A:
    a = 1   # 类的属性
    def __init__(self):
        self.b = 2 # 实例属性
        c = 3
    def fun(self):
        self.e = 4
        f = 5

ex = A()
print(ex.a) # 显示 1
print(ex.b) # 显示 2
print(ex.c) # error 类无c属性,c只是—init函数内部的一个变量
print(ex.e) # error 类无e属性,实例对象应该在__init__函数中定义,在类中其他函数中定义则不能成为实例属性被实例调用
print(ex.f) # error 类无f属性,同上f也只是fun函数内部的一个变量,无法在外部使用

print(A.a) # 显示 1
print(A.b) # error 不可通过类来调用实例属性,(类.实例属性)

猜你喜欢

转载自blog.csdn.net/hou9021/article/details/114950940