函式物件,函式巢狀,命名空間與作用域 未補充完

2022-08-17 01:48:20 字數 949 閱讀 2444

一,函式物件

函式是第一類物件,即函式可以當做資料傳遞

1.可以被引用

2.可以當做引數傳遞

len(x)

deffoo(m):

#print(m)

m()foo(func)

3.返回值可以是函式

def foo(x): #

x=func

return x #

return func

res=foo(func)

print

(res)

res()

4.可以當作容器型別的元素

l=[x,]

l=[func,]

#print(l)

l[0]()

利用該特性,優雅的取代多分支的if語句:

def

login():

print("登陸"

)def

register():

print("註冊"

)def

shopping():

print("購物"

)res = input("

請選擇功能名稱:")

#if res == "login":

#login()

#elif res == "register":

#register()

#elif res == "shopping":

#shopping()

#else:

#print("輸入有誤")

funcdic =

if res in

funcdic:

funcdic[res]()

else

:

print("

輸入有誤!

")

函式物件,巢狀,命名空間與作用域

1 函式名可以被傳遞 2 函式名可以被當做引數傳遞給其餘函式 3 函式名可以當做函式的返回值 4 函式名可以當做容器型別的引數 例如 函式名可以被傳遞給變數 deffunc print test f func 變數名f指向函式的記憶體位址 通過該記憶體位址該變數可以找到函式對應的 塊 f 變數名f呼...

命名空間與作用域,函式物件,函式巢狀,閉包函式

命名空間的分類 全域性命名空間 在py檔案中頂格編寫的 執行之後都會存入全域性命名空間 區域性命名空間 函式體 執行之後產生的都是區域性命名空間 內建命名空間 input built in 內建 全域性命名空間 x 10 變數名x y 20 變數名y f 1 0 z 30 with open a.t...

函式物件 函式的巢狀 命名空間及作用域

函式物件 定義 函式是第一類物件 函式名指向的值可以被當做引數傳遞 1.函式名可以被傳遞 name jason x name print x print id x def func print from func print func print id func f func func print ...