본문 바로가기

프로그래밍37

Python 하위/상위 폴더의 함수 import하는 법 Python 프로젝트가 커지면서 파일이 여러 폴더로 나뉘면, 다른 폴더에 있는 함수를 import해야 하는 일이 자주 발생합니다. 그러나 import 문법은 폴더 구조에 따라 다소 헷갈릴 수 있습니다.본 글에서는 Python에서 하위 폴더, 상위 폴더에 있는 함수나 모듈을 import하는 방법을 정리하였습니다.1. 현재 폴더의 함수 import같은 폴더에 있는 파일은 파일명(.py 확장자 제외)으로 바로 import할 수 있습니다.예시 구조project/├── main.py└── utils.pymain.pyfrom utils import my_functionmy_function() 2. 하위 폴더에 있는 함수 import예시 구조project/├── main.py└── helpers/ ├── __.. 2025. 7. 31.
Git bash에서 log 보는 법 git log는 Git 프로젝트의 커밋 히스토리를 출력해주는 명령어입니다. 누가 언제 어떤 변경을 했는지, 커밋 메시지와 해시 값, 브랜치 정보를 포함해 소스코드 변경 이력 전체를 탐색할 수 있는 중요한 도구입니다.git log 위 명령어를 입력하면 다음과 같은 기본 출력이 나타납니다:commit 4a2f3a19bdfa7adbdc8e9b03ac5f17b01cbe49d6Author: 홍길동 Date: Mon Jul 1 10:14:37 2025 +0900 로그인 기능 구현자주 사용하는 git log 옵션한 줄로 요약 보기: --oneline커밋 메시지를 요약해서 한 줄씩 간결하게 보고 싶을 때 유용합니다.git log --oneline 예시 출력:4a2f3a1 로그인 기능 구현12f4dca 회원가입.. 2025. 7. 18.
Git merge & rebase 차이 브랜치 기반 협업을 위한 두 가지 선택지Git은 브랜치 기반의 버전 관리 시스템입니다. 개발자들은 기능별 브랜치를 만들고, 작업을 마친 후 해당 브랜치를 main 또는 develop 브랜치에 반영하게 됩니다. 이때 브랜치를 합치는 방법은 크게 두 가지가 있습니다.git mergegit rebase이 둘은 기능적으로는 같은 목적(브랜치 병합)을 달성하지만, 내부 동작 방식과 커밋 히스토리 형태에서 큰 차이가 있습니다.git merge: 분기점이 보존되는 안전한 병합git merge는 브랜치 간 변경 사항을 통합하되, 분기점을 그대로 남깁니다. 예를 들어 feature 브랜치를 main에 병합한다면, main 브랜치에는 새로운 "병합 커밋"이 생성되며, 두 브랜치의 변경 내역을 모두 담습니다.# main 브.. 2025. 7. 17.
Python lambda 함수란 해당 글에서는 **한 줄짜리 익명 함수** 라고 불리는 람다 함수(lambda function)에 대해 설명드리겠습니다. 이는 본문이 짧고 일회성 함수가 필요한 경우 매우 유용하게 쓰입니다. lambda 함수란 무엇인가요?lambda 함수는 이름 없이 정의되는 익명 함수입니다. def를 사용하지 않고도 간단한 처리를 위한 함수를 만들 수 있습니다.기본 문법은 다음과 같습니다:lambda 매개변수들: 표현식 예를 들어, 아래와 같이 사용할 수 있습니다.add = lambda x, y: x + yprint(add(3, 5)) # 출력: 8 위 코드는 아래의 일반 함수 정의와 동일합니다:def add(x, y): return x + y lambda의 주요 특징으로는 아래와 같습니다,한 줄로 정의 가능.. 2025. 7. 16.
Python 함수 위 @ - 데코레이터 란 Python 코드를 보다 보면 종종 함수나 메서드 위에 @ 기호로 시작하는 이상한(?) 줄을 보게 됩니다. 예를 들면 다음과 같은 형태입니다:@my_decoratordef my_function(): ... 이것은 데코레이터(decorator)라는 문법으로, 기존 함수나 클래스의 동작을 수정하거나 확장할 수 있게 해주는 Python의 강력한 기능입니다. 본 글에서는 데코레이터의 개념, 기본 사용법, 자주 쓰는 내장 데코레이터들, 그리고 직접 만드는 방법을 다루려고 합니다. 데코레이터란?데코레이터는 다른 함수를 인자로 받아 새로운 기능을 추가한 뒤 반환하는 함수입니다. 흔히 함수에 어떤 "포장"을 입혀주는 역할을 합니다. 예를 들어, 아래와 같은 데코레이터 함수가 있다고 합시다:def my_decora.. 2025. 7. 15.
Python *args, **kwargs 의미 Python 함수를 보다 보면 아래와 같은 문법이 자주 보입니다.def my_function(*args, **kwargs): 많은 Python 라이브러리나 프레임워크에서 흔하게 등장하며, 가변 인자를 처리할 때 사용하는 매우 유용한 기능입니다.해당 글에서는 *args와 **kwargs의 의미, 사용 방법, 예제에 대해 설명드리겠습니다. *args: 위치 인자를 여러 개 받을 때*args는 임의 개수의 위치 인자(positional arguments)를 튜플 형태로 받아주는 기능입니다.예시: 숫자들을 더하는 함수def add_all(*args): return sum(args)print(add_all(1, 2, 3)) # 출력: 6print(add_all(10, 20, 30, 40)) # .. 2025. 7. 14.