|
|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
class Counter:
def __init__(self):
super().__setattr__('counter', 0)
def __setattr__(self, name, value):
super().__setattr__('counter', self.counter + 1)
super().__setattr__(name, value)
def __delattr__(self, name):
super().__setattr__('counter', self.counter - 1)
super().__delattr__(name)
class Counter:
def __init__(self):
return super().__setattr__('counter', 0)
def __setattr__(self, name, value):
super().__setattr__('counter', self.counter + 1)
return super().__setattr__(name, value)
def __delattr__(self, name):
super().__setattr__('counter', self.counter - 1)
return super().__delattr__(name)
上面两个代码经过上机测试作用是一样的,那么什么时候返回一个函数什么时候运行一个函数,有点搞不懂这其中有什么区别和联系,哪一种更好?
看你的魔法方法是什么,如果是 __getattr__、__getitem__ 之类的就需要 return,其他的,比如 __setitem__、__setattr__ 都是不需要 return 的,你 return 了也没用。
|
|