服务器之家

服务器之家 > 正文

解析python调用函数加括号和不加括号的区别

时间:2022-02-18 00:17     来源/作者:不积硅步,无以至千里

下面看下python调用函数加括号和不加括号的区别,具体代码如下所示;

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
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只是一个绑定到函数的名称,可以用来将函数对象作为参数传递给另一个函数。

?
1
2
3
4
5
6
7
8
9
10
11
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调用函数加括号和不加括号的区别内容请搜索服务器之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持服务器之家!

原文链接:https://www.cnblogs.com/zpzp/p/15464139.html

标签:

相关文章

热门资讯

蜘蛛侠3英雄无归3正片免费播放 蜘蛛侠3在线观看免费高清完整
蜘蛛侠3英雄无归3正片免费播放 蜘蛛侠3在线观看免费高清完整 2021-08-24
2022年最旺的微信头像大全 微信头像2022年最新版图片
2022年最旺的微信头像大全 微信头像2022年最新版图片 2022-01-10
背刺什么意思 网络词语背刺是什么梗
背刺什么意思 网络词语背刺是什么梗 2020-05-22
yue是什么意思 网络流行语yue了是什么梗
yue是什么意思 网络流行语yue了是什么梗 2020-10-11
2020微信伤感网名听哭了 让对方看到心疼的伤感网名大全
2020微信伤感网名听哭了 让对方看到心疼的伤感网名大全 2019-12-26
返回顶部