如何在Python中定义自定义运算符?能否新增如.或x这类运算符?
Python能否创建全新运算符?
不行,Python不支持创建像.或x这类全新的自定义运算符,具体原因和替代方案如下:
- Python的运算符集合是语法层面内置的,解释器仅识别预定义的运算符符号(如
+、-、*),没有提供扩展新运算符的机制。 - 运算符重载的本质是让现有运算符对自定义类实例产生自定义行为,比如通过
__add__重载+,但始终依赖已有的运算符符号,无法凭空新增符号让解释器识别。 - 若要实现类似自定义运算符的功能,可通过以下方式模拟:
- 定义普通类方法,例如用
obj.custom_op(other)替代假想的自定义运算符 - 重载现有运算符实现特殊逻辑,比如利用
@符号(对应__matmul__方法)实现非矩阵乘法的自定义功能
- 定义普通类方法,例如用
内容的提问来源于stack exchange,提问作者TheRavenSpectre
相关产品推荐
相关产品推荐

