在 Python 中檢查字串是否為整數

Muhammad Waiz Khan 2023年1月30日 2021年2月7日
  1. 在 Python 中使用 str.isdigit() 方法檢查一個字串是否為整數
  2. 在 Python 中使用 try ... except 異常處理檢查字串是否為整數
  3. 在 Python 中使用正規表示式檢查一個字串是否為整數
在 Python 中檢查字串是否為整數

本教程將解釋如何在 Python 中檢查一個字串是否是整數,也就是說一個字串是否代表一個整數。所謂字串是整數,是指字串中儲存的值代表一個整數。可以有多種方法來檢查,我們將在本教程中通過程式碼示例討論這些方法。

在 Python 中使用 str.isdigit() 方法檢查一個字串是否為整數

在 Python 中檢查一個字串是否是整數的最有效方法是使用 str.isdigit() 方法,因為它的執行時間最少。

str.isdigit() 方法如果字串代表一個整數,則返回 True,否則返回 False。下面的程式碼示例展示了我們如何使用它。

def if_integer(string):
  
    if string[0] == ('-', '+'):
        return string[1:].isdigit()

    else:
        return string.isdigit()

string1 = '132'
string2 = '-132'
string3 = 'abc'

print(if_integer(string1))
print(if_integer(string2))
print(if_integer(string3))

輸出:

True
True
False

上面的例子也照顧到字串中是否存在整數的符號,+-。如果第一個字串是+-,它就會檢查字串的其他部分是否是整數。

在 Python 中使用 try ... except 異常處理檢查字串是否為整數

另一種方法是在 int() 函式上使用 try ... except 異常處理。如果字串是一個整數,它將返回 True,否則返回 False。下面的程式碼示例展示了我們如何實現這個方法。

def if_integer(string):
    try: 
        int(string)
        return True
    except ValueError:
        return False

string1 = '132'
string2 = '-132'
string3 = 'abc'

print(if_integer(string1))
print(if_integer(string2))
print(if_integer(string3))

輸出:

True
True
False

在 Python 中使用正規表示式檢查一個字串是否為整數

我們可以使用的另一種有趣的方法是正規表示式。表示一個整數的正規表示式將是 [+-]?\d+$,其中 [+-]? 表示+- 符號是可選的,\d+ 表示字串中應該有一個或多個數字,$ 是字串的結尾。

示例程式碼。

import re

def if_integer(string):

    reg_exp = "[-+]?\d+$"
    return re.match(reg_exp, string) is not None

string1 = '132'
string2 = '-132'
string3 = 'abc'

print(if_integer(string1))
print(if_integer(string2))
print(if_integer(string3)) 

輸出:

True
True
False

相關文章 - Python String

相關文章 - Python Integer