Python callable內(nèi)置函數(shù)原理解析
python內(nèi)置函數(shù) callable用于檢查一個對象是否是可調(diào)用的,如果函數(shù)返回True,object 仍然可能調(diào)用失敗;但如果返回 False,調(diào)用對象 object 絕對不會成功。
一.callable函數(shù)簡介
語法如下:
callable(object)
參數(shù)介紹:
object : 調(diào)用的對象;
返回值:返回bool值,如果object對象可以被調(diào)用返回true,不能被調(diào)用返回false;
值得注意的是:即便函數(shù)返回true,object也有可能調(diào)用失敗,返回false意味著覺得不會成功!
對于函數(shù), 方法, lambda 函式, 類, 以及實(shí)現(xiàn)了 __call__ 方法的類實(shí)例, 它都返回 True。
二.callable函數(shù)使用
# !usr/bin/env python # -*- coding:utf-8 _*- """ @Author:何以解憂 @Blog(個人博客地址): shuopython.com @WeChat Official Account(微信公眾號):猿說python @Github:www.github.com @File:python_len.py @Time:2020/2/24 21:25 @Motto:不積跬步無以至千里,不積小流無以成江海,程序人生的精彩需要堅(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())) #等價 test(str) 字符串不是對象 print("***"*20) print(test(test2)) #等價 test(func) 函數(shù)是對象 print("***"*20) print(test(123)) #等價 test(int) 整形不是對象
輸出結(jié)果:
函數(shù)不可以被調(diào)用
None
************************************************************
函數(shù)可以被調(diào)用
<function test2 at 0x00000252F39D57B8>
************************************************************
函數(shù)不可以被調(diào)用
None
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
Python編程實(shí)現(xiàn)的簡單神經(jīng)網(wǎng)絡(luò)算法示例
這篇文章主要介紹了Python編程實(shí)現(xiàn)的簡單神經(jīng)網(wǎng)絡(luò)算法,結(jié)合實(shí)例形式分析了神經(jīng)網(wǎng)絡(luò)算法的原理及Python相關(guān)算法實(shí)現(xiàn)技巧,需要的朋友可以參考下2018-01-01Python使用PIL進(jìn)行JPEG圖像壓縮的簡易教程
本文介紹了如何使用Python編程語言和wxPython圖形用戶界面庫進(jìn)行JPEG圖像的壓縮,通過添加滑塊控件,我們可以調(diào)整壓縮質(zhì)量,并將壓縮后的照片另存為原來的名稱加上后綴"壓縮+質(zhì)量數(shù)字"的新文件,需要的朋友可以參考下2023-09-09Python代碼實(shí)現(xiàn)列表分組計數(shù)
這篇文章主要介紹了Python代碼實(shí)現(xiàn)列表分組計數(shù),利用Python代碼實(shí)現(xiàn)了使用分組函數(shù)對列表進(jìn)行分組,并計算每組的元素個數(shù)的功能,需要的朋友可以參考一下2021-11-11- 缺失值可能是數(shù)據(jù)科學(xué)中最不受歡迎的值,然而,它們總是在身邊。忽略缺失值也是不合理的,因此我們需要找到有效且適當(dāng)?shù)靥幚硭鼈兊姆椒?。本文總結(jié)了四個Python查詢?nèi)笔е档姆椒?,需要的可以參考一?/div> 2022-05-05
python目標(biāo)檢測非極大抑制NMS與Soft-NMS
這篇文章主要weidajia?介紹了python目標(biāo)檢測非極大抑制NMS與Soft-NMS實(shí)現(xiàn)過程,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-05-05最新評論