函数作用域

Posted windows-phone

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了函数作用域相关的知识,希望对你有一定的参考价值。

 

技术分享图片


"""
函数作用域
"""

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

 


















































以上是关于函数作用域的主要内容,如果未能解决你的问题,请参考以下文章

JS作用域作用域链

JavaScript 作用域 与 作用域链

JS---闭包

JavaScript ES6 的let和const

Bash的变量类型

作用域是什么?