解析python调用函数加括号和不加括号的区别
下面看下python调用函数加括号和不加括号的区别,具体代码如下所示;
def bracket(data): return data if __name__ == '__main__': # 不带括号调用的结果:<function bracket at 0x0000000004DD0B38>,a是整个函数体,是一个函数对象,不须等该函数执行完成 a = bracket print a # 带括号调用的结果:6 ,b是函数执行后返回的值6,须等该函数执行完成的结果 b = bracket(6) print b
1、不带括号时,调用的是这个函数本身 ,是整个函数体,是一个函数对象,不须等该函数执行完成。
2、带括号(参数或者无参),调用的是函数的执行结果,须等该函数执行完成的结果。
简单说就是:
如果使用括号,则只调用if和函数。hello()
调用函数;hello
只是一个绑定到函数的名称,可以用来将函数对象作为参数传递给另一个函数。
def caller(f): f() def hello(): print("hi") def goodbye(): print("bye") caller(hello) # Prints "hi" caller(goodbye) # Prints "bye"
id
返回不同的值,因为对id
的每次调用都接收一个完全独立的对象作为其参数。使用id(hello)
,id
获取函数对象本身。使用id(hello())
,id
将获得通过调用hello
返回的对象;
到此这篇关于python调用函数加括号和不加括号的区别的文章就介绍到这了,更多相关python调用函数加括号和不加括号的区别内容请搜索hwidc以前的文章或继续浏览下面的相关文章希望大家以后多多支持hwidc!
【本文出处:国外高防服务器 复制请保留原URL】