본문 바로가기

python3

[PyCharm] 소스 루트(Source Root) 설정 하나가 만든 아찔한 버그 예시 코드 URL: https://github.com/MarcoBackman/EngineRefactorExample IDE의 편리한 기능이 때로는 예기치 못한 버그의 원인이 되기도 합니다. 오늘은 PyCharm(다른 IDE에서도 동일하게 발생할 수 있습니다)에서 복수의 소스 루트(Source Root)를 잘못 설정했을 때 마주쳤던, 디버깅하기 까다로운 테스트 실패 경험을 공유하고자 합니다.소스 루트, 왜 설정할까요?소스 루트를 설정하는 주된 이유는 파이썬 인터프리터에게 우리 프로젝트의 모듈을 어디서부터 찾아야 할지 알려주기 위함입니다. 이를 통해 아래와 같이 from my_package.my_module import my_function 같은 절대 경로 임포트를 IDE가 올바르게 인식하고, 코드 어.. 2025. 10. 7.
파이선 경로 탐색 기초 - Queue, Dequeue, DFS, BFS, Dijkstra 자바 위주로 프로그래밍을 진행하다가 파이선을 사용할 일이 많아지게되어 기초부터 학습하고자 코딩을 다시 작성하여 올립니다. 파이선의 Queue, Dequeue, PriorityQueue 는 자바와 달리 같은 라이브러리 클라스를 사용합니다. 자바 예시import java.util.Queue;import java.util.LinkedList;Queue queue = new LinkedList(); import java.util.Deque;import java.util.ArrayDeque;Deque deque = new ArrayDeque(); import java.util.PriorityQueue;PriorityQueue pq = new PriorityQueue(); 위와 같이 Queue는 LinkedLis.. 2025. 8. 16.
파이선 리스트의 고급 기능 파이썬 리스트를 능숙하게 다루려면, 리스트 컴프리헨션(List Comprehension), 확장 슬라이싱(Extended Slicing), 그리고 별(*) 연산자 활용법을 아는 것이 중요합니다. 이 외에도 정렬 심화, enumerate, zip 함수 등은 코드를 더욱 효율적이고 파이썬답게 만들어 주는 강력한 기능들입니다. 1. 리스트 컴프리헨션 (List Comprehension): 압축의 미학for 루프와 if문을 한 줄에 압축하여 새로운 리스트를 만드는 파이선의 대표적인 기능입니다. 기본 문법: [표현식 for 항목 in 반복가능객체 if 조건] 코드 예시: 짝수만 제곱하여 리스트 만들기numbers = [1, 2, 3, 4, 5, 6]# 일반적인 방법squared_evens = []for num .. 2025. 8. 10.