python双等号怎么输入_python中的星号‘*’和双星号‘**’的解说
一直以來(lái),對(duì)于python中函數(shù)參數(shù)傳遞過(guò)程中出現(xiàn)的*和**,理解的稀里糊涂的。最近看了一篇博文,描述的非常清楚,所以自己也抽空寫了一下,可以整理一下自己的思路,也可以幫助到像我一樣的白白小學(xué)生。
python中的‘*’和‘**’的使用分為兩個(gè)方面,一個(gè)是計(jì)算,另一個(gè)是參數(shù)傳遞過(guò)程中的打包和解包。計(jì)算功能
單*表示乘積,雙*表示乘冪
2.參數(shù)傳遞的打包和解包
對(duì)函數(shù)傳遞的參數(shù)進(jìn)行打包(成元組、列表或者字典)和拆解(分成單個(gè)元素),其中單用于元組和列表的打包和解包(非關(guān)鍵字參數(shù)),雙*用于字典的打包和解拆(關(guān)鍵字參數(shù))。
2.1打包
就是將傳遞給函數(shù)的任意多個(gè)(也可以是0個(gè))非關(guān)鍵字參數(shù)/關(guān)鍵字參數(shù)打包成一個(gè)元組/字典(元組只能接收非關(guān)鍵字參數(shù),字典只能接收關(guān)鍵字參數(shù))
在該例子中,*b這個(gè)位置可以接收任意多個(gè)(也可以是0個(gè))非關(guān)鍵字參數(shù),并將其打包成元組。
在該例子中,**b這個(gè)位置可以接收任意多個(gè)(也可以是0個(gè))關(guān)鍵字參數(shù),并將收集到的參數(shù)轉(zhuǎn)換成一個(gè)字典。
元組和字典混合的例子:
從上面的例子中可以看出,不加星號(hào)的參數(shù),是按照位置參數(shù)傳遞,而且必須有一個(gè)參數(shù)傳遞,b位置可以接收任意多個(gè)非關(guān)鍵字參數(shù),**c位置可以接收任意多個(gè)關(guān)鍵字參數(shù)。注意,兩者在函數(shù)定義中的順序不能顛倒。
2.2拆解
就是傳遞給函數(shù)的列表、元組、字典拆分成獨(dú)立的多個(gè)元素然后賦值給函數(shù)中參變量(包括普通的位置參數(shù)、關(guān)鍵字參數(shù)、非關(guān)鍵字參數(shù))。在拆解字典時(shí)會(huì)有兩種解法,一種使用解,解出來(lái)傳給函數(shù)的只有鍵值(.key),一種是**拆解,解出來(lái)的是字典的每一項(xiàng)。
python小白
2018-10-15
總結(jié)
以上是生活随笔為你收集整理的python双等号怎么输入_python中的星号‘*’和双星号‘**’的解说的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: win10截屏的方法是什么
- 下一篇: AWS ECR是什么意思