首页 > 解决方案 > Python 运算符有哪些类型?

问题描述

我试图type(+)希望更多地了解这个运算符在 python 中是如何表示的,但我得到了SyntaxError: invalid syntax
我的主要问题是将表示操作的字符串:“3+4”转换为要在 Python 中计算的实际操作(因此有一个 int 作为返回值:7)。
如果可能,我还试图避免需要 os 库的简单解决方案。

标签: pythonpython-3.xpython-2.7

解决方案


运算符实际上没有类型,因为它们不是值。它们只是语法,其实现通常由魔术方法+定义(例如,由适当类型的__add__方法定义)。

你必须解析你的字符串:

  1. 首先,将其分解为令牌['3', '+', '4']
  2. +然后,将标记字符串解析为抽象语法树(即,存储有34作为其操作数的想法)。
  3. 最后,通过将存储在节点上的函数应用于存储在其子节点中的值来评估AST。

推荐阅读