-
isdecimal VS isnumeric VS isdigitPython 2021. 1. 20. 16:44
예시)
x = '3²' print(x.isdecimal()) print(x.isnumeric()) print(x.isdigit()) print() y = '3' print(y.isdecimal()) print(y.isnumeric()) print(y.isdigit()) z = '3.3' print(z.isdecimal()) print(z.isnumeric()) print(z.isdigit())
출력 결과
False True True True True True False False False
- isdigit()
isdigit()은 거듭제곱, 숫자 특수문자까지 True라고 허용하는 듯
- isnumeric()
isnumeric() 또한 분수, 숫자의 특수문자까지 True라고 허용한다.
- isdecimal()
isdecimal()은 int로 변환 가능한 문자만 True라고 허용한다. 즉, 특수문자, 거듭제곱으로 표현된 문자열 수는 False를 리턴한다.
즉, int로 변환 가능한 문자열을 판별하기 위해선 isdecimal()을 이용하고, 그렇지 않은 특수문자, 루트 같은 경우의 문자열 또한 숫자로 이루어진 문자열이라고 판별하고 싶으면 isnumeric(), isdecimal()을 혼용해서 쓰면 될 것 같다.
셋 다 실수는 False로 리턴하는 듯하다.
'Python' 카테고리의 다른 글
2진수, 8진수, 16진수 표현 (0) 2021.01.20 input 입력을 공백을 통해 나누어 저장하고 싶을 때 (0) 2021.01.20 [error] UnboundLocalError: local variable 'count' referenced before assignment 해결책 (0) 2021.01.20 10. 사전과 집합 (0) 2021.01.20 09. 리스트와 튜플 (0) 2021.01.20