Python callable內(nèi)置函數(shù)原理解析
python內(nèi)置函數(shù) callable用于檢查一個(gè)對(duì)象是否是可調(diào)用的,如果函數(shù)返回True,object 仍然可能調(diào)用失敗;但如果返回 False,調(diào)用對(duì)象 object 絕對(duì)不會(huì)成功。
一.callable函數(shù)簡(jiǎn)介
語(yǔ)法如下:
callable(object)
參數(shù)介紹:
object : 調(diào)用的對(duì)象;
返回值:返回bool值,如果object對(duì)象可以被調(diào)用返回true,不能被調(diào)用返回false;
值得注意的是:即便函數(shù)返回true,object也有可能調(diào)用失敗,返回false意味著覺(jué)得不會(huì)成功!
對(duì)于函數(shù), 方法, lambda 函式, 類(lèi), 以及實(shí)現(xiàn)了 __call__ 方法的類(lèi)實(shí)例, 它都返回 True。
二.callable函數(shù)使用
# !usr/bin/env python# -*- coding:utf-8 _*-'''@Author:何以解憂(yōu)@Blog(個(gè)人博客地址): shuopython.com@WeChat Official Account(微信公眾號(hào)):猿說(shuō)python@Github:www.github.com @File:python_len.py@Time:2020/2/24 21:25 @Motto:不積跬步無(wú)以至千里,不積小流無(wú)以成江海,程序人生的精彩需要堅(jiān)持不懈地積累!'''def test(func): # 判斷func如果是函數(shù),就執(zhí)行他,如果不是函數(shù),直接返回 # 判斷func是否可調(diào)用,如果可以調(diào)用,就是true if callable(func): print('函數(shù)可以被調(diào)用') return func else: print('函數(shù)不可以被調(diào)用')def test2(): return ’shuopython.com’if __name__ == '__main__': print(test(test2())) #等價(jià) test(str) 字符串不是對(duì)象 print('***'*20) print(test(test2)) #等價(jià) test(func) 函數(shù)是對(duì)象 print('***'*20) print(test(123)) #等價(jià) test(int) 整形不是對(duì)象
輸出結(jié)果:
函數(shù)不可以被調(diào)用None************************************************************函數(shù)可以被調(diào)用<function test2 at 0x00000252F39D57B8>************************************************************函數(shù)不可以被調(diào)用None
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持好吧啦網(wǎng)。
相關(guān)文章:
1. 用xslt+css讓RSS顯示的跟網(wǎng)頁(yè)一樣漂亮2. 利用CSS制作3D動(dòng)畫(huà)3. 使用Spry輕松將XML數(shù)據(jù)顯示到HTML頁(yè)的方法4. 存儲(chǔ)于xml中需要的HTML轉(zhuǎn)義代碼5. HTML5 Canvas繪制圖形從入門(mén)到精通6. 讓chatgpt將html中的圖片轉(zhuǎn)為base64方法示例7. CSS3實(shí)現(xiàn)動(dòng)態(tài)翻牌效果 仿百度貼吧3D翻牌一次動(dòng)畫(huà)特效8. 《CSS3實(shí)戰(zhàn)》筆記--漸變?cè)O(shè)計(jì)(一)9. html5手機(jī)觸屏touch事件介紹10. 讀大數(shù)據(jù)量的XML文件的讀取問(wèn)題
