python - Python 运算符有哪些类型?
问题描述
我试图type(+)
希望更多地了解这个运算符在 python 中是如何表示的,但我得到了SyntaxError: invalid syntax
。
我的主要问题是将表示操作的字符串:“3+4”转换为要在 Python 中计算的实际操作(因此有一个 int 作为返回值:7)。
如果可能,我还试图避免需要 os 库的简单解决方案。
解决方案
运算符实际上没有类型,因为它们不是值。它们只是语法,其实现通常由魔术方法+
定义(例如,由适当类型的__add__
方法定义)。
你必须解析你的字符串:
- 首先,将其分解为令牌:
['3', '+', '4']
+
然后,将标记字符串解析为抽象语法树(即,存储有3
和4
作为其操作数的想法)。- 最后,通过将存储在节点上的函数应用于存储在其子节点中的值来评估AST。
推荐阅读
- db2 - DB2 临时表 - 在 DB2 Z OS 中检索插入的数据
- python - 我可以使用 pd.DataFrame() 定义多个数据框吗?
- javascript - 在 javascript 上制作“Atari Breakout”类型的游戏。想知道如何在无需手动操作的情况下创建它们的想法
- flutter - 3 个小部件位置:图像顶部和图像加文本底部全宽
- flutter - 在测试和尝试设计付费墙时,Revenuecat 产品为空
- r - 如何创建以函数参数命名的对象并将它们全部绑定?
- amazon-web-services - 如何在 azure 管道中部署 Elastic beanstalk
- git - 由于缓存凭据错误,无法将代码推送到 Azure DevOps
- django - 酒店预订系统的按日期价格数据库设计(存储每个日期与在运行时计算)
- html - HTML 中的 meta 运行硬刷新