python中带*(单星号)的变量和**(双星号)的变量
一、*args的使用方法
*args 用來將參數(shù)打包成tuple給函數(shù)體調(diào)用二、**kwargs的使用方法
**kwargs 打包關(guān)鍵字參數(shù)成dict給函數(shù)體調(diào)用注意點(diǎn):參數(shù)arg、*args、**kwargs三個(gè)參數(shù)的位置必須是一定的。必須是(arg,*args,**kwargs)這個(gè)順序,否則程序會(huì)報(bào)錯(cuò)。單星號(hào)變量實(shí)例(*)
單星號(hào)(*)的其它作用:
單星號(hào)變量不僅僅能夠用在函數(shù)的參數(shù)傳遞中,實(shí)際上對(duì)一個(gè)普通變量使用單星號(hào)前綴,能夠?qū)⑦@個(gè)變量拆分成單個(gè)元素。
#如果在變量前面使用單星號(hào),實(shí)際上是對(duì)變量的一次拆解操作,將變量中單獨(dú)的元素拆解出來,然后依次傳入one()函數(shù)
而傳入one()函數(shù)后,one()函數(shù)會(huì)將這些傳入的單個(gè)元素保存成一個(gè)元組,這就是為什么我們 print(x[0])能夠提取第一個(gè)元素的原因.
變量在傳入到單星號(hào)變量函數(shù)中時(shí),會(huì)將變量自動(dòng)轉(zhuǎn)化為元組,而元組是不能改變的。
另外,單星號(hào)是無法讀取到字典中的值的,永遠(yuǎn)只會(huì)讀取到字典中的鍵(key),如果想讀取到字典中的值,需要使用雙星號(hào)(**).
雙星號(hào)(**)變量實(shí)例
雙星號(hào)可以用來獲得字典的值
需要注意的是:
使用這種方法將字典傳入函數(shù)的時(shí)候,字典的鍵的命名要符合python變量的命名規(guī)則,通過上面的分析也不難看出,雙星號(hào)會(huì)將字典首先轉(zhuǎn)換成關(guān)鍵字參數(shù)的形式,就相當(dāng)于使用字典中的鍵作為變量名,如果鍵不符合變量命名規(guī)則,則會(huì)拋出一個(gè)"TypeError"異常。
參考:
(1) https://www.qingsword.com/qing/python-12.html
總結(jié)
以上是生活随笔為你收集整理的python中带*(单星号)的变量和**(双星号)的变量的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 脑皮质算法(2)一种基于新皮层网格细胞的
- 下一篇: Java:这是一份全面 详细的 Syn