關鍵字參數(shù): 形如 kwarg = value
參數(shù)類型:
- 必備參數(shù)
- 命名參數(shù)
- 缺省參數(shù)
- 不定長參數(shù)
必備參數(shù)
必須以正確的順序傳入函數(shù),調用時的數(shù)量必須和聲明時的一樣
不然會出現(xiàn)語法錯誤
def printme(str):
# 打印任何傳入的字符串
print str
return
printme() # 語法錯誤,必須傳值
廖雪峰大神說:
位置參數(shù) : 調用函數(shù)時,傳入的值依順序賦值
默認參數(shù): 調用函數(shù)時,默認參數(shù)可不賦值,默認參數(shù)必須只想不變對象
可變參數(shù): 定義函數(shù)時,在參數(shù)前面添加 * 符號,在函數(shù)內部,參數(shù)接收到的就是一個tuple
Python 允許在list 或tuple 前面加一個 * 號,把list 或tuple 的元素變成可變參數(shù)傳進去關鍵字參數(shù): 允許傳入0個或任意個含參數(shù)名的參數(shù),這些關鍵字參數(shù)在函數(shù)內部自動組裝為一個dict ,在參數(shù)前面添加 ** 符號
命名關鍵字參數(shù): 可限制關鍵字參數(shù)傳入
需要分隔符 * ,* 后面的參數(shù)視為命名關鍵字參數(shù)
如果函數(shù)定義中已經(jīng)又一個可變參數(shù),后面就不再需要 特殊分隔符 *
參數(shù)定義的順序必須是:必選參數(shù)、默認參數(shù)、可變參數(shù)、命名關鍵字參數(shù)和關鍵字參數(shù)。
遍歷技巧
# 在字典中遍歷時,關鍵字和對應的值可以使用 items() 方法同時解讀出來:
>>> knights = {'gallahad': 'the pure', 'robin': 'the brave'}
>>> for k, v in knights.items():
... print(k, v)
...
# 在序列中遍歷時,索引位置和對應值可以使用 enumerate() 函數(shù)同時得到:
>>> for i, v in enumerate(['tic', 'tac', 'toe']):
... print(i, v)
...
#同時遍歷兩個或更多的序列,可以使用 zip() 組合:
>>> questions = ['name', 'quest', 'favorite color']
>>> answers = ['lancelot', 'the holy grail', 'blue']
>>> for q, a in zip(questions, answers):
... print('What is your {0}? It is {1}.'.format(q, a))
...