如何在python中判斷變量的類型
python的數(shù)據(jù)類型有:數(shù)字(int)、浮點(diǎn)(float)、字符串(str),列表(list)、元組(tuple)、字典(dict)、集合(set)
一般通過以下方法進(jìn)行判斷:
1、isinstance(參數(shù)1,參數(shù)2)
描述:該函數(shù)用來判斷一個(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、通過與已知類型的常量進(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. JAMon(Java Application Monitor)備忘記2. docker /var/lib/docker/aufs/mnt 目錄清理方法3. IntelliJ IDEA設(shè)置默認(rèn)瀏覽器的方法4. Python OpenCV去除字母后面的雜線操作5. Java類加載機(jī)制實(shí)現(xiàn)步驟解析6. IntelliJ IDEA設(shè)置編碼格式的方法7. IntelliJ IDEA設(shè)置背景圖片的方法步驟8. Python TestSuite生成測(cè)試報(bào)告過程解析9. Python 的 __str__ 和 __repr__ 方法對(duì)比10. Spring security 自定義過濾器實(shí)現(xiàn)Json參數(shù)傳遞并兼容表單參數(shù)(實(shí)例代碼)
