标签:code 作用 int 函数 python函数 als c语言 接受 执行
前景知识概要:python函数名代表的是函数名的地址,类似于c语言中的指针。如果需要调用python函数,则需要使用函数名()的形式调用。如果在函数中返回的是函数名,则返回的是函数名相应的内存地址,通过一个参数接受此内存地址,可运行返回的函数。
如下代码
1 name = "tiger" 2 def foo(): 3 name = "tiger1" 4 def bar(): 5 name = "tiger bar" 6 print(name) 7 return bar #返回的是bar函数的内存地址 8 a = foo() #通过a变量接受bar函数的内存地址,如果运行a()则等同于bar() 9 print(a
<function foo.<locals>.bar at 0x0000027CB036FE18>
如果函数有多次嵌套:
1、函数foo()则表示运行一次foo函数,则得到bar的内存地址,可理解为bar=foo()
2、函数foo()(),通过变量替换法,为bar(),运行结果为打印name,也就是"bar",并且返回tt的内存地址,tt=bar()
3、函数foo()()(),同上tt(),打印name,也就是"tt"
查看以下执行结果,为了获取到tt的内存地址,一次会执行foo(),bar(),tt(),通过执行这一系列函数来获取内层函数的内存地址,并直接以内存地址加上()的方式执行。
1 def foo(): 2 name = "xxx" 3 def bar(): 4 name = "bar" 5 print(name) 6 def tt(): 7 name = "tt" 8 print(name) 9 return tt 10 return bar 11 12 foo()()()
执行结果为:
bar tt
标签:code 作用 int 函数 python函数 als c语言 接受 执行
原文地址:https://www.cnblogs.com/chrrydot/p/9784774.html