python - 将函数分配给python中的变量,两种不同的方式
问题描述
我在 udemy 接受了 python 培训,突然发现在 python 中,我们可以将函数分配给变量,并且在我练习的过程中,我发现有两种方法可以完成。例如,假设我们定义一个函数hello()
如下:
def hello(name="Neel"):
return "hello "+name
现在考虑两个任务:
greet = hello
和
greet = hello()
所以我想知道他们之间有什么区别,幕后的画面怎么样?
解决方案
greet = hello
给你一个函数对象。当你print(greet)
会得到类似的东西<function object....>
。这是因为您将函数分配给hello
名为 的变量greet
。
greet = hello()
另一方面是将hello
函数的返回值赋给变量greet
。由于您name
在函数中的默认参数hello()
是Neel
,因此greet = hello()
本质上会导致print(greet)
给您hello Neel
which 是一个字符串(而不是一个函数对象。
希望这能回答你的问题!
推荐阅读
- curl - 代理服务中的端点 URL 地址无效
- c++ - 如何在 C++ 中挂起程序然后“取消挂起”它
- mysql - 无法在chrome浏览器、js文件中调用mysql代码
- swift - 有没有办法减少启动集合视图单元格的拖动所需的时间(长按)?
- python-3.x - 如何在将自定义数据集上传到 colab 期间修复错误?
- python - 存储 pd.readcsv 工作表名称
- python - Python Matplotlib/Seaborn/Jupyter - 将条形图放在错误的位置?
- ggplot2 - ggplot2 中的 stat_cor 函数:在两行上打印 R 值和 p 值
- uipath - 我们可以使用 UiPath 删除特定文件夹中的可用文件吗?
- bluetooth - iOS13如何控制何时出现蓝牙权限请求提示?