python學習筆記10 函數 動態參數 作用域命名空間 global nonlocal

*動態位置參數

def  chi(*food)        動態傳參:可以傳入任意的參數,以tuple元組類型接收

位置參數>動態參數>默認值參數    此種情況默認值參數永遠生效,要給默認參數賦值,需要使用關鍵字參數

**動態關鍵字參數 

def chi(**food)

chi(good_food="hamburger",good_drink="cola",adfasdf="sdfkasdfj")  

動態關鍵詞參數 **動態關鍵字參數  可以接受關鍵字賦值形式的任意參數,形參命名對實參沒有限制作用,以dic字典類型接收

參數位置: *args, 默認值, **kwargs

命名空間:

        1 內置命名空間: python解釋內部運行時的變量函數

        2 全局命名空間: 我們在py文件中直接聲明出來的變量,函數

        3 局部命名空間: 在函數內部聲明的變量和函數

加載順序: 內置>全局>局部

取值順序: 局部>全局>內置 內部沒有的話就找外部

作用域命名空間

1 全局作用域: 全局命名空間+內置命名空間

2 局部作用域: 局部命名空間

globals( ) 獲取到全局作用域中的所有名字

locals( ) 查看當前作用域中的所有名字

函數嵌套: 注意沒有在def函數後縮進的即爲非define內容,要直接執行

global a    擴展其作用域,使a成爲全局變量,如果全局變量有a,則使將全部變量的值引入

nonlocal a 擴展其作用域,將局部作用域中離它最近的變量引入

 

 

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章