一般来说,从 a 返回 None 是否合理?__new__
方法,如果类的用户知道有时构造函数的计算结果为 None?
该文档并不意味着它是非法的,而且我没有看到任何直接问题(因为__init__
不会被调用, None 不是相关自定义类的实例!)。但我担心
- 是否可能存在其他不可预见的问题
- 让构造函数返回 None 是否是一个好的编程习惯
具体例子:
class MyNumber(int):
def __new__(cls, value): # value is a string (usually) parsed from a file
if value == 'N.A.':
return None
return int.__new__(cls, value)
这并不违法。如果结果没有发生任何奇怪的事情,它就会起作用。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)