값마다 다른 자료형과 가능한 연산이 있음을 이해합니다.
Python의 모든 값은 객체이며 각 객체에는 자료형이 있습니다. int, float, str, bool, list 같은 자료형은 저장 방식과 가능한 연산을 결정합니다. type으로 현재 자료형을 확인할 수 있지만 보통은 값이 제공해야 할 동작을 중심으로 코드를 설계합니다.
반복문이 values의 다섯 값을 하나씩 꺼내 repr로 만든 표현과 type(value).__name__으로 얻은 자료형 이름을 나란히 출력합니다. repr을 썼기 때문에 문자열만 Python 양옆에 작은따옴표가 붙어 숫자나 bool과 구별되고, type(value)가 돌려주는 클래스 객체에서 __name__이 int, str 같은 이름 문자열만 꺼내 줍니다.
동적 타입 언어라는 말은 자료형이 없다는 뜻이 아니라 이름이 실행 중 서로 다른 자료형의 객체를 가리킬 수 있다는 뜻입니다.
한 변수가 중간에 전혀 다른 자료형을 가리키게 만들면 읽기 어렵습니다. 입력 경계에서 변환한 뒤 내부에서는 일관된 타입을 유지하세요.
숫자 10과 문자열 '10'은 출력 모양은 비슷하지만 더하기 결과와 비교 결과가 다릅니다.
직접 바꿔보세요values에 None과 딕셔너리를 추가하고 자료형 이름을 출력하세요.
실행 버튼을 누르면 결과가 여기에 표시됩니다.