【问题标题】:what do 'return vacation' and 'return student' mean?“回国假期”和“回国学生”是什么意思?
【发布时间】: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,在函数式编程范例中非常常见。

标签: python return


【解决方案1】:

我认为有两点需要考虑。首先,您可以在一个函数中使用多个参数:def person(age, major, place)。其次,不需要return 任何东西,因为该函数不处理要返回的任何东西,而只是打印输出。这样可以显着清理您的代码:

def person(age, major, place):
    print("I am a person")
    print("I like learning")
    print("But I need to take breaks")
    print(str(age),"|",major,"|",place)
    
person(12, 'Math', 'beach')

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-06-26
    • 2013-04-05
    • 2018-06-09
    • 1970-01-01
    • 1970-01-01
    • 2019-12-25
    • 2011-06-13
    • 2013-04-25
    相关资源
    最近更新 更多