小編給大家分享一下python檢查返回某字符串是不是數(shù)字的方法,希望大家閱讀完這篇文章后大所收獲,下面讓我們一起去探討吧!
10余年的鐵門關(guān)網(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)整鐵門關(guān)建站的顯示方式,使網(wǎng)站能夠適用不同顯示終端,在瀏覽器中調(diào)整網(wǎng)站的寬度,無論在任何一種瀏覽器上瀏覽網(wǎng)站,都能展現(xiàn)優(yōu)雅布局與設(shè)計(jì),從而大程度地提升瀏覽體驗(yàn)。成都創(chuàng)新互聯(lián)從事“鐵門關(guān)網(wǎng)站設(shè)計(jì)”,“鐵門關(guān)網(wǎng)站推廣”以來,每個(gè)客戶項(xiàng)目都認(rèn)真落實(shí)執(zhí)行。
python中有一個(gè)自帶的函數(shù)isdigit,可以返回某字符串是不是數(shù)字。如果是數(shù)字,返回True;反之,返回False。
str1 = '1' print(str1.isdigit()) str2 = '1.1' print(str2.isdigit()) str3 = '-1' print(str3.isdigit()) str4 = 'a' print(str4.isdigit())
它的運(yùn)行結(jié)果是:
True False False False
可以看到,isdigit函數(shù)只能辨別正整數(shù),對(duì)小數(shù)和負(fù)數(shù)的判斷都出現(xiàn)了錯(cuò)誤。
這里介紹一個(gè)函數(shù),可以正確分辨小數(shù)和負(fù)數(shù):
def is_number(s): try: # 如果能運(yùn)行float(s)語句,返回True(字符串s是浮點(diǎn)數(shù)) float(s) return True except ValueError: # ValueError為Python的一種標(biāo)準(zhǔn)異常,表示"傳入無效的參數(shù)" pass # 如果引發(fā)了ValueError這種異常,不做任何事情(pass:不做任何事情,一般用做占位語句) try: import unicodedata # 處理ASCii碼的包 unicodedata.numeric(s) # 把一個(gè)表示數(shù)字的字符串轉(zhuǎn)換為浮點(diǎn)數(shù)返回的函數(shù) return True except (TypeError, ValueError): pass return False
很厲害的是,由于is_number里用到了unicodedata.numeric這個(gè)函數(shù),我們現(xiàn)在對(duì)漢字表示的數(shù)字也可以進(jìn)行分辨了,測(cè)試漢字'八':
str5 = '八' print(is_number(str5))
得到的結(jié)果是:
True
看完了這篇文章,相信你對(duì)python檢查返回某字符串是不是數(shù)字的方法有了一定的了解,想了解更多相關(guān)知識(shí),歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝各位的閱讀!