在模块代码中初始化模块中的对象是不好的做法吗?
in Module.py
:
class _Foo(object):
def __init__(self):
self.x = 'Foo'
Foo = _Foo()
与用户代码相比,您可以:
>>> from Module import Foo
>>> print Foo.x
'Foo'
>>>
...无需在用户代码中初始化 Foo 类。当然,仅当您不需要参数来初始化对象时才有用。
有理由不这样做吗?
通常,您只想运行使模块可用所需的最低限度。这将对性能(加载时间)产生总体影响,并且还可以使调试更容易。
此外,通常会从任何给定的类创建多个实例。
话虽如此,如果您有充分的理由(例如只想要一个类的一个实例),那么一定要在加载时初始化它。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)