一、str.isdigit的作用
Python str.isdigit() 方法用於檢測字元串是否只由數字組成。如果字元串只包含數字則返回 True,否則返回False。
以下是使用isdigit()方法的示例代碼:
str1 = "12345" print(str1.isdigit()) # True str2 = "12345a" print(str2.isdigit()) # False
在上面的代碼中,我們定義了兩個字元串,str1為只包含數字的字元串,而str2的末尾加了一個字母。我們使用isdigit()方法對這兩個字元串進行檢測,發現str1返回True,而str2返回False。
二、isdigit應用場景舉例
str.isdigit()方法常用於判斷用戶輸入的字元串是否為數字。以下是一個計算兩個數字相加的基礎應用:
while True: num1 = input("請輸入第一個數字:") if num1.isdigit(): break else: print("您的輸入有誤,請重新輸入!") while True: num2 = input("請輸入第二個數字:") if num2.isdigit(): break else: print("您的輸入有誤,請重新輸入!") sum = int(num1) + int(num2) print("兩個數字的和為:", sum)
在上述代碼中,我們先用while循環要求用戶分別輸入兩個數字num1和num2。對於每個輸入,我們使用isdigit()方法進行判斷,如果輸入不是數字,就提示用戶重新輸入。當輸入的都是數字時,我們將其轉換為整型數值並計算它們的和,最後輸出結果。
三、isdigit與類型轉換
isdigit()方法還有一個重要的用途就是類型轉換。我們可以利用isdigit()方法將字元串類型轉換為數字類型,其中需要注意的是,如果字元串中包含小數點,則轉換後的類型為浮點數,否則為整數。
以下是使用isdigit()方法進行類型轉換的示例代碼:
num_str1 = "520" num_int1 = int(num_str1) print(num_int1) # 輸出520 print(type(num_int1)) # 輸出 num_str2 = "3.14" if num_str2.isdigit(): num_float1 = float(num_str2) print(num_float1) # 輸出3.14 print(type(num_float1)) # 輸出 num_str3 = "hello" if num_str3.isdigit(): num_int2 = int(num_str3) print(num_int2) else: print("您的輸入有誤!")
在上面的代碼中,我們定義了三個字元串變數,num_str1為純整數的字元串,num_str2為包含小數點的字元串,num_str3為包含字母的字元串。
我們首先將num_str1轉換為整數並輸出,結果為520,類型為。然後我們使用isdigit()方法對num_str2進行檢測,由於其包含小數點,無法轉換為整數,故我們使用float()函數將其轉換為浮點數。最後我們講num_str3轉換為整數,但由於其不是純數字的字元串,無法轉換,進入else分支提示用戶輸入有誤。
四、判斷Unicode編碼是否為數字
isdigit()方法還可以用於判斷Unicode編碼是否為數字。Unicode是ISO(國際標準化組織)制定的可以表示世界上所有語言和符號的編碼規範。在Python中,我們可以使用ord()函數得到Unicode編碼值,再使用isdigit()方法進行判斷。
以下是使用isdigit()方法判斷Unicode編碼是否為數字的示例代碼:
print(ord("0")) # 輸出48 print(ord("9")) # 輸出57 print(ord("a")) # 輸出97 print(str.isdigit("\u00b2")) # True print(str.isdigit("\u2166")) # True print(str.isdigit("\u00bc")) # True print(str.isdigit("\u00a2")) # False
在上面的代碼中,我們首先使用ord()函數得到字元「0」、「9」和「a」的Unicode編碼值。然後我們使用isdigit()方法對一些包含數字的Unicode編碼進行檢測,發現返回值都為True。最後我們對一個包含字母的編碼進行檢測,返回值為False。
五、總結
總之,在Python編程中,str.isdigit()方法的應用場景十分廣泛,常用於判斷用戶輸入的字元串是否為數字、將字元串類型轉換為數字類型等等。應用這一方法可以有效地簡化我們的編程思路,提高代碼的執行效率。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/241284.html