位置實參:不用明確形參名的傳參方式,一定按照位置給形參傳值
關鍵字實參:必須明確形參名字與值為形參傳值,可以不用按照位置
*****
注:混用
1.關鍵字實參必須出現在位置實參後
2.多個位置實參還是按照位置傳參
3.關鍵字實參為沒有從位置實參拿到值的形參傳值,可以不用按照指定順序
def fn2(a, b, c, d, e, f):
print(a, b, c, d, e, f)
fn2(10, 20, 30, e=100, f=500, d=200)
2.1位置形參 :positional argument
def fn(a, b, c):
print(a, b, c)
位置形參可以由 位置實參 與 關鍵字實參 來傳值
fn(10, 20, 30)
fn(a=10, b=20, c=30)
2.2預設形參
def fn(a=10,b=20):
print(a, b)
預設形參可以由 位置實參 與 關鍵字實參 來傳值,還可以不用傳值(採用自身預設值)
fn()
fn(20, 30)
fn(a=200, b=300)
fn(100) # 就給a傳
fn(b=100) # 就給b傳
**混用
# 位置形參與預設形參同時存在,預設形參必須在後
def fn1(a,b,c=10,d=20):
print(a, b, c, d)
# 位置形參必須傳值,預設形參分情況傳值
fn1(100, 200, d=1000)
2.3可變長形參
# 可變長形參會以 元組 形式接受 位置形參與預設形參未接受完的 所有傳入的位置實參,用索引來取第幾個
# 可變長形參只能由 位置實參 來傳值 *****
def fn(a, b=10, *args):
print(a, b)
print(args)
# 小細節:可變長形參只能接受位置實參的值,位置實參還必須在關鍵字實參前,
導致預設形參只能由位置實參來傳值
fn(1, 20, 100, 200) # 1給a 20給b,不能用b=20傳 100,200給args
# 前提:出現在 * 之後的形參
def fn(a, b=10, *, c, d=20, e):
pass
# c,d,e都是出現在*之後,都是關鍵字形參,由於必須由 關鍵字實參 來傳值,沒有順序的強行要求
# 可變長關鍵字形參:用來接收沒有被關鍵字形參接收完的關鍵字形參,也只能由關鍵字實參來傳值
# 用字典來存放資料
def fn(**kwargs):
print(kwargs)
fn(a=10,b=20) #
dic =
fn(**dic) #
def fn(a, b, c=10, *args, d, e=20, f, **kwargs):
pass
# 位置形參:a、b
# 預設形參:c
# 可變長位置形參:args
# 無初值關鍵字形參:d、f
# 有初值關鍵字形參:e
# 可變長關鍵字引數:kwargs
python之函式的引數詳解
不可變資料型別 數字number 含int float bool complex 字串string 元組tuple。當不可變資料型別被當作函式的引數,傳遞的是值,函式體內改變值時實際是生成新的物件,不會影響函式體外原來的值。例如 x 10 def print add ten x x 10 print...
函式引數詳解
程式設計方式 物件導向 面向過程 函式式程式設計 面向過程一般沒有返回值 例如 c 面向過程 就是執行上下文 沒有返回值 函式定義 就是封裝好的功能 關鍵字 def 函式的優點 優化 避免重複,方便修改 通用功能的呼叫 可重用 一致性 可擴充套件 形參 是在函式定義階段就規定的引數,它就相當於定義變...
PHP date函式引數詳解
ime 在php中是得到乙個數字,這個數字表示從1970 01 01到現在共走了多少秒,很奇怪吧 不過這樣方便計算,要找出前一天的時間就是 time 60 60 24 要找出前一年的時間就是 time 60 60 24 365 那麼如何把這個數字換成日期格式呢,就要用到date函式了 t time ...