课程
/后端开发
/Python
/python进阶
q求大佬解答
2018-12-09
源自:python进阶 2-8
正在回答
圆括号表示调用,就是执行,不加括号不会执行。
f,无括号,指向的是函数所在地址,并不执行函数,因为返回值返回的是函数地址,所以f = calc_prod([1, 2, 3, 4])
f(),有括号,执行该函数。因为要打印出来返回值,需要执行函数,所以print f()
我的理解:函数使用的时候要使用函数名和括号(有时还需要括号里面传入参数)。g不加括号,指的只是函数名,这时候调用的时候给出的:
<function g at 0x1037bf320>
给出的是这个函数所在的地址吧(猜的,我也不太清楚),不是函数的返回值
当加了括号之后g(),调用的是完整的函数,返回值就是函数的返回值
看这个变量是指向函数还是调用函数。
如abs这个函数:
f=abs 即f指向abs这个函数 print f 就会打印出所在地址
f(a) 则是值调用这个函数 ()内为空是调用此函数不需要参数 但要打出()表示调用
个人理解
好像是函数不加括号,方法要加
慕九州2485307 提问者
举报
学习函数式、模块和面向对象编程,掌握Python高级程序设计