【发布时间】:2021-04-06 22:49:01
【问题描述】:
Python 3.9 // Pycharm 社区版
def person(age):
print("I am a person")
def student(major):
print("I like learning")
def vacation(place):
print("But I need to take breaks")
print(age,"|",major,"|",place)
return vacation
return student
person(12)("Math")("beach")
------------------------------------------------------------
I am a person
I like learning
But I need to take breaks
12 | Math | beach
大家好。 我无法理解返回“假期”(和“学生”)的含义 为什么我要输入返回假期和返回学生? 我更改了 return 1 或 a.. 但它不起作用。
请帮帮我^^~
【问题讨论】:
-
这是一个函数返回一个函数返回一个函数。一步一步想,应该就清楚了
-
它在做 return 总是做同样的事情。
-
vacation是函数的唯一名称,那么vacation或student的值是什么?
-
person(12)形成一个闭包,该闭包返回一个接受单个参数(“Math”)的函数,该函数形成一个闭包,该闭包返回一个接受单个参数(“beach”)的函数。这些函数中的每一个都继承了封闭范围。阅读closures,它们并非特定于 Python,在函数式编程范例中非常常见。