一、函式的巢狀呼叫:
在呼叫乙個函式的時候,其內部的**又呼叫其它的函式
二、函式的巢狀定義:
在乙個函式的內部又定義了另乙個函式
三、命名空間與作用域
什麼是命名空間:是記憶體開闢存放 變數名和值的位址繫結關係 的地方。key-value 形式。
x=1;幹了什麼事情?
1.向記憶體申請一塊空間,將值1放進去。
2.將值1的記憶體位址與x變數名建立繫結關係
3.這個繫結關係和x變數名會存放在命名空間
要取得值必須通過名字才能找,而名字又在命名空間中存放,所以在取值時首先是去命名空間中找到名字,自然就拿到值的記憶體位址
四、命名空間分三種:
1.內建命名空間:存放python直譯器自帶的名字
生命週期:在直譯器啟動時產生,在直譯器關閉時**
作用範圍:
2.全域性命名空間:存放
生命週期:在執行py檔案生效,py檔案執行結束被**
作用範圍:
3.區域性命名空間:存放的是函式內部定義的名稱
生命週期:在呼叫函式時臨時生效,函式結束後,立即被**
作業範圍:
載入順序:內建命名空間-》全域性命名空間-》區域性命名空間
查詢順序:當前位置命名空間-》上級命名空間-》內建命名空間
五、作用域
域指的是範圍,作用域指的是作用範圍
分為:全域性作用範圍:包含內建命名空間與全域性命名空間。
特點:全域性有效,全域性存活。
區域性作用範圍:包含區域性命名空間的名字
特點:區域性有效,臨時存活
globals:返回的是全域性作用域中的名字dir(globals()['__builtins__']):返回的是全域性作用域內建的名字locals:返回的是區域性作用域的名字注意:被呼叫才會產生命名空間
函式的作用域關係是在函式定義階段決定的,與函式的呼叫位置無關
即在呼叫函式時,一定要在定義函式的位置尋找作用域關係
情況2:
情況3:
情況4:
六、global關鍵字,nonlocal關鍵字
global關鍵字的作用:在區域性宣告變數是來自於全域性的
nonlocal關鍵字的作用:在區域性宣告變數是來自於函式區域性的(不能出函式)
注意:(不能出函式)PYTHON基礎操作4
本操作各兩種方法對字串進行求差 求和 和求補 編寫程式要求使用者輸入兩個字串,然後輸出 同時在兩個字串 現的字元 在乙個字串 現而沒有在另乙個字串 現的字元 兩個字串中都沒有出現的字元。這裡需要使用set函式把字串轉換為集合。import string str1 input 請輸入第乙個字串 n s...
python基礎之函式 4
什麼是函式?function 英文 函式,功能 函式就是乙個具有特定功能的語法結構。作用 提高 的復用率,提高開發效率,減少後期的維護成本 基本結構 def 函式名 實現函式功能的 實現函式功能的 實現函式功能的 特徵 1.函式不呼叫不會執行 2.函式可以呼叫n次不受次數限制 函式名的定義 1.推薦...
python學習筆記 4 函式基礎
語法格式 def 函式名 函式封裝的 通過函式名 即可完成對函式的呼叫。注意,函式呼叫不能放在函式定義的前面。舉個栗子 定義函式 num1 num2,括號中的num1和num2為函式中定義的引數 defnum1 num2 num1,num2 result num1 num2 print result...