python简短语法_写出优雅简洁的 python 语法(二)函数传参
Python中函數傳遞參數的形式包含多種,可根據情況而定使用哪種方式。基本所有語言都有簡介明了的語法去替代繁瑣的代碼,優雅的寫法不僅能提升代碼美觀,更能提高提高開發效率,讓代碼更加易讀。
位置傳遞,默認參數
位置傳參須以正確的順序傳入函數。調用時的數量必須和聲明時的一樣。
函數參數必須傳遞,否則會報錯。
>>> def get_name(name):
>>> print('name:%s' % name)
>>> get_name()
Traceback (most recent call last):
File "test.py", line 4, in
get_name()
TypeError: get_name() missing 1 required positional argument: 'name'
這種情況可以通過默認參數來避免
>>> def get_name(name='tom'):
>>> print('name:%s' % name)
>>> get_name()
name:tom
這種傳參方式有一個弊端,如果參數過多需要挨個排列,不必要的參數也需要列出來,通過關鍵詞傳參可以解決這個弊端。
關鍵詞傳參
關鍵字參數和函數調用關系緊密,函數調用使用關鍵字參數來確定傳入的參數值。
>>> def get_name(name='tom', age=25, height=180, weight=70):
>>> print('他的名字叫 %s,今年 %s 歲,身高 %s 厘米,體重 %s 公斤。' % (name, age, height, weight))
>>> get_name(age=30)
這種方式可以通過參數名的方式按需傳遞參數,不必要的參數可以省略使用默認是。
不定長參數
在定義函數時,我們有時候并不知道調用的時候會傳遞多少個參數。
這個時候我們可以在函數參數前加加一個 * ,表示這個實參個數不定,可能為0個也可能為n個。不管傳遞多少參數,都會根據位置合并成一個元組(tuple
>>> def get_name(*name):
>>> print(name)
>>> get_name('tom', 'dog', 'mouse')
('tom', 'dog', 'mouse')
還有一種方式是添加兩個 *,也可以實現不定長傳參,最終會根據位置何合并成一個字典。
>>> def get_name(**params):
>>> print(params)
>>> get_name(name='tom', age=20)
{'name': 'tom', 'age': 20}
這種方式傳遞參數必須指定參數名,否則會報錯。
以上幾種方式可以混合使用,根據實際情況,選擇適合的方式。
總結
以上是生活随笔為你收集整理的python简短语法_写出优雅简洁的 python 语法(二)函数传参的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 炎帝和黄帝的传说是什么 炎帝和黄帝的传说
- 下一篇: 生物信息 python 书籍_用pyth