Python判斷字串是否為字母或者數字 浮點數

2021-09-13 13:06:56 字數 2754 閱讀 8962

str為字串s為字串

str.isalnum() 所有字元都是數字或者字母

str.isalpha() 所有字元都是字母

str.isdigit() 所有字元都是數字

str.isspace() 所有字元都是空白字元、t、n、r

檢查字串是數字/浮點數方法

float部分

>> float('nan')

nan>> float('nan')

nan>> float('nan')

nan>> float('inf')

inf>> float('inf')

inf>> float('-inf')

inf>> float('-inf')

inf

第一種:最簡單

def is_number(str):

try:

# 因為使用float有乙個例外是'nan'

if str=='nan':

return false

float(str)

return true

except valueerror:

return false

>>> float('nan')

nan

使用complex()

def is_number(s):

try:

complex(s) # for int, long, float and complex

except valueerror:

return false

return true

綜合1

def is_number(s):

try:

float(s) # for int, long and float

except valueerror:

try:

complex(s) # for complex

except valueerror:

return false

return true

綜合2-還是無法完全識別

def is_number(n):

is_number = true

try:

num = float(n)

# 檢查 "nan"

is_number = num == num # 或者使用 `math.isnan(num)`

except valueerror:

is_number = false

return is_number

>>> is_number('nan')

false

>>> is_number('nan')

false

>>> is_number('123')

true

>>> is_number('-123')

true

>>> is_number('-1.12')

true

>>> is_number('abc')

false

>>> is_number('inf')

true

第二種:只能判斷是整數

使用isnumeric()

# str必須是uniconde模式

>>> str = u"345"

>>> str.isnumeric()true

使用isdigit()

>>> str = "11"

>>> print str.isdigit()

true

>>> str = "3.14"

>>> print str.isdigit()

false

>>> str = "aaa"

>>> print str.isdigit()

false

使用int()

def is_int(str):

try:

int(str)

return true

except valueerror:

return false

第三種:使用正則(最安全方法)

import re

def is_number(num):

pattern = re.compile(r'^[-+]?[-0-9]\d*\.\d*|[-+]?\.?[0-9]\d*$')

result = pattern.match(num)

if result:

return true

else:

return false

>>>: is_number('1')

true

>>>: is_number('111')

true

>>>: is_number('11.1')

true

>>>: is_number('-11.1')

true

>>>: is_number('inf')

false

>>>: is_number('-inf')

false

原文**:python判斷字串是否為字母或者數字(浮點數)

Python 判斷字串是否為數字

以下例項通過建立自定義函式is number 方法來判斷字串是否為數字 coding utf 8 filename test.py author by www.runoob.com defis number s try float s return true except valueerror pa...

python 判斷字串是否為空

python strip 方法用於 移除字串頭尾 指定的字元 預設為 空格或換行符 或字串行。注意 該方法只能刪除開頭或是結尾的字元,不能刪除中間部分的字元。strip 方法語法 str.strip chars 返回移除字串頭尾指定的字元生成的新字串。補充 字串str還有另外兩種類似的方法lstri...

判斷字串是否為空

判斷字串是否為空是在 android 開發中是最長用的乙個判斷,判斷時也經常會看到有不同的判斷方式,今天專門研究了一下,記錄下來。先定義乙個字串,private string s 這種定義方式是我們學用的方式,那麼這樣定義時在字串時,該怎麼判斷它是不是空呢?來用 驗證一下 if s null els...