是否有一种方法来命名一个函数和类在python相同的事情?



我正在一个模块上工作,我希望用户能够同时使用a(x)(函数"a")和a.b(x)(类"a"with function "b"),但Python似乎不允许我这样做。还有别的办法吗?

你可以这样做:

class Func:
def __call__(self, x):
return self.b(x)
def b(self, x):
return x ** 2
a = Func()
print(a(2))
print(a.b(2))

本质上,你重载调用操作符,使对象可调用,在这种情况下,你只是在对象内部调用所需的函数b

瞧,你已经实现了你想要的。

相关内容

  • 没有找到相关文章

最新更新