문자열의 모든 문자가 숫자이고 하나 이상의 문자가 있으면 true를 반환하고 그렇지 않으면 false를 반환하는 String 클래스의 isdigit() 메서드가 있습니다. 다음과 같이 호출할 수 있습니다.
>>> "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 동일한 결과에 대해 정규식을 사용할 수도 있습니다. 일치하는 소수의 경우 정규식을 사용하여 re.match(regex, string)를 호출할 수 있습니다. "^\d+?\.\d+?$". 예를 들어,
>>> bool(re.match("^\d+?\.\d+?$", '123abc'))
False
>>> bool(re.match("^\d+?\.\d+?$", '12.345'))
True