python 对象属性与类属性

Posted i勤能补拙

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python 对象属性与类属性相关的知识,希望对你有一定的参考价值。

class Person(object):
# 这里的属性实际上属于类属性(用类名来调用)
name = "person"
def __init__(self, name):
pass
#对象属性
self.name = name


print(Person.name)
per = Person("tom")
#对象属性的优先级高于类属性
print(per.name)
#动态的给对象添加对象属性
per.age = 18#只针对于当前对象生效,对于类创建的其他对象没有作用
print(Person.name)
print(per.age)
per2 = Person("lilei")
#print(per2.age) #没有age属性

#删除对象中的name属性,在调用会使用到同名的类属性
print(per2.name)
del per2.name
print(per2.name)

#注意:以后千万不要讲对象属性与类属性重名,因为对象属性会屏蔽掉类属性。但是当删除对象属性后,在使用又能使用类属性了。

以上是关于python 对象属性与类属性的主要内容,如果未能解决你的问题,请参考以下文章

[Python]-8-对象与类(中)

python24 面向对象的绑定方法 类与类之间的继承

python 继承与类属性的使用

Python之面向对象与类

Python中的类和方法使用举例

Python中类的属性方法及内置方法