函式作用域

2022-04-02 12:00:43 字數 1044 閱讀 2510

"""函式作用域

"""name = "alex"

def foo():

name = "cql"

def bar():

print(name)

bar()

foo() # cql

# return 返回乙個函式

def test1():

print("test1")

def test():

print("test")

return test1 # 返回乙個函式,return可以返回意義東西.

res = test() # 返回乙個函式位址

print(res) # 列印函式位址

res() # 呼叫函式

# 函式作用域和在**呼叫沒有關係,和宣告的時候有關係

name = "alex"

def foo():

name = "cql"

def bar():

name = "wupeiqi"

print(name)

return bar

res = foo()

res() # wupeiqi

# 函式作用域和在**呼叫沒有關係,和宣告的時候有關係

name = "alex"

def foo():

name = "lhf"

def bar(): # def 函式定義只是載入到記憶體,不做任何執行

name = "wupeiqi"

def tt():

print(name) # 變數區域性沒有,找上一級找,上一級沒有,再往上一級找.

return tt

return bar

res = foo()

tt = res()

tt() # wupeiqi

# 另一種執行方式

foo()()() # wupeiqi

函式作用域

有巢狀函式的時候有return x的返回函式x的位址,沒有的則為none def f1 n1 f1 print f1中 n1 def f2 n2 f2 def f3 n3 f3 print f3中 n3 print f2中 n2 return f3 return f2 r1 f1 print r1 ...

函式作用域

匿名函式,lambda def f o if o 7 print o print list filter lambda o o 8,4,77 22,4 8 list filter f,4,77,22,4,8 列印的話會返回none 77,22 7722 8a 5deff global a 要用全域性...

函式作用域

函式作用域 呼叫函式時建立函式作用域,函式執行完畢以後,函式作用域銷毀 每呼叫一次,函式就會建立乙個新的函式作用域,它們之間是互相獨立的 在函式作用域中,可以訪問到全域性作用域的變數 在全域性作用域中無法訪問到函式作用域的變數 具體示例 當在函式作用域操作乙個變數時,它會先在自身作用域中尋找,如果有...