擅长:python、mysql、java
<p>不能。表达式<code>5 == 5</code>被求值,然后结果才传递给someFunc。不管表达式是什么,函数只得到<code>True</code>(确切地说,是<code>True</code>对象)。</p>
<p>编辑:关于您的编辑,<a href="https://stackoverflow.com/questions/1179096/suggestions-for-python-assert-function">this question</a>有点接近。</p>
<p>编辑2:可以将表达式作为字符串传递并使用eval,如下所示:</p>
<pre><code>>>> def someFunc(expression_string):
... print(expression_string, "evaluates to", eval(expression_string))
>>> someFunc("5 == 5")
5 == 5 evaluates to True
</code></pre>
<p>不知道这对你有没有帮助。请记住<code>eval</code>是一个强大的工具,因此将任意(甚至可能是用户生成的)输入传递给它是危险的。</p>