在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 問答/Python/ 關(guān)于函數(shù)的類型檢查問題

關(guān)于函數(shù)的類型檢查問題

最近想給自己的個(gè)人項(xiàng)目提供一個(gè)想法:想根據(jù)函數(shù)的返回值類型來選擇不同的功能分支

比方說func()返回一個(gè)A類型的實(shí)例,則選擇適應(yīng)A的分支;返回一個(gè)B類型的實(shí)例,則選擇適應(yīng)B的分支

眾所周知判斷實(shí)例的類類型可以用instance,但如何判斷函數(shù)的返回值,請(qǐng)教下有什么方法可以實(shí)現(xiàn)?

回答
編輯回答
墻頭草

不是很好判斷,首先Python中就沒有規(guī)定函數(shù)要聲明自己的返回值類型,同時(shí)一個(gè)函數(shù)可以返回不同的類型。

def func(n):
    if n < 100:
        return n
    else:
        return "Too big"

其次我不是很懂你的需求,直接調(diào)用函數(shù)判斷函數(shù)返回值的類型不行嗎

if isinstance(func(1), int):
    do_int()
else:
    do_other()
2018年1月19日 06:54
編輯回答
局外人
def foo(a):
    if a == 0:
        return 10
    elif a == 1:
        return '10'
    elif a == 2:
        return {'10': 10}

def boo(a):
    r = foo(a)
    if isinstance(r, int):
        print('int')
    elif isinstance(r, str):
        print('str')
    elif isinstance(r, dict):
        print('dict')

boo(0)
boo(1)
boo(2)
2018年3月8日 18:33