對(duì)于python輸入數(shù)據(jù)類型判斷正確與否的函數(shù)大致有三類:
十多年的巨野網(wǎng)站建設(shè)經(jīng)驗(yàn),針對(duì)設(shè)計(jì)、前端、開發(fā)、售后、文案、推廣等六對(duì)一服務(wù),響應(yīng)快,48小時(shí)及時(shí)工作處理。全網(wǎng)整合營(yíng)銷推廣的優(yōu)勢(shì)是能夠根據(jù)用戶設(shè)備顯示端的尺寸不同,自動(dòng)調(diào)整巨野建站的顯示方式,使網(wǎng)站能夠適用不同顯示終端,在瀏覽器中調(diào)整網(wǎng)站的寬度,無(wú)論在任何一種瀏覽器上瀏覽網(wǎng)站,都能展現(xiàn)優(yōu)雅布局與設(shè)計(jì),從而大程度地提升瀏覽體驗(yàn)。成都創(chuàng)新互聯(lián)從事“巨野網(wǎng)站設(shè)計(jì)”,“巨野網(wǎng)站推廣”以來(lái),每個(gè)客戶項(xiàng)目都認(rèn)真落實(shí)執(zhí)行。
(1)type(),它的作用直接可以判斷出數(shù)據(jù)的類型
(2)isinstance(),它可以判斷任何一個(gè)數(shù)據(jù)與相應(yīng)的數(shù)據(jù)類型是否一致,比較常用。
(3)對(duì)于任何一個(gè)程序,需要輸入特定的數(shù)據(jù)類型,這個(gè)時(shí)候就需要在程序的開頭,輸入一定的判斷格式語(yǔ)句,防止程序運(yùn)行出錯(cuò),而對(duì)于不同的數(shù)據(jù)類型和要求,有以下幾種判斷函數(shù),比價(jià)常見:
如果s為python任意輸入數(shù)據(jù),則有以下幾個(gè)判斷輸入是否有誤的語(yǔ)句比較常用:
s.isalnum() 所有字符都是數(shù)字或者字母,為真返回 True,否則返回 False。
s.isalpha() 所有字符都是字母,為真返回 True,否則返回 False。
s.isdigit() 所有字符都是數(shù)字,為真返回 True,否則返回 False。
s.islower() 所有字符都是小寫,為真返回 True,否則返回 False。
s.isupper() 所有字符都是大寫,為真返回 True,否則返回 False。
s.istitle() 所有單詞都是首字母大寫,為真返回 True,否則返回 False。
s.isspace() 所有字符都是空白字符為真返回 True,否則返回 False。
不需要自定義,內(nèi)置函數(shù)isinstance就可以用來(lái)判斷對(duì)象的類型。
如:
##會(huì)輸出True
print(isinstance(1,(str,int)))
此外,type函數(shù)可以返回一個(gè)對(duì)象的類型,如:
##會(huì)輸出True
print(int==type(1))
Python的內(nèi)置函數(shù)type函數(shù)可以用于判斷變量的類型。整數(shù)的類型是int,所以可以通過檢驗(yàn)
type(art)==int
用type(),就可以查他是什么類型的
def?test(self):
...?????print?"123"
type(test)
type?'function'
a?=?123
type(a)
type?'int'
b?=?"123"
type(b)
type?'str'
c?=?123.456
type(c)
type?'float'
如果是函數(shù),可以用dir(該函數(shù)名),還可以顯示函數(shù)的方法使用方法
python中如何判斷一個(gè)變量的數(shù)據(jù)類型?(原創(chuàng)) 收藏
import types
type(x) is types.IntType # 判斷是否int 類型
type(x) is types.StringType #是否string類型
.........
--------------------------------------------------------
超級(jí)惡心的模式,不用記住types.StringType
import types
type(x) == types(1) # 判斷是否int 類型
type(x) == type('a') #是否string類型
------------------------------------------------------
使用內(nèi)嵌函數(shù):
isinstance ( object, classinfo )
Return true if the object argument is an instance of the classinfo argument, or of a (direct or indirect) subclass thereof. Also return true if classinfo is a type object and object is an object of that type. If object is not a class instance or an object of the given type, the function always returns false. If classinfo is neither a class object nor a type object, it may be a tuple of class or type objects, or may recursively contain other such tuples (other sequence types are not accepted). If classinfo is not a class, type, or tuple of classes, types, and such tuples, a TypeError exception is raised. Changed in version 2.2: Support for a tuple of type information was added.
Python可以得到一個(gè)對(duì)象的類型 ,利用type函數(shù):
lst = [1, 2, 3]
type(lst)
type 'list'
不僅如此,還可以利用isinstance函數(shù),來(lái)判斷一個(gè)對(duì)象是否是一個(gè)已知的類型。
isinstance說明如下:
isinstance(object, class-or-type-or-tuple) - bool
Return whether an object is an instance of a class or of a subclass thereof.
With a type as second argument, return whether that is the object's type.
The form using a tuple, isinstance(x, (A, B, ...)), is a shortcut for
isinstance(x, A) or isinstance(x, B) or ... (etc.).
其第一個(gè)參數(shù)為對(duì)象,第二個(gè)為類型名或類型名的一個(gè)列表。其返回值為布爾型。若對(duì)象的類型與參數(shù)二的類型相同則返回True。若參數(shù)二為一個(gè)元組,則若對(duì)象類型與元組中類型名之一相同即返回True。
isinstance(lst, list)
Trueisinstance(lst, (int, str, list))
True
isinstance(lst, (int, str, list))
True
可以通過tpye()方法來(lái)判斷l(xiāng)ist里的元素類型。代碼舉例如下:
testList = [1, 2, 'a', [1, 2]]
for listElement in testList:
print '%s 的類型是:%s' % (listElement, type(listElement))
其中,for in語(yǔ)句用來(lái)遍歷testList這個(gè)list里的元素,然后分別打印出元素對(duì)應(yīng)的類型,運(yùn)行程序,輸出結(jié)果為:
1 的類型是:type 'int'
2 的類型是:type 'int'
a 的類型是:type 'str'
[1, 2] 的類型是:type 'list'
擴(kuò)展資料
python語(yǔ)言中type()函數(shù)介紹:
1、type()函數(shù)的作用
在python中type()是即簡(jiǎn)單又實(shí)用的一種對(duì)象數(shù)據(jù)類型查詢方法。它是一個(gè)內(nèi)建的函數(shù),調(diào)用它就能夠得到一個(gè)反回值,從而知道想要查詢的對(duì)像類型信息。
2、type()函數(shù)使用方法:type(對(duì)象)
type()是接收一個(gè)對(duì)象當(dāng)做參考,之后反回對(duì)象的相應(yīng)類型。例如:
type(1)
type 'int'? #整型
type("iplaypython")
type 'str'? #字符串