# 関数定義の雛形。Trueのexpressionを後で置き換える。 # ここで、string代入してもいいが、ASTのノードを置き換えた方が安全そうな気がする。 >>> defun=""" def foo(num): return True """ ... ... ... >>> # ASTにパースする >>> x=ast.parse(defun, mode='single') >>> x <_ast.Interactive object at 0x7f963f9c1950> >>> expression='num==42' # ASTでTrueにあたるノードを上の式に置き換える。 # body,valueのコンビネーションは試行錯誤でみつける。 # ASTをダンプする機能があったら簡単に見付かるだろう。 >>> x.body[0].body[0].value=ast.parse(exp