py大神 发表于 2018-1-6 20:39:52

关于python中函数加括号和不加括号的区别。

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

如:
def a():
        print('fishc.com')
def b():
        def c():
                print('I Love',end='')
        return c#这里带括号和不带括号的区别是什么

在网上看了的博客说的,但还是不明白。。。。。。。。。。
所以希望大家可以把自己的理解说一下,而不是去网上找答案。

Charles未晞 发表于 2018-1-6 20:56:16

不带括号时,调用的是这个函数本身 ;
带括号(传入需要的参数),调用的是函数return的结果。

zero月蚀的假面 发表于 2018-1-6 21:05:19

return 是关键字不是函数,加括号只能说是方便阅读,不加括号也不会错

yjsx86 发表于 2018-1-8 04:48:01

本帖最后由 yjsx86 于 2018-1-8 04:51 编辑

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

你可以简单的认为
一个变量名c , c可以指向任何对象 str int list function等等
给一个变量加上() 表示调用其指向的对象

李必鸣 发表于 2018-1-8 20:47:05

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

正解
页: [1]
查看完整版本: 关于python中函数加括号和不加括号的区别。