본문 바로가기

파이썬

[Python3] .isdigit() .isdecimal() .isnumeric() 숫자 판별

이들은 모두 문자열이 숫자인지 아닌지를 판별하여 True, False를 return 하는 함수이다.

.isdigit()

이는 문자열이 숫자로만 이루어져 있을 경우 True, False를 return 한다.

²와 같은 지수를 뜻하는 문자도 True로 반환한다.

그러나 음수를 뜻하는 - 문자가 들어갈 경우 False를 반환한다.

>>> a = '1234' 
>>> a.isdigit() 
True 

>>> a = '1234²' 
>>> a.isdigit() 
True 

>>> a = 'abcdsfd' 
>>> a.isdigit() 
False 

>>> a = '-12314' 
>>> a.isdigit() 
False 

>>> a = ' 1 2' 
>>> a.isdigit() 
False

.isnumeric()

이는 문자열이 숫자로만 이루어져 있을 경우 True, False를 return 한다.

²와 같은 지수와 ½같은 분수 문자도 True로 반환하며, 이 역시도 음수를 뜻하는 - 문자는 False로 반환한다.

사람이 숫자라고 인식하는 문자는 모두 True로 반환한다고 보면 된다.

>>> a = '1234' 
>>> a.isnumeric() 
True 

>>> a = '1234²' 
>>> a.isnumeric() 
True 

>>> a ='½' 
>>> a.isnumeric() 
True 

>>> a = '1/2' 
>>> a.isnumeric() 
False

.isdecimal()

0~9사이의 숫자로 이루어진 문자열만 True를 반환하는 함수이다.

>>> a = '1234'
>>> a.isdecimal()
True 

>>> a = '1234²' 
>>> a.isdecimal()
False 

>>> a ='½' 
>>> a.isdecimal() 
False