type()으로 자료형 확인하기 + 객체 개념

2021. 8. 31. 17:01코딩/Python

우선 JAVA 위주로 공부하다가 Python도 함께 공부하니 둘 다 객체지향 언어(Class 사용)라는 점에서 닮은 점이 많았다. 

 

 

class Coffee :
    pass

print(type(3), ":3")
print(type(4), ":4")
print(type(3.14), ":3.14")
print(type(3.15),"3.15")
print(type(True),":True")
print(type(False),":False")
print(type("Hello"),":Hello")
print(type([1,2,3,4]),": [1,2,3,4]")
print(type(Coffee()), ":Coffee()")
print(type(Coffee), ":Coffee")

 

실행 결과 

<class 'int'> :3
<class 'int'> :4
<class 'float'> :3.14
<class 'float'> 3.15
<class 'bool'> :True
<class 'bool'> :False
<class 'str'> :Hello
<class 'list'> : [1,2,3,4]
<class '__main__.Coffee'> :Coffee()
<class 'type'> :Coffee

 

정수형이나 실수형 타입에서는 큰 어려움이 없었지만, Coffee()와 Coffee를 구분한다는 것이 조금 생소했다. 

 

print(type(Coffee()), ": Coffee()")

Coffee 객체의 자료 형을 출력하라는 문장이다. Coffee()의 자료형은 __main__.Coffee 클래스이다. 

__main__ 파일에 정의된 Coffee 종류 또는 Coffee 형이라는 의미. 

Coffee 클래스의 객체를 생성할 때는 Coffee()와 같이 표현한다. 

 

print(type(Coffee), ":Coffee")

Coffee의 자료형은 자료형 클래스이다. 자료형의 종류라는 말. 여기서 자료형의 종류는 Coffee 이다. 

자료형 클래스는 객체를 만들 수 있는 틀.