문자열의 모든 문자가 숫자이고 하나 이상의 문자가 있으면 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