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