본문 바로가기

오늘도 하나씩, 쉽게 풀어봅니다.

작은 시행착오도,
다음에 꺼내 볼 수 있는 기록으로.

전체 글 113

Git add 취소하기: 파일 내용은 남기고 스테이징만 빼는 방법

git add를 취소하되 방금 고친 파일 내용은 남기려면 git restore --staged -- note.txt처럼 스테이징 영역만 되돌립니다. 옵션 없이 git restore note.txt를 실행하는 것은 작업 파일을 바꾸는 다른 작업입니다. 두 명령을 바꿔 쓰지 마세요.아래는 Windows PowerShell과 Git 2.52.0.windows.1에서, 새 임시 저장소의 한 파일로 재현한 예제입니다. 기존 프로젝트 대신 연습 폴더에서 먼저 확인합니다. 그림은 실행 로그를 설명하는 도해이며 실제 프로그램 화면이 아닙니다.1. 어디서 실행하는지와 보존할 파일부터 확인PowerShell을 열고 git --version으로 설치를 확인합니다. Git 2.23부터 restore가 제공됩니다. 프로젝트에서..

Python dict.get 기본값이 적용되지 않을 때: 키 없음·None·0을 나누어 보세요

딕셔너리에서 config.get('timeout', 30)을 썼는데 None이 나올 수 있습니다. get의 기본값은 키가 없을 때 사용하기 때문입니다. 키가 있고 그 값이 None이라면 저장된 None을 그대로 반환합니다. 0과 False도 키가 존재하면 유지됩니다.이 차이는 재시도 횟수 0, 기능 끄기 False처럼 ‘비어 보이지만 유효한 값’을 다룰 때 중요합니다. Windows Python 3.14.0에서 아래 딕셔너리 예제를 직접 실행했습니다. 파일이나 실제 서비스 설정은 변경하지 않습니다.그림은 위에서부터 delay 키 없음, timeout 값 None, retries 값 0을 비교합니다. 그림에서는 세 행 모두 기본값 30을 사용했습니다. 아래 실행 예제에서는 retries와 delay의 기본..

Python sort 결과가 None일 때: sorted와 원본 리스트 변경을 구분하세요

정렬한 결과를 저장했는데 None이 나왔다면 result = scores.sort()처럼 작성했는지 확인하세요. list.sort()는 원래 리스트의 순서를 바꾸고 None을 반환합니다. 원본을 남기면서 정렬된 새 리스트가 필요하면 sorted()를 사용합니다.아래는 Windows Python 3.14.0에서 직접 실행한 예제입니다. 파일을 읽거나 기존 데이터를 지우지 않고 작은 숫자 리스트만 바꿉니다. 도해는 실제 실행 결과를 설명하도록 편집한 그림이며 프로그램 화면 캡처가 아닙니다.위 그림에서 sort의 화살표는 원래 리스트로 돌아옵니다. sorted의 화살표는 새 결과 리스트로 이어집니다. 두 함수 이름보다 ‘원래 순서가 필요한가’를 먼저 생각하면 선택하기 쉽습니다.1. Python 입력 위치와 첫..

Python heappushpop·heapreplace 차이: 넣은 값이 힙에 남지 않는 이유

heappushpop과 heapreplace는 모두 힙에서 값 하나를 반환하지만 순서가 다릅니다. 새로 넣을 값이 현재 최소값보다 작을 때 차이가 또렷합니다. 작은 값3을 넣어도 결과 힙에3이 남지 않는 이유를 같은 입력으로 비교합니다.실행 준비Windows CPython 3.14.0에서 아래 heapq_demo.py를 실제 실행했습니다. 새 폴더에 코드를 저장하고 PowerShell에서 python --version, python heapq_demo.py를 입력하세요. 표준 라이브러리 heapq를 쓰며, 여기서는 최소 힙 기능만 사용합니다. 목록의 첫 항목이 최소값이라는 조건과 목록 전체가 정렬됐다는 조건을 구분합니다.예시 1. heapify는 원본 목록을 바꾼다[8,3,5]에 heapify를 실행하면..

Python bisect_left·right: 삽입 위치와 실제 값 찾기를 구분하세요

bisect는 정렬된 목록에서 값을 넣을 경계를 구합니다. 반환된 번호가 있다고 해서 그 값이 실제로 들어 있다는 뜻은 아닙니다. 중복 값의 왼쪽·오른쪽 경계와 존재 검사를 나눠야 마지막 위치에서 IndexError가 나는 일을 막을 수 있습니다.실행 준비Windows CPython 3.14.0에서 아래 코드를 한 파일로 실행했습니다. 표준 라이브러리만 사용합니다. 새 작업 폴더에 bisect_demo.py로 저장하고 PowerShell에서 해당 폴더로 이동한 뒤 python --version과 python bisect_demo.py를 실행하세요. >>>가 보이면 Python 대화형 창이므로 quit()로 나온 뒤 터미널에서 명령을 입력합니다.예시 1. 중복된 70의 시작과 끝 찾기scores는 [60,..

Python pathlib 확장자 바꾸기: suffix·suffixes·stem과 실제 이름 변경의 차이

archive.tar.gz의 stem은 archive가 아니라 archive.tar입니다. pathlib의 suffix는 마지막 확장자 하나, suffixes는 점으로 나뉜 확장자 목록을 보여 줍니다. 이름 문자열을 다루는 것과 디스크의 파일을 바꾸는 것도 구분해야 합니다.Python 3.12.8에서 PureWindowsPath로 실제 파일을 만들지 않고 아래 예제를 실행했습니다. 파일 이동·이름 변경 명령은 실행하지 않습니다. 이 글의 결과는 이 버전 기준이며, Python 3.14 이후 일부 끝점 처리 변경과 혼동하지 않도록 끝에 점만 있는 이름은 예제에서 제외했습니다.1. Python 입력 위치부터 맞추기시작 메뉴나 기존 터미널에서 사용하려는 Python을 실행해 >>> 입력 위치를 엽니다. 아래 ..

Python 중복 제거 순서 유지: dict.fromkeys와 해시 불가능한 항목 처리

코드 목록에서 먼저 나온 순서는 유지하고 같은 코드를 한 번만 남기려면 list(dict.fromkeys(codes))를 사용할 수 있습니다. 순서 보장은 Python 3.7 이상을 기준으로 합니다. 문자열의 표기가 다른 경우와 사전처럼 해시할 수 없는 항목은 별도로 처리해야 합니다.한 파일로 실행하기아래 코드는 Windows CPython 3.14.0에서 실제 실행했습니다. 새 폴더에 fromkeys_demo.py로 저장한 뒤 PowerShell에서 python --version을 확인하고 python fromkeys_demo.py로 실행합니다. 각 예시는 같은 파일에서 위에서 아래로 실행합니다.예시 1. 첫 등장 순서 유지P-02, P-01, P-02, P-03, P-01 순서의 codes에서 키를 ..

Python Counter 차감: 빼기 연산에서 0·음수가 사라지는 이유

재고에서 사용량을 뺐는데 0과 음수가 사라진다면 Counter의 두 차감 방식을 구분하세요. a - b는 양수인 항목만 남긴 새 Counter를 만들고, subtract는 대상 Counter를 직접 바꾸면서 0과 음수도 남깁니다. 부족 수량을 찾는 일에는 이 차이가 중요합니다.실행 위치와 준비Windows의 CPython 3.14.0에서 아래 전체 코드를 한 파일로 실행했습니다. 표준 라이브러리만 사용합니다. 새 폴더에 counter_demo.py로 저장하고 PowerShell에서 해당 폴더로 이동한 뒤 python --version, python counter_demo.py를 차례로 실행하세요. >>>가 보이면 Python 대화형 창이므로 quit()로 나온 뒤 터미널에서 실행합니다.예시 1. 양수 잔..

PowerShell where와 where.exe 차이: Get-Command -All로 실행 대상을 확인하세요

PowerShell에서 where python을 입력했는데 예상한 실행 파일 경로가 나오지 않는다면, 먼저 where가 어떤 종류의 명령인지 확인하세요. Windows PowerShell과 PowerShell에서는 where가 Where-Object의 별칭인 경우가 있습니다. Windows 실행 파일 검색 도구를 쓰려면 where.exe로 이름을 구분합니다.Windows의 PowerShell 7.6.5에서 아래 읽기 예제를 직접 실행했습니다. 환경변수·별칭을 변경하거나 프로그램을 설치하는 실습이 아닙니다. cmd.exe 경로는 PC에 따라 달라질 수 있으며, 다른 운영체제에 Windows의 where.exe가 있다고 가정하지 않습니다.1. 먼저 PowerShell인지 확인하기시작 메뉴에서 PowerShe..

Python venv 확인 방법: 활성화 표시보다 실행 파일과 pip 경로를 보세요

가상환경 폴더를 만들었어도 지금 실행하는 Python이 그 환경의 실행 파일인지 확인해야 합니다. sys.executable과 pip의 설치 위치를 같은 실행 파일로 확인하면 다른 Python에 패키지를 설치하는 실수를 줄일 수 있습니다. 명령줄 앞의 (.venv) 표시만으로 판단하지 마세요.Windows PowerShell에서 기존 설치된 Python 3.12.8로 새 가상환경을 만들고 pip 24.3.1의 위치를 확인했습니다. 외부 패키지 다운로드·전역 PATH·실행 정책 변경 없이 재현한 예시입니다. Python과 venv가 설치된 환경을 전제로 하며 설치 자체를 대신 다루지는 않습니다.1. Python과 Windows 실행기를 구분PowerShell을 열어 먼저 다음 명령을 확인합니다. Windo..

728x90
반응형
SMALL
728x90
반응형
LIST