判斷一個字符串是否為數字、字母


fastnumbers參考文檔: https://fastnumbers.readthedocs.io,

除了提供fast_float,fast_real等函數來加速builtins API外,此包還提供了isreal, isfloat, isint, isintlike等API,方便調用判斷輸入是否為float或者int。 比調用float函數或者int函數,然后異常報錯后得到判斷結果(如代碼一)更為優雅;

需要注意的是 num_only,str_only並不是指明輸入參數 必須數字[0-9]串或者必須是字符串,而是數據類型是數字或者字符串。

 

代碼一:

def isfloat(abc):
    try:
        float(abc)
        return True
    except:
        return False
print(isfloat("abc"))
print(isfloat("-7\n"))

 

 

fastnumbers有一例外是會將非ascii碼的純數字也做判斷並返回True,所以需要進行過濾;
isfloat, isint, isreal等函數返回True;  疊加判斷是否為ascii嗎,防止中文、其他語言的中的數字被判斷為float類型; isascii代碼如代碼段二:
   
if isfloat(segs[0]) and isascii(segs[0]):

 

代碼二:
def is_ascii(str_):
    try:
        if str_.encode("ascii"):
            return True
    except:
        return False

 

 

 
 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM