函數的傳參:形參角度:第三種傳參方式。函數
**動態參數:*args**code
# def eat(food1,food2,food3): # print(f'我請你吃:{food1},{food2},{food3}') # eat('蒸羊羔','蒸熊掌','蒸鹿尾') # 當給函數傳入的參數數目不定時,以前的傳參方式解決不了問題。 # 萬能參數,動態參數。 *args # def eat(food1,food2,food3): # print(f'我請你吃:{food1},{food2},{food3}') # eat('蒸羊羔','蒸熊掌','蒸鹿尾','燒花鴨','燒企鵝') def eat(*args): # 將實參角度:定義一個函數時,* 全部的位置參數聚合到一個元組中。 print(args) print(f'我請你吃:{args}') eat('蒸羊羔','蒸熊掌','蒸鹿尾','燒花鴨','燒企鵝')
練習:寫一個函數,求傳入函數中的不定個數的數字實參的和。內存
*的魔性用法作用域
形參角度的最終順序input
函數的傳參:形參角度:第四種傳參方式(瞭解)變量
從空間角度研究函數d3
全局名稱空間: py文件運行時開闢的,存放的是執行的py文件(除去函數內部)的全部的變量與值(地址)的對應關係,整個py文件結束以後,纔會消失。文件
臨時(局部)名稱空間: 函數執行時,在內存中臨時開闢的一個空間,存放的函數中的變量與值的對應關係,隨着函數的結束而消失。co
內置名稱空間:input,print,內置函數等。d3
取值順序加載順序
加載順序:上面這三個空間,誰先加載到內存。
內置名稱空間 ----》 全局名稱空間 ----》 (函數執行時)臨時名稱空間
取值順序:(就近原則)
做用域
全局做用域:全局名稱空間,內置名稱空間。
局部做用域:局部名稱空間。
內置函數:globals,locals
高階函數(嵌套函數)