십대를 위한 코딩/십대를 위한 파이썬

두 코드의 차이점 분석

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()를 사용하면 더 직관적인 형식으로 출력되며, 그렇지 않으면 객체 자체의 원시 표현이 표시됩니다. 😊