Python对函数进行分类

时间:2017-05-31 14:16:21

标签: python-2.7 categorization

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

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

    def test2():
        [Code]

something.test()
something.test2()

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

如果我错了,请随意纠正我,我对python不熟悉并且没有那么多经验。

目前,我一直在使用不同的文件,但我经常遇到循环依赖问题,并想询问是否有一个简单的解决方案来解决这个问题。

这是为了清理代码并知道当你有大量代码时函数可能属于scipt的哪一部分。

1 个答案:

答案 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