Isdigit 파이썬 - Isdigit paisseon

안녕하세요. BlockDMask 입니다.
오늘은 파이썬에서 문자열이 숫자로 이루어졌는지 확인하는 isdigit 에 대해서 이야기해보려합니다.


1-1) isdigit 설명

isdigit은 string 클래스에 있는 메서드 입니다.
즉 문자열.isdigit() 이런식으로 사용하는 메서드 입니다.

str.isdigit()

문자열이 '숫자'로만 이루어져있는지 확인하는 함수 입니다.

문자가 '단 하나'라도 있다면 False를 반환하고,
모든 문자가 '숫자'로만 이루어져있으면 True를 반환합니다.

사용법
1) str.isdigit("판단하고자 하는 문자열")
2) "판단하고자 하는 문자열".isdigit()

두가지 방법 다 사용이 가능합니다.

str.isdigit() 은 음수를 뜻하는 '-', 소수점을 뜻하는 '.' 이것들을 숫자가 아닌 문자로 판단을 하기 때문에
실수나 음수를 판단하지 못합니다.
즉, "-2".isdigit(), "1.234".isdigit() 둘다 False 가 나오게 됩니다.

정리하자면 "오직 0을 포함한 양수형 정수로만 이루어진 문자열"만 isdigit에서 True가 나올 수 있습니다.
추가적으로 지수를 뜻하는 n제곱 2³, 3², 4² 이것도 True가 올 수 있습니다.

1-2) 파이썬 isdigit 예제

a = "BlockDMask"  # 문자로만 이루어짐
b = "1234Blog"    # 문자 + 숫자
c = "131231"      # 숫자
d = "-234"        # 음수
e = "1.23"        # 소수점
f = "3²"          # 3의 2제곱 기호 숫자
g = "⅔"           # 수학 기호 숫자 2/3
h = "0"           # 0
i = "0123"        # 0 으로 시작한 숫자

# str.isdigit("문자열")
print(f"str.isdigit('{a}') : {str.isdigit(a)}")
print(f"str.isdigit('{b}') : {str.isdigit(b)}")
print(f"str.isdigit('{c}') : {str.isdigit(c)}")
print(f"str.isdigit('{d}') : {str.isdigit(d)}")
print(f"str.isdigit('{e}') : {str.isdigit(e)}")
print(f"str.isdigit('{f}') : {str.isdigit(f)}")
print(f"str.isdigit('{g}') : {str.isdigit(g)}")
print(f"str.isdigit('{h}') : {str.isdigit(h)}")
print(f"str.isdigit('{i}') : {str.isdigit(i)}")

print()

# "문자열".isdigit()
print(f"'{a}'.isdigit() : {a.isdigit()}")
print(f"'{b}'.isdigit() : {b.isdigit()}")
print(f"'{c}'.isdigit() : {c.isdigit()}")
print(f"'{d}'.isdigit() : {d.isdigit()}")
print(f"'{e}'.isdigit() : {e.isdigit()}")
print(f"'{f}'.isdigit() : {f.isdigit()}")
print(f"'{g}'.isdigit() : {g.isdigit()}")
print(f"'{h}'.isdigit() : {h.isdigit()}")
print(f"'{i}'.isdigit() : {i.isdigit()}")
Isdigit 파이썬 - Isdigit paisseon

결과에서 보시면 str.isdigit() 함수
문자로만 이루어지거나, 문자가 하나라도 있는 경우는 False를 반환하는 것을 알 수 있습니다.
앞서 이야기 드렸듯 "-234" 음수나 "1.23" 과 같은 실수도 False로 반환 하는 것을 알 수 있습니다. -, . 을 문자로 인식했기 때문입니다.

오직 0을 포함한 양수로 이루어진 숫자와 지수만 True로 반환하는 것을 볼 수 있습니다.


추가적으로 알파벳으로만 이루어져있는지 확인하는 isalpha 메서드나, 
0~9 사이의 숫자로만 이루어져있는 경우를 판단하는 isdecimal 메서드가 궁금하시다면 [바로가기] 포스팅에서 확인할 수 있습니다.

Isdigit 파이썬 - Isdigit paisseon

오늘은 이렇게 isdigit 에 대해서 알아보았습니다. 감사합니다.

❮ String Methods


Example

Check if all the characters in the text are digits:

txt = "50800"

x = txt.isdigit()

print(x)

Try it Yourself »


Definition and Usage

The isdigit() method returns True if all the characters are digits, otherwise False.

Exponents, like ², are also considered to be a digit.


Syntax

Parameter Values

No parameters.


More Examples

Example

Check if all the characters in the text are digits:

a = "\u0030" #unicode for 0
b = "\u00B2" #unicode for ²

print(a.isdigit())
print(b.isdigit())

Try it Yourself »


❮ String Methods


파이썬에서 문자열이 숫자로만 구성되어있는지 확인할 때 String의 isdigit() 함수를 사용할 수 있습니다.

1. String isdigit()의 Syntax

isdigit()은 인자를 받지 않으며 문자열 객체에서 호출할 수 있습니다. 문자열이 숫자(digit)로만 구성되어있으면 true를 리턴하며, 그렇지 않으면 false를 리턴합니다.

2. isdigit()으로 문자열이 숫자로만 구성되어있는지 판별

'1234'처럼 문자열의 문자들이 모두 숫자로 되어있을 때 isdigit()은 true를 리턴합니다. 숫자가 아닌 알파벳같은 문자가 끼어있으면 false를 리턴합니다.

str = '1234'
print(str.isdigit())

str = 'abc1234'
print(str.isdigit())

Output:

3. 음수 또는 소수점에 대한 isdigit() 결과

isdigit()은 문자열의 구성 요소가 모두 숫자인지 확인하는 함수입니다. 문자열에 +- 같은 부호가 있다면 숫자가 아니기 때문에 isdigit()은 false를 리턴합니다. 또한 소수점도 숫자가 아니기 때문에 false가 리턴됩니다.

str = '-1234'
print(str.isdigit())

str = '+1234'
print(str.isdigit())

str = '12.34'
print(str.isdigit())

Output:

4. 유니코드에 대한 isdigit() 결과

유니코드는 \u00B2는 문자열에 숫자가 아닌 알파벳을 포함하고 있습니다. 하지만 유니코드 자체로 보면 숫자를 의미하기 때문에 true를 리턴합니다.

str = "\u0030"  # unicode for 0
print(str.isdigit())

str = "\u00B2"  # unicode for ²
print(str.isdigit())

Output:

  • Python - asyncio로 비동기 처리 구현
  • Python - 딕셔너리 필터링, 3가지 방법
  • Python - 파일 이름 변경, 3가지 방법
  • Python - pathlib 실행 파일 경로, 작업 디렉토리 확인, 변경
  • Python - 빈 파일 생성, 3가지 방법
  • Python - 리스트 필터링, 3가지 방법
  • Python 명령행 인자 받기 (argparse)
  • Python - venv로 가상환경 구성 및 설정
  • Python - 싱글턴(Singleton) 패턴, 3가지 방법
  • Python - 리스트 복사 (deep, shallow copy)
  • Python - 리스트 역순으로 순회
  • Python - 객체 리스트 정렬
  • Python - 랜덤 float 생성 방법
  • Python - 패킹(packing), 언패킹(unpacking)
  • Python - 객체를 문자열(string)로 변환
  • Python - 리스트를 튜플로 변환, 3가지 방법
  • Python - 튜플을 리스트로 변환, 4가지 방법
  • Python - sum()으로 딕셔너리 합계 계산
  • Python - 2진수를 10진수로 변환
  • Python - Set 요소 추가, 삭제 방법
  • Python - Set 생성 및 초기화 방법

codechachaCopyright ©2019 codechacha