代码拉取完成,页面将自动刷新
# encoding=utf8 如果不加这一行会报错
class Person(object):
# 属于类
__decClsPrivate = r'i am a person class private'
decClsPublic = r'i am a person class public'
def __init__(self, name, age):
# 属于对象
self.name = name
self.age = age
self.__HSJ = 'HSJ'
@property
def getPriveDec(self):
return self.__decClsPrivate
# 实现拦截所有的特性访问(属性和方法),在访问的时候打log啥的(无论有没有属性都会调用)
def __getattribute__(self, item):
print (r"====access __getattribute__(访问了特性):====" + item)
# return object.__getattribute__(self, item)
return super(Person, self).__getattribute__(item)
# 对象获取不存在的属性值,会自动调用__getattr__方法(仅仅不存在时候调用)
def __getattr__(self, attr):
return (u'未找到属性%s' % attr)
if __name__ == '__main__':
aPerson = Person(r'hsj-xiaokang', 18)
# 什么叫做动态语言,类似js
print( aPerson.nameage)
aPerson.nameage = u"xiaokang-26"
print( aPerson.nameage)
print( aPerson.name)
print( aPerson.decClsPublic)
print( aPerson.getPriveDec)
aPerson.decClsPublic = u'我是aPerson,我修改了Person类对象属性?哈哈,修改不了,被你自己覆盖了!类似于js,会自己覆盖属性哈哈'
bPerson = Person(r'lby-ayou', 18)
print( bPerson.name)
print( bPerson.decClsPublic)
print( aPerson.decClsPublic)
print( bPerson.getPriveDec)
print(bPerson._Person__decClsPrivate)
print(bPerson._Person__HSJ)
print(Person._Person__decClsPrivate)
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。