有没有办法对功能进行分类 所以我可以调用这样的函数:
category something():
def test():
[Code]
def test2():
[Code]
something.test()
something.test2()
我想过使用类,但似乎总是需要一个实例,例如自我作为属性。
如果我错了,请随意纠正我,我对python不熟悉并且没有那么多经验。
目前,我一直在使用不同的文件,但我经常遇到循环依赖问题,并想询问是否有一个简单的解决方案来解决这个问题。
这是为了清理代码并知道当你有大量代码时函数可能属于scipt的哪一部分。
答案 0 :(得分:1)
您实际上并不需要实例 - 您可以将每个方法声明为(或实际上将其转换为)“静态”方法:
class Foo:
@staticmethod
def Bar(x, y):
return x + y
@staticmethod
def Baz(x, y):
return x - y
print(Foo.Bar(3, 4))
第一个参数作为对实例的引用的解释(通常,但不一定,称为self
)在静态方法中不会发生。
但是,创建充满静态方法的类将是class
的一些标签外使用。在Python中对资源进行分类的更常见方法是将它们划分为modules and packages(即单独的文件和/或目录):
# in Foo.py
def Bar(x, y):
return x + y
然后:
>>> import Foo
>>> Foo.Bar(3, 4)
7