오늘의 생각
역시 부트캠프다.
할 일이 끝나질 않는다. 주말에 좀만 더 공부할껄, 하는 아쉬움이 들었다.
아직은 프로젝트를 진행하는 부분이 아니다보니 다 할 수 있을 것 같은데, 실제로 적용해보는 노력이 더 많이 필요할 것 같다.
오늘의 학습내용
- 크롤링과 파싱
- HTTP와 웹 작동 방식
- HTML과 태그 - ID와 클래스
- BS4를 통해 HTML에서 데이터 크롤링하기
- 여러 건이 묶여있는 데이터 추출하는 법
- 네이버 API로 알아보는 API 사용법과 문서 읽는 법
추가적으로 알게된 내용
if __name__ == "__main__"를 쓰는 이유
파이썬을 파일은 파일을 스크립트로 실행할 때 (python script.py)와 다른 파일에서 해당 파일을 모듈로 가져다 사용할 때 두 가지 방법으로 실행될 수 있다.
이때 모든 파이썬 파일에는 특별한 내장 변수 __name__ 이 정의된다.
파일을 직접 실행할 때 해당 __name__은 "__main__"으로 설정되고, 모듈로 임포트할 경우 __name__은 파일 이름(또는 모듈 이름)으로 설정된다.
이 내용을 기반으로 if __name__ == "__main__"의 역할도 나뉘어진다.
# example.py
def greet():
print("Hello, World!")
if __name__ == "__main__":
greet()
위 코드를 예시로 동작 방식을 알아보면,
1. 직접 실행:
python example.py
이때 __name__ == "__main__"이 참이므로 greet()가 호출되고, Hello, World! 가 출력된다.
2. 모듈로 임포트:
# another_script.py
import example
이 경우 __name__ == "__main__"은 거짓이므로 greet()는 실행되지 않고, 모듈에 정의된 함수와 클래스만 불러온다.
이렇게 분리하여 사용하면 파일을 모듈로 재사용할 수 있으면서도, 독립적인 스크립트처럼 실행할 수도 있다. 또한, 테스트나 디버깅에 유용하고 모듈이 불필요하게 실행되는 것을 방지할 수 있다.
'개발자 일기 > 일일회고 (TIL)' 카테고리의 다른 글
[Upstage AI Lab]부트캠프 10일차 (1) | 2024.11.27 |
---|---|
[Upstage AI Lab]부트캠프 9일차 (0) | 2024.11.26 |
[Upstage AI Lab]부트캠프 7일차 (0) | 2024.11.23 |
[Upstage AI Lab]부트캠프 4~6일차 (1) | 2024.11.21 |
[Upstage AI Lab]부트캠프 3일차 (2) | 2024.11.19 |
댓글