1
默認參數值被python認爲是關鍵字參數嗎?我無法理解的區別默認參數值和關鍵字參數的區別?
我不明白這個線程Python normal arguments vs. keyword arguments
在一個側面說明,大多數教程和視頻系列似乎朝着巨蟒2.要面向*。我應該學習Python 3而不是Python 2,還是可以稍後輕鬆完成轉換。我只是因爲好奇才學習。
在此先感謝。
默認參數值被python認爲是關鍵字參數嗎?我無法理解的區別默認參數值和關鍵字參數的區別?
我不明白這個線程Python normal arguments vs. keyword arguments
在一個側面說明,大多數教程和視頻系列似乎朝着巨蟒2.要面向*。我應該學習Python 3而不是Python 2,還是可以稍後輕鬆完成轉換。我只是因爲好奇才學習。
在此先感謝。
這兩個概念都是(大部分)不同。
在函數定義方面,您已命名具有名稱的參數,並且您有可變參數擴展,一個用於位置參數(給出元組),另一個用於鍵盤參數(給出字典)。
實施例:
def f(a, b=5, *c, **d): return a, b, c, d
這個函數有兩個命名參數可用於定位或通過關鍵字(a
和b
)。 c
和d
採取所有其他給出的。
您可以使用位置參數以及關鍵字參數來調用此函數。
f(1)
f(a=1)
都返回
1, 5,(), {}
,因爲位置和關鍵字參數被分配到指定的參數。
可以如做
f(a=5, foo=12) or f(5, foo=12) # -> 5, 5,(), {'foo': 12}
f(1, 2, 3) # -> 1, 2, (3,), {}
在最後一個示例中,位置參數1和2中給出的命名參數a
和b
;超過3被放入元組c
。
你不能這樣做
f(b=90) # no value for a
f(12, a=90) # two values for a
如果還有unclearities,請讓我知道。