python-当函数赋给变量时带括号与不带括号的区别
python-当函数赋给变量时带括号与不带括号的区别
参见下面的例子:
def test():
print("call the test func")
return 0
p = test
print("type(p): ", type(p))
print('----------------------------------')
p = test()
print("type(p): ", type(p))
# 相当于是给print()函数取了一个别名
p = print
p("oh, oh, oh")
输出:
type(p): <class 'function'>
p = <function test at 0x000002BBFF0FA4D0>
----------------------------------
call the test func
type(p): <class 'int'>
p = 20
oh, oh, oh
结论:
- 当不带括号的时候相当于是把这个函数对象赋值给变量(注意:并不会真的去执行该函数)
- 当带括号的时候相当于是把这个函数的返回值赋值给变量(由于要得到返回值,所以会真的执行)
- 当不带括号的时候将函数赋值给变量,相当于是给该函数新取了一个别名。
如果您觉得阅读本文对您有帮助,请点一下“推荐”按钮,您的“推荐”将是我最大的写作动力!欢迎各位转载,但是未经作者本人同意,转载文章之后必须在文章页面明显位置给出作者和原文连接,否则保留追究法律责任的权利。
分类:
python-错误笔记
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 记一次.NET内存居高不下排查解决与启示