【发布时间】:2015-07-08 14:43:00
【问题描述】:
我的代码中经常有执行以下操作的语句:
long_descriptive_variable_name = some_function(long_descriptive_variable_name)
这很清楚,但同时又冗长且有些多余。 Python中是否有任何方法可以通过使some_function充当“变异”(“就地”)函数来简化此语句?
例如,在 Julia one can often do 中:
some_function!(long_descriptive_variable_name)
这被分派到直接写入long_descriptive_variable_name 的some_function 版本,有效地更新了变量。
对于泛型函数some_function,有什么方法可以在 Python 中简明扼要地表达相同的意思吗?
如果对通用对象方法做同样的事情呢?即简化
long_variable_name = long_variable_name.method(arg1, arg2)
如果当前版本的 Python 无法(轻松)实现上述操作,是否有任何 PEP 考虑在不久的将来进行此更改?
【问题讨论】:
-
我认为此类任务没有直接的方法,但您可以在函数内创建一个
global变量并将返回结果分配给该变量。
标签: python python-3.x in-place mutating-function