我偶尔在 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/

10-16 12:12