반응형
변수가 정수인지 어떻게 확인합니까?
해결 방법
이 작업을 수행해야하는 경우
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
반응형
'파이썬' 카테고리의 다른 글
파이썬 Randomizing a list in Python (0) | 2020.11.11 |
---|---|
파이썬 Convert Z-score (Z-value, standard score) to p-value for normal distribution in Python (0) | 2020.11.11 |
파이썬 Python 카운터 키 () 반환 값 (0) | 2020.11.10 |
파이썬 How to randomly shuffle data and target in python? (0) | 2020.11.10 |
파이썬 scikit learn의 전처리-단일 샘플-지원 중단 경고 (0) | 2020.11.10 |
댓글