在Python中重载标准偏旁(“()”)

2024-10-04 01:30:46 发布

您现在位置:Python中文网/ 问答频道 /正文

这应该很简单,但我没有用google搜索它:如何(如果有的话)在Python中重载parantesses操作符?所以这个代码是有意义的:

my_new_object = my_new_class()
x = my_new_object(5)

Tags: 代码newobjectmygoogleclass意义parantesses
3条回答

您需要在类上定义^{}。你知道吗

例如

>>> class Multiplier(object):
...    def __init__(self, num):
...        self.num = num
...    def __call__(self, other):
...        return self.num*other
...
>>> mul5 = Multiplier(5)
>>> mul5(6)
30

在类上定义^{}

class MyNewClass(object):
    def __call__(self, x):
        return x

您应该看看this document的“可调用类型”部分。特别是,您的类可以实现^{}。你知道吗

相关问题 更多 >