*號的魔法運用

  1. 函數的傳參:形參角度:第三種傳參方式。函數

    **動態參數:*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('蒸羊羔','蒸熊掌','蒸鹿尾','燒花鴨','燒企鵝')

    練習:寫一個函數,求傳入函數中的不定個數的數字實參的和。內存

    1. *的魔性用法作用域

    2. 形參角度的最終順序input

    3. 函數的傳參:形參角度:第四種傳參方式(瞭解)變量

    4. 從空間角度研究函數d3

      全局名稱空間: py文件運行時開闢的,存放的是執行的py文件(除去函數內部)的全部的變量與值(地址)的對應關係,整個py文件結束以後,纔會消失。文件

      臨時(局部)名稱空間: 函數執行時,在內存中臨時開闢的一個空間,存放的函數中的變量與值的對應關係,隨着函數的結束而消失。co

      內置名稱空間:input,print,內置函數等。d3

    5. 取值順序加載順序

      加載順序:上面這三個空間,誰先加載到內存。

      內置名稱空間 ----》 全局名稱空間 ----》 (函數執行時)臨時名稱空間

      取值順序:(就近原則)

    6. 做用域

      全局做用域:全局名稱空間,內置名稱空間。

      局部做用域:局部名稱空間。

    7. 內置函數:globals,locals

    8. 高階函數(嵌套函數)

相關文章
相關標籤/搜索
本站公眾號
   歡迎關注本站公眾號,獲取更多信息