Python 分类函数

Python categorize functions

有没有办法对函数进行分类 这样我就可以调用这样的函数:

category something():
    def test():
        [Code]

    def test2():
        [Code]

something.test()
something.test2()

我想过使用 类,但似乎他们总是需要一个实例,例如self 作为属性。

如果我错了,请随时纠正我,我是 python 的新手,没有那么多经验。

目前,我一直在为此使用不同的文件,但我经常 运行 陷入循环依赖问题,想询问是否有解决此问题的简单方法。

这是为了稍微清理一下代码,并在您有很多代码时了解函数可能属于 scipt 的哪一部分。

您实际上不需要实例 - 您可以将每个方法声明为(或者,实际上,将其转换为)"static" 方法:

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(即单独的文件and/or目录):

# in Foo.py
def Bar(x, y):
    return x + y

然后:

>>> import Foo
>>> Foo.Bar(3, 4)
7