我偶尔在 python 中使用 (lambda x:<code>)(<some input>)
,以保持我的命名空间(在全局命名空间或其他地方)的清洁度。 lambda 解决方案的一个问题是,就其可能包含的内容而言,它是一个非常有限的构造。
注意:这是javascript编程的习惯
这是保留命名空间的推荐方法吗?如果是这样,是否有更好的方法来实现自执行功能?
最佳答案
对于只在特定函数B中调用的函数A,可以在B中定义A,我认为不会污染命名空间。例如。,
代替 :
def a_fn():
//do something
def b_fn():
//do something
def c_fn():
b_fn()
a_fn()
你可以:
def c_fn():
def a_fn():
//do something
def b_fn():
//do something
b_fn()
a_fn()
虽然我不确定它是否是 pythonic 方式,但我通常喜欢这样。
关于python - python中的自执行函数,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/12049356/