이때 어떤 코드를 쓸 수 있을까?
1. int( ) 씌운 객체와 원 값 비교해서 판단하기
if int(a) == a:
pass
이렇게 하게 되면 실수를 넣어쓸 때 소숫점 자리가 있는 값들은 걸러진다.
.
.
2. isinstance() 메소드 사용
type 함수는 타입을 알아내기에는 용이하지만 비교하기는 어려움. 이 때 isinstance()를 사용할 수 있다
-> boolean으로 반환(데이터 값의 타입과 입력한 타입이 일치하면 True 아니면 False)
if isintace(a, int): #True로 값이 나오면 조건문 실행
pass
.
➕ 확인하고자 하는 타입을 튜플로 여러 개 넣으면 그 중 하나라도 만족하면 True 반환
>> isinstance('a', (int, float, list))
False
참고링크
.
.
3. float.is_integer()
: 소수점 뒤에 모두 0이 있는 부동 소수점을 고려해야 하는 경우
>>> x = 10.0
>>> float(x).is_integer()
True
>>> y = 1.5
>>> float(y).is_integer()
False
float 객체(인스턴스)가 정수 면 True, 아니면 False