5 easy-to-make mistakes in Python
round() 함수는 수학적 반올림과 다르게 IEEE 표준(짝수로 반올림)을 따르므로, 정밀도가 중요한 경우 항상 문서를 확인해야 합니다. 🔢
- 제너레이터에 대한 멤버십 테스트(예:
값 in 제너레이터)는 제너레이터를 소모시키므로, 필요한 경우 값을 먼저 추출한 후 테스트해야 합니다. ♻️
for 루프의 임시 변수는 루프 종료 후에도 존재하며 마지막 값을 유지하므로, 기존 변수를 덮어쓰지 않도록 주의해야 합니다. ⚠️
- 가변 객체(리스트 등) 복사 시, 단순 할당은 참조를 생성하고,
copy()는 얕은 복사를, deepcopy()는 깊은 복사를 수행합니다. 중첩된 가변 객체는 deepcopy()를 사용해야 예상치 못한 부작용을 방지할 수 있습니다. 👯
- 전역 스코프에 변수를 두면 함수가 전역 변수에 의존하거나 이름 섀도잉이 발생할 수 있습니다. 이를 방지하기 위해 모든 스크립트 로직을
main() 함수 내에 캡슐화하는 것이 좋습니다. 🌍