Python:将模块用作类
当我尝试使用越来越多的功能编程(即减少类)时,我注意到我开始使用模块作为类:
#File foomod.py
foo = None
def get_foo():
global foo
if foo is None:
foo = 1 + 1
return foo
# main.py
import foomod
x = foomod.get_foo()
这也可能有理由
#File foo.py
class foo:
foo = None
@staticmethod
def get_foo(cls):
if cls.foo is None:
cls.foo = 1 + 1
return cls.foo
# main.py
from foo import Foo
x = Foo.get_foo()
有理由偏爱另一个?例如速度还是其他?
As I try to use more and more functional programming (i.e. use classes less), I have noticed I start to use modules as classes:
#File foomod.py
foo = None
def get_foo():
global foo
if foo is None:
foo = 1 + 1
return foo
# main.py
import foomod
x = foomod.get_foo()
This might as well be
#File foo.py
class foo:
foo = None
@staticmethod
def get_foo(cls):
if cls.foo is None:
cls.foo = 1 + 1
return cls.foo
# main.py
from foo import Foo
x = Foo.get_foo()
Is there any reason to favour one over the other? E.g. speed or something else?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论