작성
·
86
0
if timeMin is not None:
if isinstance(timeMin, str):
timeMin = datetime.strptime(timeMin, "%Y-%m-%d")
timeMin -= timedelta(hours=9)
url += f"&timeMin={timeMin.isoformat("T")}Z"
마지막 줄을 실행하면 원래 쌍따옴표 내 쌍따옴표라서 오류가 떠야 하는데, 영상에서는 오류가 없습니다. 반면 제 환경에서는 예상대로 오류가 발생했고, 혹시 몰라 강사님 코드 원본을 실행해 봐도 같은 오류가 발생했습니다.
오류 해결법이 아니라, 왜 영상에서는 해당 오류가 발생하지 않는지 궁금합니다!
답변 1
0
url += f"&timeMin={timeMin.isoformat("T")}Z"
여기서 url 문자열 변수를 보면 f스트링 형식이고 그안에 {} 중괄호가 있어서 중괄호 안의 내용은 문자열 처리가 되지 않고 그 결과가 먼저 수행이 되기 때문에 일반적인 문자열 내부에 쌍따옴표 2개로 인식하지 않고 중괄호 안의 내용을 먼저 코드처리 후 그 결과가 문자열 조합이 되기 때문에 오류가 나지 않습니다. 물론 이는 파이썬 3.12.x 버전 이상부터 지원되는 기능이라 그 이하의 버전에서는 오류가 발생합니다.
위 이미지에서 보면 아래의 파이썬 3.11.x에서는 오류가 발생하고 위의 3.12.x 에서는 오류가 발생하지 않는것을 확인할 수 있습니다.