如何在python中判斷變量的類型
python的數(shù)據(jù)類型有:數(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)是否是已知的變量類型(參數(shù)2) 類似于type()
參數(shù)1:變量
參數(shù)2:可以是直接或間接類名、基本類型或者由它們組成的元組。
返回值: 如果對(duì)象的類型與參數(shù)二的類型(classinfo)相同則返回 True,否則返回 False
例子:
#判斷變量類型的函數(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# 返回變量類型def getType(variate): arr = {'int':'整數(shù)','float':'浮點(diǎn)','str':'字符串','list':'列表','tuple':'元組','dict':'字典','set':'集合'} vartype = typeof(variate) if not (vartype in arr): return '未知類型' 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ò)與已知類型的常量進(jìn)行比較
例子:
#判斷變量類型的函數(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# 返回變量類型def getType(variate): arr = {'int':'整數(shù)','float':'浮點(diǎn)','str':'字符串','list':'列表','tuple':'元組','dict':'字典','set':'集合'} vartype = typeof(variate) if not (vartype in arr): return '未知類型' 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)為子類是一種父類類型,不考慮繼承關(guān)系。 isinstance() 會(huì)認(rèn)為子類是一種父類類型,考慮繼承關(guān)系。如果要判斷兩個(gè)類型是否相同推薦使用 isinstance()。
以上就是如何在python中判斷變量的類型的詳細(xì)內(nèi)容,更多關(guān)于Python判斷變量類型的資料請(qǐng)關(guān)注好吧啦網(wǎng)其它相關(guān)文章!
相關(guān)文章:
1. moment轉(zhuǎn)化時(shí)間戳出現(xiàn)Invalid Date的問(wèn)題及解決2. python爬蟲(chóng)實(shí)戰(zhàn)之制作屬于自己的一個(gè)IP代理模塊3. 如何在jsp界面中插入圖片4. HTML 絕對(duì)路徑與相對(duì)路徑概念詳細(xì)5. WML的簡(jiǎn)單例子及編輯、測(cè)試方法第1/2頁(yè)6. 詳解盒子端CSS動(dòng)畫(huà)性能提升7. 解決ajax請(qǐng)求后臺(tái),有時(shí)收不到返回值的問(wèn)題8. asp批量添加修改刪除操作示例代碼9. .NET6打包部署到Windows Service的全過(guò)程10. ajax請(qǐng)求后臺(tái)得到j(luò)son數(shù)據(jù)后動(dòng)態(tài)生成樹(shù)形下拉框的方法
