본문 바로가기
파이썬

파이썬 Checking whether a variable is an integer or not

by º기록 2020. 11. 10.
반응형

변수가 정수인지 어떻게 확인합니까?

 

해결 방법

 

이 작업을 수행해야하는 경우

isinstance(<var>, int)

원하는 경우 Python 2.x가 아닌 경우

isinstance(<var>, (int, long))

type 을 사용하지 마십시오. 다형성의 모든 유연성을 차단하기 때문에 파이썬에서는 거의 정답이 아닙니다. 예를 들어 int 를 하위 클래스로 지정하면 새 클래스가 int 로 등록되어야하지만 type 은이를 수행하지 않습니다.

class Spam(int): pass
x = Spam(0)
type(x) == int # False
isinstance(x, int) # True

이것은 Python의 강력한 다형성을 고수합니다. 하나가되도록 요구하는 대신 int 처럼 동작하는 모든 객체를 허용해야합니다.

하지만 고전적인 Python 사고 방식은 허가보다 용서를 구하는 것이 더 쉽다 는 것입니다. 즉, x 가 정수인지 확인하지 마십시오. 그것이 있다고 가정하고 그렇지 않은 경우 예외 결과를 포착합니다.

try:
    x += 1
except TypeError:
    ...


 

참조 페이지 https://stackoverflow.com/questions/3501382

 

 

반응형

댓글