有没有办法让属性和方法同名?
我的意思是可以按通常方式使用的属性and可同时调用?
像这样:
>>> b = Book()
>>> b.pages
123
>>> b.pages()
123
>>> b.pages(including_toc=False)
123
>>> b.pages(including_toc=True)
127
不,你不能。
()
总是调用object来自其左侧的表达式。
这意味着,b.pages()
可以读作如下:
_tmp = b.pages
_tmp()
正如你所看到的,方法are属性。
你什么could(但不应该)做的是将整数包装在一些自定义类中并提供__call__
方法……但我建议不要使用这种黑魔法。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)