鱼C论坛

 找回密码
 立即注册
查看: 3474|回复: 4

[已解决]关于python中函数加括号和不加括号的区别。

[复制链接]
发表于 2018-1-6 20:39:52 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
本帖最后由 py大神 于 2018-1-6 20:41 编辑

如:
  1. def a():
  2.         print('fishc.com')
  3. def b():
  4.         def c():
  5.                 print('I Love',end='')
  6.         return c#这里带括号和不带括号的区别是什么
复制代码

在网上看了的博客说的,但还是不明白。。。。。。。。。。
所以希望大家可以把自己的理解说一下,而不是去网上找答案。
最佳答案
2018-1-8 04:48:01
本帖最后由 yjsx86 于 2018-1-8 04:51 编辑

在这里
return c 表示返回函数名 函数名c 指向的函数对象 不执行
return c() 表示返回函数名 并且调用函数名c 指向的函数对象

你可以简单的认为
一个变量名c , c可以指向任何对象 str int list function等等
给一个变量加上() 表示调用其指向的对象
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2018-1-6 20:56:16 | 显示全部楼层
不带括号时,调用的是这个函数本身 ;
带括号(传入需要的参数),调用的是函数return的结果。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-1-6 21:05:19 | 显示全部楼层
return 是关键字不是函数,加括号只能说是方便阅读,不加括号也不会错
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-1-8 04:48:01 | 显示全部楼层    本楼为最佳答案   
本帖最后由 yjsx86 于 2018-1-8 04:51 编辑

在这里
return c 表示返回函数名 函数名c 指向的函数对象 不执行
return c() 表示返回函数名 并且调用函数名c 指向的函数对象

你可以简单的认为
一个变量名c , c可以指向任何对象 str int list function等等
给一个变量加上() 表示调用其指向的对象
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-1-8 20:47:05 | 显示全部楼层
yjsx86 发表于 2018-1-8 04:48
在这里
return c 表示返回函数名 函数名c 指向的函数对象 不执行
return c() 表示返回函数名 并且调用函 ...

正解
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-5-17 17:45

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表