728x90
isdecimal(), isdigit(), isnumeric()
- 문자열 내의 문자가 숫자인지 판단하는 함수
str.isdecimal()
- 문자열 내의 모든 문자가 십진수 문자이고, 적어도 하나의 문자가 존재하는 경우 True / 그렇지 않으면 False 반환
- 십진수 문자 : 형식적으로 십진수 문자는 유니코드 일반 범주 《Nd》 에 속하는 문자
- int형으로 변환 가능한 숫자만 True (특수문자 해당안됨)
string = '4'
print(string.isdecimal()) # True
print(string.isdigit()) # True
print(string.isnumeric()) # True
str.isdigit()
- 문자열 내의 모든 문자가 digit이고, 적어도 하나의 문자가 존재하는 경우 True / 그렇지 않으면 False 반환
- digit : 십진수 문자, 호환성 위 첨자 숫자와 같은 특수 처리가 필요한 숫자 포함
속성값이 Numeric_Type=Digit 또는 Numeric_Type=Decimal - 숫자 모양으로 생겼으면 True (거듭제곱의 지수 등)
string = '4²'
print(string.isdecimal()) # False
print(string.isdigit()) # True
print(string.isnumeric()) # True
str.isnumeric()
- 문자열 내의 모든 문자가 숫자이고, 적어도 하나의 문자가 존재하는 경우 True / 그렇지 않으면 False 반환
- 숫자 : digit, 유니코드 숫자 값 속성을 갖는 모든 문자 포함
속성 값이 Numeric_Type=Digit, Numeric_Type=Decimal, Numeric_Type=Numeric - 제곱근, 분수, 거듭제곱 특수문자 등의 특수문자도 True 반환
string = '¼'
print(string.isdecimal()) # False
print(string.isdigit()) # False
print(string.isnumeric()) # True
▶ 결론 : isdecimal() < isdigit() < isnumeric() 순으로 True를 반환하는 범위가 크다!
728x90
'PROGRAMMING > PYTHON' 카테고리의 다른 글
[Python] 파이썬을 파이썬답게 - 반복문, 이진 탐색, 가장 큰 수 (0) | 2022.01.15 |
---|---|
[Python] 파이썬을 파이썬답게 - itertools 모듈 (0) | 2022.01.15 |
[Python] 파이썬을 파이썬답게 - iterable/sequence type 다루기 (0) | 2022.01.15 |
[Python] 파이썬을 파이썬답게 - 정수/문자열 다루기 (0) | 2022.01.15 |
[Python] heapq 모듈 사용법 (0) | 2022.01.11 |
댓글