2024-04-26 17:31:04 发布
网友
我想把一个语句传递给一个python函数。此语句只应在我对函数执行其他操作之后执行。默认情况下,python对语句求值,然后将其结果作为参数传递。在
有没有办法改变这种行为?在
我发现的唯一方法是将语句包装在函数中,然后传递函数。在
大多数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语句提供了一个不自然、不安全和可能令人困惑的替代方案:
exec
老实说,我不明白你为什么要这样做。在
不,这是不可能的。表达式求值的结果传递给函数而不是表达式本身。您将在函数或lambda表达式中包装语句。在
大多数Python程序员都认为传递函数是解决这个问题最自然、最安全、最易维护的方法:
但是有一个
^{pr2}$exec
语句提供了一个不自然、不安全和可能令人困惑的替代方案:老实说,我不明白你为什么要这样做。在
不,这是不可能的。表达式求值的结果传递给函数而不是表达式本身。您将在函数或lambda表达式中包装语句。在
相关问题 更多 >
编程相关推荐