파이썬(Python)에서 유니코드 문자열이 오직 숫자 문자만으로 구성되어 있는지 확인하려면 isnumeric() 메서드를 사용할 수 있습니다. 이 메서드는 문자열의 모든 문자가 숫자 값을 나타낼 때 True를 반환하고, 하나라도 숫자가 아닌 문자가 포함되어 있으면 False를 반환합니다.
사용 예제
print(u"1234".isnumeric()) print(u"1,a234".isnumeric())
실행 결과
True False
위 예제에서 첫 번째 문자열 "1234"는 모든 문자가 숫자이므로 True가 출력됩니다. 반면 두 번째 문자열 "1,a234"에는 쉼표와 알파벳처럼 숫자가 아닌 문자가 포함되어 있기 때문에 False가 반환됩니다.
참고: 함께 알아두면 좋은 관련 메서드
문자열의 숫자 여부를 검사할 때는 상황에 따라 다른 메서드를 선택하는 것이 좋습니다.
- isdecimal(): 0~9 같은 십진수 문자만 허용하는 가장 엄격한 검사 방식입니다.
- isdigit(): 위첨자 숫자 등 일부 숫자 형태까지 포함하여 검사합니다.
- isnumeric(): 분수, 로마 숫자, 한자 숫자 등 숫자 값을 가지는 모든 유니코드 문자를 허용하는 가장 넓은 범위의 검사 방식입니다.
따라서 단순히 아라비아 숫자만 허용하고 싶다면 isdecimal(), 유니코드에서 표현 가능한 모든 종류의 숫자 문자를 허용하고 싶다면 isnumeric()을 사용하는 것이 적절합니다.