最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Python判斷字符串是否為數(shù)字,浮點數(shù)或者字母

 更新時間:2026年04月15日 08:56:54   作者:躬行見萬象  
在Python中處理字符串的函數(shù)比較豐富,本文介紹了在Python中如何判斷和轉換字符串,文中的示例代碼講解詳細,感興趣的小伙伴可以跟隨小編一起學習一下

前言

在Python中處理字符串的函數(shù)比較豐富,有時需要把字符串轉化為整形、浮點型等;轉換過程中,發(fā)現(xiàn)有時會報錯,比如字符串“12*76”,轉換為整形,直接轉換int(“12*76”),會報無法轉換的錯誤的,因為*無法轉換為整形;所以在轉換前,需要先進行判斷該字符串的類型。

判斷字符串是否為數(shù)字(整形)

這個直接調用python的庫就可以了哈,假設str為字符串

str.isdigit() :判斷所有字符都是數(shù)字(整形)   

返回值 True:該字符串都為數(shù)字;False:該字符串不都是數(shù)字。

str.isalnum() 判斷所有字符都是數(shù)字或者字母    

返回值 True:該字符串都為數(shù)字或者字母;False:該字符串不都是數(shù)字或者字母。

判斷字符串是否為浮點數(shù)

這個就不能直接使用python的庫,畢竟浮點數(shù)有小數(shù)點的,小數(shù)點也算是一種符號,單純使用str.isdigit()    所有字符都是數(shù)字 來判斷是不行的;

不妨使用字符串分割(切片)函數(shù),把浮點數(shù)分為小數(shù)點左邊部分、小數(shù)點右邊部分,再分別檢測各部分是否為全數(shù)字

代碼實現(xiàn):

# 輸入?yún)?shù) str 需要判斷的字符串
# 返回值   True:該字符串為浮點數(shù);False:該字符串不是浮點數(shù)。
def IsFloatNum(str):
    s=str.split('.')
    if len(s)>2:
        return False
    else:
        for si in s:
            if not si.isdigit():
                return False
        return True

判斷字符串是否為字母

這個直接調用python的庫就可以了哈,假設str為字符串

str.isalpha()  判斷所有字符都是字母 

返回值 True:所有字符都是字母;False:所有字符不都是字母。

str.islower()  判斷所有字符都是小寫 

str.isupper() 判斷所有字符都是大寫

str.istitle()    判斷所有單詞都是首字母大寫

判斷字符串是否為空

str.isspace() 判斷所有字符都是空白字符、\t、\n、\r

小結

str.isdigit()    判斷所有字符都是數(shù)字(整形)   

str.isalnum() 判斷所有字符都是數(shù)字或者字母    

str.isalpha()  判斷所有字符都是字母 

str.islower()  判斷所有字符都是小寫 

str.isupper() 判斷所有字符都是大寫

str.istitle()    判斷所有單詞都是首字母大寫

方法補充

在Python中,判斷字符串的具體類型(數(shù)字、浮點數(shù)、字母等)有多種方法,適用場景不同。下面系統(tǒng)介紹幾種常見需求及其最佳實現(xiàn)。

判斷字符串是否為純數(shù)字(非負整數(shù))

方法:使用字符串的 isdigit() 方法。

s = "12345"
print(s.isdigit())   # True
s = "12.3"
print(s.isdigit())   # False (包含小數(shù)點)
s = "-123"
print(s.isdigit())   # False (負號不是數(shù)字)
s = "0"
print(s.isdigit())   # True
  • 只匹配 0-9 字符,不匹配負數(shù)、小數(shù)或其它數(shù)字形式(如中文數(shù)字)。
  • 空字符串返回 False

判斷字符串是否為整數(shù)(可帶正負號)

使用 int() 轉換并捕獲異常,可處理正負整數(shù)和零。

def is_integer(s):
    try:
        int(s)
        return True
    except ValueError:
        return False

print(is_integer("123"))     # True
print(is_integer("-456"))    # True
print(is_integer("+7"))      # True
print(is_integer("12.3"))    # False
print(is_integer("12a"))     # False
print(is_integer(""))        # False
  • 適用于任何有效的整數(shù)表示,包括前導正負號。
  • 不支持科學計數(shù)法(如 1e3 會被視為浮點數(shù),但 int("1e3") 會報錯)。

判斷字符串是否為浮點數(shù)(可帶正負號、小數(shù)點、科學計數(shù)法)

使用 float() 轉換并捕獲異常。

def is_float(s):
    try:
        float(s)
        return True
    except ValueError:
        return False

print(is_float("3.14"))      # True
print(is_float("-0.001"))    # True
print(is_float("2e-5"))      # True
print(is_float("inf"))       # True (無窮大)
print(is_float("NaN"))       # True (非數(shù)字)
print(is_float("123"))       # True (整數(shù)也是有效的浮點數(shù))
print(is_float("12a"))       # False
  • 會識別 inf、-inf、NaN 等特殊浮點值(根據(jù)需求可額外過濾)。
  • 整數(shù)也會被判定為 True,若需嚴格區(qū)分小數(shù),可額外檢查是否包含小數(shù)點或科學計數(shù)法。

判斷字符串是否為純字母(只含字母,無空格或數(shù)字)

使用字符串的 isalpha() 方法。

s = "Hello"
print(s.isalpha())   # True

s = "Hello123"
print(s.isalpha())   # False (包含數(shù)字)

s = "你好"
print(s.isalpha())   # True (中文字符也被視為字母)

s = " "
print(s.isalpha())   # False
  • 對于非ASCII字母(如中文、希臘字母)也返回 True
  • 如需僅限英文字母,可使用正則 [A-Za-z]

判斷字符串是否為字母或數(shù)字組合(無其他字符)

使用字符串的 isalnum() 方法。

print("abc123".isalnum())   # True
print("123".isalnum())      # True
print("abc".isalnum())      # True
print("abc 123".isalnum())  # False (含空格)
print("abc_123".isalnum())  # False (含下劃線)
  • 等價于 isalpha() or isdigit(),但一次調用更高效。
  • 同樣支持中文等非ASCII字符。

使用正則表達式精確控制

當需要更復雜的規(guī)則(例如:允許前導負號、小數(shù)點后必須有數(shù)字、不能是科學計數(shù)法等)時,可以使用正則。

import re
def is_positive_integer(s):
    """只允許純數(shù)字字符串,無前導零(可選)"""
    return bool(re.fullmatch(r'[1-9][0-9]*|0', s))
def is_decimal_float(s):
    """嚴格判斷浮點數(shù):必須有小數(shù)點,且小數(shù)點前后至少有一位數(shù)字"""
    return bool(re.fullmatch(r'-?\d+\.\d+', s))
def is_english_letters(s):
    """僅限英文字母(大小寫)"""
    return bool(re.fullmatch(r'[A-Za-z]+', s))

使用 re.fullmatch 確保整個字符串完全匹配,避免部分匹配。

綜合判斷示例:識別數(shù)字、浮點數(shù)、字母

def classify_string(s):
    if not s:
        return "空字符串"
    if s.isdigit():
        return "非負整數(shù)"
    if s.isalpha():
        return "字母字符串(含多語言)"
    try:
        int(s)
        return "整數(shù)(可帶符號)"
    except ValueError:
        pass
    try:
        float(s)
        return "浮點數(shù)(含科學計數(shù)法)"
    except ValueError:
        pass
    if s.isalnum():
        return "字母數(shù)字混合"
    return "其他類型"
# 測試
print(classify_string("123"))       # 非負整數(shù)
print(classify_string("-456"))      # 整數(shù)(可帶符號)
print(classify_string("3.14"))      # 浮點數(shù)(含科學計數(shù)法)
print(classify_string("abc"))       # 字母字符串(含多語言)
print(classify_string("abc123"))    # 字母數(shù)字混合
print(classify_string(" "))         # 其他類型

注意事項

  • 空字符串:上述 isdigit()、isalpha()isalnum() 對空字符串均返回 False;int()/float() 轉換會拋出異常,需額外處理。
  • 正負號與空格isdigit() 不識別符號;int() 和 float() 可以識別前導正負號,但會忽略前后空格。
  • 科學計數(shù)法float() 可識別,但 isdigit() 不能,可根據(jù)業(yè)務決定是否接受。
  • Unicode數(shù)字isdigit() 可以識別其他語言的數(shù)字(如 "一二三"),如需僅限ASCII數(shù)字,可用 s.isdigit() and s.isascii()(Python 3.7+)。

到此這篇關于Python判斷字符串是否為數(shù)字,浮點數(shù)或者字母的文章就介紹到這了,更多相關Python判斷字符串類型內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • pytest官方文檔解讀fixtures的autouse

    pytest官方文檔解讀fixtures的autouse

    這篇文章主要為大家介紹了pytest官方文檔解讀fixtures的autouse,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2022-06-06
  • Python中axis=0與axis=1指的方向有什么不同詳解

    Python中axis=0與axis=1指的方向有什么不同詳解

    對數(shù)據(jù)進行操作時,經(jīng)常需要在橫軸方向或者數(shù)軸方向對數(shù)據(jù)進行操作,這時需要設定參數(shù)axis的值,下面這篇文章主要給大家介紹了關于Python中axis=0與axis=1指的方向有什么不同的相關資料,需要的朋友可以參考下
    2024-01-01
  • Python玩轉加密的技巧【推薦】

    Python玩轉加密的技巧【推薦】

    Python 中的一個有用的基本加密庫就叫做 cryptography 。這篇文章主要介紹了Python玩轉加密的技巧,需要的朋友可以參考下
    2019-05-05
  • 通過python封裝SQLite3的示例代碼

    通過python封裝SQLite3的示例代碼

    這篇文章主要介紹了使用 Python 封裝 SQLite3 的相關內容,包括創(chuàng)建數(shù)據(jù)庫實例、創(chuàng)建表、各種插入(單個、批量、字典等)、刪除(按條件、按 ID 等)、修改(多種方式)、查詢(單條、多條、分頁等)的示例及對應的實現(xiàn)代碼,需要的朋友可以參考下
    2024-11-11
  • python中websockets與主線程傳遞參數(shù)的實現(xiàn)

    python中websockets與主線程傳遞參數(shù)的實現(xiàn)

    本文主要介紹了python中websockets與主線程傳遞參數(shù)的實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2024-02-02
  • python貪吃蛇游戲代碼

    python貪吃蛇游戲代碼

    這篇文章主要為大家詳細介紹了python貪吃蛇游戲代碼,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-01-01
  • Python利用pdfplumber實現(xiàn)讀取PDF寫入Excel

    Python利用pdfplumber實現(xiàn)讀取PDF寫入Excel

    pdfplumber專注PDF內容提取,例如文本(位置、字體及顏色等)和形狀(矩形、直線、曲線),還有解析表格的功能。本文主要為大家介紹如何利用pdfplumber實現(xiàn)讀取PDF寫入Excel,需要的可以參考一下
    2022-06-06
  • 人工智能學習PyTorch教程之層和塊

    人工智能學習PyTorch教程之層和塊

    這篇文章主要為大家介紹了人工智能學習Pytorch教程中的層和塊的相關知識點,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步
    2021-11-11
  • 淺談sklearn中predict與predict_proba區(qū)別

    淺談sklearn中predict與predict_proba區(qū)別

    這篇文章主要介紹了淺談sklearn中predict與predict_proba區(qū)別,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-06-06
  • Python類繼承及super()函數(shù)使用說明

    Python類繼承及super()函數(shù)使用說明

    這篇文章主要介紹了Python類繼承及super()函數(shù)使用說明,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-11-11

最新評論

慈溪市| 迁西县| 福泉市| 府谷县| 武清区| 榆树市| 潜山县| 资阳市| 连平县| 乌拉特后旗| 峡江县| 临漳县| 肃宁县| 宝山区| 民丰县| 昌乐县| 蒙山县| 富阳市| 和平县| 凌云县| 定西市| 石台县| 荔浦县| 芮城县| 临澧县| 乐清市| 商城县| 嵊泗县| 信阳市| 东丽区| 郑州市| 柳州市| 察雅县| 松溪县| 洛扎县| 淮阳县| 乾安县| 台北市| 古浪县| 会东县| 来安县|