【发布时间】:2017-07-13 06:50:12
【问题描述】:
我想知道这种“链式”命名参数是否有最佳实践或约定。我正在尝试通过foo 将第一个变量d 传递给bar。这样做有点尴尬,我相信应该有更聪明的方法,但今天翻阅了大量文件后仍然没有任何线索。
def bar(a=0, b=0, c=0, d=0):
print(a,b,c,d)
def foo(b=0,d=0):
bar(d=d)
foo(d=1)
#(0,0,0,1)
【问题讨论】:
-
在
foo中,您正在调用test()。应该是bar()? -
如果不使用
foo,为什么还要有b参数? -
抱歉错字...已修正。
-
在某些情况下,一种语言应该需要明确的文本来表达正在发生的事情。这是一。我使用的语言使调用者的参数在被调用者中可用。这或多或少是一场灾难。如果你的意思是传递一个地图,那么传递一个(散列)地图。
-
foo有b作为参数只是一个假设,函数中应该有许多其他变量用于其他情况。谢谢!