如何在python中判斷變量的類(lèi)型
python的數(shù)據(jù)類(lèi)型有:數(shù)字(int)、浮點(diǎn)(float)、字符串(str),列表(list)、元組(tuple)、字典(dict)、集合(set)
一般通過(guò)以下方法進(jìn)行判斷:
1、isinstance(參數(shù)1,參數(shù)2)
描述:該函數(shù)用來(lái)判斷一個(gè)變量(參數(shù)1)是否是已知的變量類(lèi)型(參數(shù)2) 類(lèi)似于type()
參數(shù)1:變量
參數(shù)2:可以是直接或間接類(lèi)名、基本類(lèi)型或者由它們組成的元組。
返回值: 如果對(duì)象的類(lèi)型與參數(shù)二的類(lèi)型(classinfo)相同則返回 True,否則返回 False
例子:
#判斷變量類(lèi)型的函數(shù)def typeof(variate): type=None if isinstance(variate,int): type = 'int' elif isinstance(variate,str): type = 'str' elif isinstance(variate,float): type = 'float' elif isinstance(variate,list): type = 'list' elif isinstance(variate,tuple): type = 'tuple' elif isinstance(variate,dict): type = 'dict' elif isinstance(variate,set): type = 'set' return type# 返回變量類(lèi)型def getType(variate): arr = {'int':'整數(shù)','float':'浮點(diǎn)','str':'字符串','list':'列表','tuple':'元組','dict':'字典','set':'集合'} vartype = typeof(variate) if not (vartype in arr): return '未知類(lèi)型' return arr[vartype]#判斷變量是否為整數(shù)money=120print('{0}是{1}'.format(money,getType(money)))#判斷變量是否為字符串money='120'print('{0}是{1}'.format(money,getType(money)))money=12.3print('{0}是{1}'.format(money,getType(money)))#判斷變量是否為列表students=[’studentA’]print('{0}是{1}'.format(students,getType(students)))#判斷變量是否為元組students=(’studentA’,’studentB’)print('{0}是{1}'.format(students,getType(students)))#判斷變量是否為字典dictory={'key1':'value1','key2':'value2'}print('{0}是{1}'.format(dictory,getType(dictory)))#判斷變量是否為集合apple={'apple1','apple2'}46 print('{0}是{1}'.format(apple,getType(apple)))
返回:

2、通過(guò)與已知類(lèi)型的常量進(jìn)行比較
例子:
#判斷變量類(lèi)型的函數(shù)def typeof(variate): type1 = '' if type(variate) == type(1): type1 = 'int' elif type(variate) == type('str'): type1 = 'str' elif type(variate) == type(12.3): type1 = 'float' elif type(variate) == type([1]): type1 = 'list' elif type(variate) == type(()): type1 = 'tuple' elif type(variate) == type({'key1':'123'}): type1 = 'dict' elif type(variate) == type({'key1'}): type1 = 'set' return type1# 返回變量類(lèi)型def getType(variate): arr = {'int':'整數(shù)','float':'浮點(diǎn)','str':'字符串','list':'列表','tuple':'元組','dict':'字典','set':'集合'} vartype = typeof(variate) if not (vartype in arr): return '未知類(lèi)型' return arr[vartype]#判斷變量是否為整數(shù)money=120print('{0}是{1}'.format(money,getType(money)))#判斷變量是否為字符串money='120'print('{0}是{1}'.format(money,getType(money)))money=12.3print('{0}是{1}'.format(money,getType(money)))#判斷變量是否為列表students=[’studentA’]print('{0}是{1}'.format(students,getType(students)))#判斷變量是否為元組students=(’studentA’,’studentB’)print('{0}是{1}'.format(students,getType(students)))#判斷變量是否為字典dictory={'key1':'value1','key2':'value2'}print('{0}是{1}'.format(dictory,getType(dictory)))#判斷變量是否為集合apple={'apple1','apple2'}print('{0}是{1}'.format(apple,getType(apple)))
返回:

補(bǔ)充:
isinstance() 與 type() 區(qū)別:
type() 不會(huì)認(rèn)為子類(lèi)是一種父類(lèi)類(lèi)型,不考慮繼承關(guān)系。 isinstance() 會(huì)認(rèn)為子類(lèi)是一種父類(lèi)類(lèi)型,考慮繼承關(guān)系。如果要判斷兩個(gè)類(lèi)型是否相同推薦使用 isinstance()。
以上就是如何在python中判斷變量的類(lèi)型的詳細(xì)內(nèi)容,更多關(guān)于Python判斷變量類(lèi)型的資料請(qǐng)關(guān)注好吧啦網(wǎng)其它相關(guān)文章!
相關(guān)文章:
1. UTF8轉(zhuǎn)成GB2312亂碼問(wèn)題解決方案2. 詳細(xì)總結(jié)Java for循環(huán)的那些坑3. php中PHPUnit框架實(shí)例用法4. 新手學(xué)python應(yīng)該下哪個(gè)版本5. 詳解CSS偽元素的妙用單標(biāo)簽之美6. ajax實(shí)現(xiàn)頁(yè)面的局部加載7. 如何利用Python matplotlib繪制雷達(dá)圖8. Python使用eval函數(shù)執(zhí)行動(dòng)態(tài)標(biāo)表達(dá)式過(guò)程詳解9. css進(jìn)階學(xué)習(xí) 選擇符10. 淺談vue中resetFields()使用注意事項(xiàng)

網(wǎng)公網(wǎng)安備