关于Python Object继承的相关总结
在Python中所有的类都继基类object,基类object拥有__ setattr__()和__ getattribuate__()两个常用的方法,__ setattr__()用于根据指定的name设置对象中相应属性的value,而__ getattribuate__()用于通过相应的name获取对象中相应的属性的value。
当调用 instance. name = value 的形式的时候,默认调用instance.__ setattr__(name,value ),而当调用以下instance.name形式的时候,默认调用instance.__ getattr__(name)方法。
class Book(object):
'''
def __init__(self,name,value):
self.name = name
self.value = value
'''
def __setattr__(self,name,value):
object.__setattr__(self,name,value)
def __getattr__(self,name):
try:
return object.__getattribute__(name)
except:
return name + " is not found!"
def __str__(self):
return self.name + " Meet "+ str(self.value)
def main():
c = Book()
# c = Book('Python',"Hello World!")
c.name = 'Python'
c.value = "Hello World!"
c.hello = 'hello'
print(c.name)
print(c.value)
print(c)
if __name__ == '__main__':
main()
输出的结果如下所示:
Python
Hello World!
Python Meet Hello World!
[Finished in 0.3s]
更加具体的内容可以参见:
http://gohom.win/2015/10/20/pyObject/