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
有没有办法对函数进行分类 这样我就可以调用这样的函数:
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