首页 > 解决方案 > 将函数分配给python中的变量,两种不同的方式

问题描述

我在 udemy 接受了 python 培训,突然发现在 python 中,我们可以将函数分配给变量,并且在我练习的过程中,我发现有两种方法可以完成。例如,假设我们定义一个函数hello()如下:

def hello(name="Neel"):
    return "hello "+name

现在考虑两个任务: greet = hellogreet = hello()

所以我想知道他们之间有什么区别,幕后的画面怎么样?

标签: pythonfunction

解决方案


greet = hello给你一个函数对象。当你print(greet)会得到类似的东西<function object....>。这是因为您将函数分配给hello名为 的变量greet

greet = hello()另一方面是将hello函数的返回值赋给变量greet。由于您name在函数中的默认参数hello()Neel,因此greet = hello()本质上会导致print(greet)给您hello Neelwhich 是一个字符串(而不是一个函数对象。

希望这能回答你的问题!


推荐阅读