python可以处理未赋值的表达式参数吗?

2024-04-26 17:31:04 发布

您现在位置:Python中文网/ 问答频道 /正文

我想把一个语句传递给一个python函数。此语句只应在我对函数执行其他操作之后执行。默认情况下,python对语句求值,然后将其结果作为参数传递。在

有没有办法改变这种行为?在

我发现的唯一方法是将语句包装在函数中,然后传递函数。在


Tags: 方法函数情况传递函数语句办法
2条回答

大多数Python程序员都认为传递函数是解决这个问题最自然、最安全、最易维护的方法:

In [ 2]: add_one = lambda a: a+1

In [ 3]: def my_func2(a, statement):
   ....:     print a
   ....:     a = statement(a)
   ....:     print a
   ....:     

In [ 4]: a
Out[ 4]: 9

In [ 5]: my_func2(a, add_one)
9
10

但是有一个exec语句提供了一个不自然、不安全和可能令人困惑的替代方案:

^{pr2}$

老实说,我不明白你为什么要这样做。在

不,这是不可能的。表达式求值的结果传递给函数而不是表达式本身。您将在函数或lambda表达式中包装语句。在

相关问题 更多 >