십대를 위한 코딩/십대를 위한 파이썬
두 코드의 차이점 분석
forSilver
2025. 3. 8. 05:47
반응형
코드 분석
다음 코드는 변수를 그대로 출력한 결과와 print() 함수에 담아서 출력한 것을 비교한 것입니다.
🔹 두 코드의 차이점 분석
각각의 실행 결과에서 출력 형식의 차이가 발생합니다.
✅ 1. 첫 번째 코드 (now만 실행)
now
🔍 출력 결과:
datetime.datetime(2025, 3, 8, 5, 36, 34, 715143, tzinfo=datetime.timezone(datetime.timedelta(seconds=32400)))
🔎 설명:
- 이 방식은 변수를 직접 실행한 경우의 출력 형식입니다.
- Google Colab이나 Jupyter Notebook에서는 마지막 줄에 변수를 놓으면 객체의 기본 표현(Representation, repr)을 출력합니다.
- datetime.datetime 객체의 raw 데이터(객체 정보)가 그대로 표시됩니다.
- 타임존 정보 (tzinfo)도 datetime.timezone(datetime.timedelta(seconds=32400)) 형식으로 출력됨.
✅ 2. 두 번째 코드 (print(now))
print(now)
🔍 출력 결과:
2025-03-08 05:36:34.715143+09:00
🔎 설명:
- print()를 사용하면 문자열로 변환된 형태로 출력됩니다.
- datetime.datetime 객체는 기본적으로 str()을 호출하면 사람이 읽기 좋은 형식으로 변환됩니다.
- 따라서 날짜 및 시간 정보만 출력되며, tzinfo가 +09:00 (KST, 한국 표준시)로 명확하게 표시됩니다.
✅ 결론: 차이점 요약
실행 방식 출력 형태 설명
now | repr() 형태의 객체 정보 | 객체의 모든 속성(타임존 포함)이 표시됨 |
print(now) | 사람이 읽기 쉬운 문자열 | datetime.datetime이 str()로 변환되어 출력 |
📌 즉, print()를 사용하면 더 직관적인 형식으로 출력되며, 그렇지 않으면 객체 자체의 원시 표현이 표시됩니다. 😊