【发布时间】:2014-12-06 17:56:55
【问题描述】:
我正在尝试执行以下语句:
¬ = lambda x: not x
但我收到以下错误:
File "<stdin>", line 1
¬ = lambda x: not x
^
SyntaxError: invalid character in identifier
好的,我知道这在 Python 中是一个无效的句子,但我正在寻找一种允许我使用这种语法的解决方案。
我的目标是创建一个脚本来轻松地运行命题逻辑,如果我能做到,我就可以用糖语法做一些事情,如下所示:
¬ False
>>>True
【问题讨论】:
-
简短回答:你不能。长答案:不是以可移植的方式,编辑 Python 语法并重新编译,但不要指望您的脚本可以在其他任何地方运行。
-
你为什么要重新利用 Python 来制作另一种语言?为什么不直接解析输入然后执行结果呢?你可以使用sympy's propositional logic support 来执行。
-
我只是在学习@MartijnPieters,我不想制作另一种语言或任何关于它的东西,Python 是一种强大的语言,并且有很多好的库和模块,比如你展示的逻辑模块.如果没办法,好的,我明白了,不好意思问了。
标签: python python-3.x syntax lambda