2024-04-20 07:21:31 发布
网友
我有以下问题: 我想让一个类的方法在没有本地实例化对象的情况下全局可用。你知道吗
示例文件:a.py
class A(object): def __init__(self): return def sp_a(self): print "a" if __name__ == "__main__": return A()
文件:test\u a.py
import A def run(): sp_a()
谢谢
除了建议使用staticmethod的其他答案之外,您还可以这样做:
staticmethod
class A(object): @staticmethod def foo(): # code foo = A.foo
从这一点来说,foo是一个独立的名称,您可以直接从模块导入,而不必导入A。你知道吗
foo
A
如果它是无状态的,那么可以用@staticmethod修饰它,使其成为静态方法
class A(object): def __init__(self): return @staticmethod def sp_a(): print "a" if __name__ == "__main__": return A()
import A def run(): A.sp_a()
如果它是一个需要全局的方法,为什么要让它成为类的一部分呢?你知道吗
a.py公司
def sp_a(): print "a"
测试\u a.py
from a import sp_a def run(): sp_a()
除了建议使用
staticmethod
的其他答案之外,您还可以这样做:从这一点来说,
foo
是一个独立的名称,您可以直接从模块导入,而不必导入A
。你知道吗如果它是无状态的,那么可以用@staticmethod修饰它,使其成为静态方法
文件:test\u a.py
如果它是一个需要全局的方法,为什么要让它成为类的一部分呢?你知道吗
a.py公司
测试\u a.py
相关问题 更多 >
编程相关推荐