python 抽象语法树_用python演示一个简单的AST(抽象语法树)
生活随笔
收集整理的這篇文章主要介紹了
python 抽象语法树_用python演示一个简单的AST(抽象语法树)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
假設對‘a + 3 * b‘進行解釋,其中a=2,b=5
代碼很簡單,就不再進行詳細的解釋了。
Num = lambda env, n: n
Var = lambda env, x: env[x]
Add = lambda env, a, b:_eval(env, a) + _eval(env, b)
Mul = lambda env, a, b:_eval(env, a) * _eval(env, b)
_eval = lambda env, expr:expr[0](env, *expr[1:])
env = {'a':2, 'b':5}
tree = (Add, (Var, 'a'),
(Mul, (Num, 3),
(Var, 'b')))
print _eval(env, tree)
輸出結果為17
總結
以上是生活随笔為你收集整理的python 抽象语法树_用python演示一个简单的AST(抽象语法树)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 建行生活卡年费580怎么取消
- 下一篇: 信用卡主人死亡怎么办 这两种情况了解一下