在物件導向程式設計中 一切皆物件
函式在python中是第一類物件
函式的巢狀呼叫
在函式內呼叫了其他函式
deffunc():
print('
hello world !')
deffunc1(func):
print('
hello china !')
func()
f = func1(func)
函式的巢狀定義
在函式內又定義了其他函式,定義在函式內部的函式只能在函式內部用
deffunc():
print("
hello world !")
deffunc1():
print("
hello china
")
全域性命名空間
區域性命名空間
命名空間的載入順序:內建 >>> 全域性 >>> 區域性
命名空間的查詢順序:區域性 >>> 全域性 >>> 內建
區域性作用域:包含區域性命名空間的名字
globals(檢視全域性作用域中的內容) 表示的全域性範圍 就是所謂的全域性作用域
print(dir(globals()["__builtins__
"]))
locals(檢視區域性作用域中的內容)要注意的是你在全域性中使用locals看到的就是全域性的內容,與globals沒有什麼區別。
print(locals()) #在全域性中檢視作用域,相當於globals
deffunc():
a = 100
print(locals()) #
在區域性空間檢視作用域
func()
global:明確宣告,要使用全域性中的名稱
注意:你在全域性中使用locals 看到的就是全域性的內容
python 函式高階 python 函式高階
形參角度 萬能引數 動態接收位置引數 args 動態接收關鍵字引數 kwargs 的魔性用法 函式定義時 代表聚合。他將所有的位置引數 聚合成乙個元組,賦值給了args 函式定義時 將所有的關鍵字引數聚合成乙個字典中,將這個字典賦給了 kwargs 和 在函式的呼叫時 代表打散 僅限關鍵字引數 de...
Python高階 函式高階
閉包 closure 常規函式中可以在函式的引數中新增引數的預設值來簡化函式的操作,偏函式也可以做到這一點,而且會更加的方便管理函式的操作。通過內建模組functools的partial進行定義和處理 語法結構 新函式名稱 functools.partial 函式名稱,預設賦值引數 例如 全域性函式...
python 函式 高階函式
filter 函式是 python 內建的另乙個有用的高階函式,filter 函式接收乙個函式 f 和乙個list,這個函式 f 的作用是對每個元素進行判斷,返回 true或 false,filter 根據判斷結果自動過濾掉不符合條件的元素,返回由符合條件元素組成的新list。例如判斷奇偶數 def...