解析python調用函數(shù)加括號和不加括號的區(qū)別
下面看下python調用函數(shù)加括號和不加括號的區(qū)別,具體代碼如下所示;
def bracket(data): return data if __name__ == '__main__': # 不帶括號調用的結果:<function bracket at 0x0000000004DD0B38>,a是整個函數(shù)體,是一個函數(shù)對象,不須等該函數(shù)執(zhí)行完成 a = bracket print a # 帶括號調用的結果:6 ,b是函數(shù)執(zhí)行后返回的值6,須等該函數(shù)執(zhí)行完成的結果 b = bracket(6) print b
1、不帶括號時,調用的是這個函數(shù)本身 ,是整個函數(shù)體,是一個函數(shù)對象,不須等該函數(shù)執(zhí)行完成。
2、帶括號(參數(shù)或者無參),調用的是函數(shù)的執(zhí)行結果,須等該函數(shù)執(zhí)行完成的結果。
簡單說就是:
如果使用括號,則只調用if和函數(shù)。hello()
調用函數(shù);hello
只是一個綁定到函數(shù)的名稱,可以用來將函數(shù)對象作為參數(shù)傳遞給另一個函數(shù)。
def caller(f): f() def hello(): print("hi") def goodbye(): print("bye") caller(hello) # Prints "hi" caller(goodbye) # Prints "bye"
id
返回不同的值,因為對id
的每次調用都接收一個完全獨立的對象作為其參數(shù)。使用id(hello)
,id
獲取函數(shù)對象本身。使用id(hello())
,id
將獲得通過調用hello
返回的對象;
到此這篇關于python調用函數(shù)加括號和不加括號的區(qū)別的文章就介紹到這了,更多相關python調用函數(shù)加括號和不加括號的區(qū)別內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
在多種情況/開發(fā)環(huán)境中運行python腳本和代碼的技巧分享
Python腳本或程序是包含可執(zhí)行Python代碼的文件,能夠運行Python腳本和代碼可能是您作為Python開發(fā)人員所需的最重要的技能,在本教程中,您將學習一些運行Python腳本和代碼的技術,在每種情況下使用的技術將取決于您的環(huán)境、平臺、需求和技能2023-11-11使用 Python 實現(xiàn)微信消息的一鍵已讀的思路代碼
利用python可以實現(xiàn)微信消息的一鍵已讀功能,怎么實現(xiàn)呢?你肯定會想著很復雜,但是python的好處就是很多人已經把接口打包做好了,只需要調用即可,今天通過本文給大家分享使用 Python 實現(xiàn)微信消息的一鍵已讀的思路代碼,一起看看吧2021-06-06python實現(xiàn)發(fā)送form-data數(shù)據(jù)的方法詳解
這篇文章主要介紹了python實現(xiàn)發(fā)送form-data數(shù)據(jù)的方法,結合實例形式分析了Python發(fā)送form-data數(shù)據(jù)的相關操作步驟、實現(xiàn)方法與注意事項,需要的朋友可以參考下2019-09-09