มีเมธอดที่เรียกว่า isdigit() ในคลาส String ที่คืนค่า จริง หากอักขระทั้งหมดในสตริงเป็นตัวเลข และมีอักขระอย่างน้อยหนึ่งตัว มิฉะนั้น เท็จ เรียกได้ดังนี้:
>>> "12345".isdigit() True >>> "12345a".isdigit() False
แต่สิ่งนี้จะล้มเหลวสำหรับตัวเลขทศนิยม เราสามารถใช้วิธีต่อไปนี้สำหรับตัวเลขเหล่านั้น:
def isfloat(value):
try:
float(value)
return True
except ValueError:
return False
isfloat('12.345')
isfloat('12a')
This will give the output:
True
False คุณยังสามารถใช้ regexes เพื่อผลลัพธ์เดียวกันได้ สำหรับทศนิยมที่ตรงกัน เราสามารถเรียก re.match(regex, string) โดยใช้ regex:"^\d+?\.\d+?$" ตัวอย่างเช่น
>>> bool(re.match("^\d+?\.\d+?$", '123abc'))
False
>>> bool(re.match("^\d+?\.\d+?$", '12.345'))
True