클래스 비교의 비직관성: 파이썬에서 객체 간 == 비교는 기본적으로 객체의 ID(메모리 주소)를 비교하며, 값 기반 비교를 위해서는 __eq__ 메서드를 직접 오버라이드해야 합니다. 🆔
for/while 루프의 else 블록: 루프(for, while)는 else 블록을 가질 수 있으며, 이 블록은 루프가 break 없이 모든 반복을 자연스럽게 완료했을 때만 실행됩니다. 🔄
루프 및 예외 처리 변수의 스코프: for 루프에서 사용된 변수는 루프 종료 후에도 외부 스코프에 남아 기존 변수를 덮어쓸 수 있으며, try-except 블록의 예외 변수는 블록 내에서만 유효하고 종료 시 정리되어 외부에서는 접근할 수 없어 일관성이 부족합니다. ⚠️🧹
리스트 슬라이스 삽입: 파이썬 리스트는 슬라이스를 사용하여 특정 구간을 새로운 리스트(길이 무관)로 유연하게 교체할 수 있어, 여러 요소를 한 번에 삭제, 삽입 또는 대체하는 것이 가능합니다. ✂️
가변 객체 기본 인자: 함수 정의 시 리스트나 딕셔너리 같은 가변 객체를 기본 인자로 사용하면, 해당 객체가 함수 호출마다 새로 생성되지 않고 공유되어 예상치 못한 부작용을 일으킬 수 있으므로, None을 사용하고 함수 내부에서 초기화하는 것이 권장됩니다. 🐛