为了使 Python 看起来更熟悉,我尝试将运算符符号分配给变量的名称,仅用于教育目的:import operator
equals = operator.eq
这似乎适用于equals(a,b)
但不适用于a equals b
有没有办法表达,a equals b
而不是a == b
为了使 Python 看起来更熟悉,我尝试将运算符符号分配给变量的名称,仅用于教育目的:import operator
equals = operator.eq
这似乎适用于equals(a,b)
但不适用于a equals b
有没有办法表达,a equals b
而不是a == b
不,Python(和大多数主流语言)不允许这种定制。a equals b
在 Python 中,这种限制是有意为之的——对于任何熟悉 Python 的读者来说,这样的表达式看起来不合语法。
你能做的最好的就是
def equals(a,b):
return a == b
equals(1,5)
>> False
或者
class my:
value = 0
def equals(self, b):
return self.value == b
a = my()
a.equals(3)
>>False
但是您应该使用内置运算符来提高可读性。这样,读者可以立即区分运算符、函数、符号(变量)、成员函数等......