我正在学习python中一类功能的概念(使用python 3.6.8(,无法弄清楚为什么下面的代码不显示任何错误。
def outer_fn(msg):
def inner_fn():
print(msg)
return inner_fn
outer_fn("text")
,因为这是一件非常好的事情。
有时您调用其副作用的函数(它打印某些东西,将某些东西保存到数据库,更改一些变量(,并且对返回值不感兴趣。Python不告诉您对返回值进行任何操作,它只是为您调用功能。
它没有显示错误,因为您的代码没有任何错误,您需要称呼自己的内部函数,例如:
outer = outer_fn("text")
outer() # call inner_fn
完整代码:
def outer_fn(msg): #outer function
def inner_fn(): #inner function
print(msg) #able to acces the variable of outer function
return inner_fn
outer = outer_fn("text")
outer() # call inner_fn
输出:
text