Python教程自学网欢迎您来学习!
当前位置: 首页 > django > python类属性和实例属性的区别

python类属性和实例属性的区别

   

python类属性和实例属性的区别

1、类属性和实例属性都定义在类中,但根本区别在于保存位置和调用对象不同。

2、类属性可以被类和属性访问,而实例属性只能被实例访问。

这是因为每次通过一个类创建一个实例对象,都会开辟一个内存空间来存储实例对象的属性和方法,以及类对象的指针。实例对象之所以能调用类中的方法,是因为它可以通过类对象指针访问类的属性和方法。

实例

# here put the import lib
 
 
class Dogs(object):
    # 类属性
    belongTo = "Animals"
 
    def __init__(self, name):
        #实例属性
        self.name = name
 
 
dog1 = Dogs("Sunny Chen")
print(Dogs.belongTo)  # 类属性通过类访问
print(dog1.name)  # 实例属性通过实例访问
print(dog1.belongTo)  #类属性也可以被实例访问
# print(Dogs.name)  # 但是实例属性无法被类访问

以上就是python类属性和实例属性的区别,希望对大家有所帮助。