为了账号安全,请及时绑定邮箱和手机立即绑定

为什么f有时候有括号有时候又没有括号呢?

https://img1.sycdn.imooc.com//5c0ceff20001744e02840161.jpgq求大佬解答

正在回答

5 回答

圆括号表示调用,就是执行,不加括号不会执行。

0 回复 有任何疑惑可以回复我~

f,无括号,指向的是函数所在地址,并不执行函数,因为返回值返回的是函数地址,所以f = calc_prod([1, 2, 3, 4])

f(),有括号,执行该函数。因为要打印出来返回值,需要执行函数,所以print f()

0 回复 有任何疑惑可以回复我~

我的理解:函数使用的时候要使用函数名和括号(有时还需要括号里面传入参数)。g不加括号,指的只是函数名,这时候调用的时候给出的:

<function g at 0x1037bf320>

给出的是这个函数所在的地址吧(猜的,我也不太清楚),不是函数的返回值

当加了括号之后g(),调用的是完整的函数,返回值就是函数的返回值

0 回复 有任何疑惑可以回复我~

看这个变量是指向函数还是调用函数。

如abs这个函数:

f=abs  即f指向abs这个函数  print  f 就会打印出所在地址

f(a) 则是值调用这个函数 ()内为空是调用此函数不需要参数  但要打出()表示调用

个人理解

1 回复 有任何疑惑可以回复我~

好像是函数不加括号,方法要加

0 回复 有任何疑惑可以回复我~
#1

慕九州2485307 提问者

好像不是的
2018-12-09 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
python进阶
  • 参与学习       255665    人
  • 解答问题       2949    个

学习函数式、模块和面向对象编程,掌握Python高级程序设计

进入课程

为什么f有时候有括号有时候又没有括号呢?

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信