魔法方法
class Lauf(object):
#创建对象
def __new__(cls):
return super().__new__(cls)
#初始化对象
def __init__(self, title):
self.title = title
#属性方法, 方法当属性使用
@property
def get_title(self):
return self.__dict__ # 属性字典
#私有方法、私有属性,只能在类内部使用,类对象&实例对象都不能调用
def __run(self, speed):
print("running with speed: %s"%speed)
# obj.attr 获取属性不存在时,调用
def __getattr__(self, attr):
reutrn super().__getattr__(self, 'title')
#return self.__dict__.get("title")
# 获取属性时,执行, 不管存不存在
def __getattribute__(self, attr):
return object.__getattribute__(self, attr)
# d["title"] 时, 执行
def __getitem__(self, attr):
return object.__getitem__(self, attr)
#赋值
def __setitem__(self, attr, value):
#父类
object.__setitem__(self, attr, value)
#删除
def __delitem__(self, attr):
object.__delitem__(self, attr)
# 对象可调用
def __call__(self, *args, **kwargs):
print("对象执行了。。。。")