모듈과 파일 입출력
모듈
정의 및 특징
- 모듈은 서로 관련이 있는 프로그램 코드들을 묶어 놓은 파일로, 확장자는 .py이다.
- 모듈에는 함수, 클래스, 데이터 등이 포함될 수 있으며, 재사용이 가능하여 프로그램 개발에 드는 노력을 절감할 수 있다.
모듈의 종류
- 표준 모듈: 파이썬 패키지에 기본적으로 포함된 모듈이다.
- 사용자 정의 모듈: 사용자가 직접 만들어서 사용하는 모듈이다.
- 써드파티 모듈: 제3자가 만들어서 제공하는 모듈이다.
import
- import 키워드는 모듈을 불러오는 데 사용된다.
- 불러온 모듈 뒤에 마침표를 붙여 해당 모듈이 포함된 함수를 사용할 수 있다.
# 모듈에서 일부분만 사용
from 모듈이름 import 함수 또는 클래스
# 모듈 이름에 별명을 붙여 사용
import 모듈이름 as 별명
모듈 만들기
- 사용자가 직접 함수와 자료들을 하나의 파일에 모아두면 모듈이 된다.
- 모듈의 구조는 다음과 같다:
# 모듈의 구조 (.py)
"""
docstring
"""
# 상수
상수 = 값
# 함수
def 함수이름():
# 함수 내용
# 클래스
class 클래스이름:
# 클래스 내용
파일 입출력
파일 읽기
프로그램 수행 중에 파일에 저장된 데이터를 읽어오거나 파일로 데이터를 저장하려면 프로그램과 파일을 연결해야 한다.
open() 함수
- open() 함수는 프로그램과 파일을 연결하는 내장 함수이다.
- 파일을 열 때는 파일명과 모드를 지정해야 한다.
파일객체 = open("파일명", 모드)
파일 모드
모드설명
r | 읽기 모드 (기본값) |
w | 쓰기 모드 (파일이 없으면 생성, 있으면 덮어씀) |
a | 추가 모드 (파일 끝에 추가) |
x | 생성 모드 (파일이 이미 있으면 에러 발생) |
t | 텍스트 모드 (기본값) |
b | 바이너리 모드 |
파일 입력
- 파일을 열고 나면 파일에 있는 데이터를 읽어올 수 있다.
- 파일을 열면 반드시 닫아야 한다.
# 파일 읽기 예시
파일객체 = open("example.txt", "r")
데이터 = 파일객체.read()
print(데이터)
파일객체.close()
# with 문을 사용하면 자동으로 파일을 닫아줍니다.
with open("example.txt", "r") as 파일객체:
데이터 = 파일객체.read()
print(데이터)
Git 활용
추가로 Git의 활용에 대해 공부했다. Git은 형상 관리 툴로써 협업과 작업물을 아카이빙하는 데 많이 사용된다. 학부생 시절에도 Git 활용에는 문제가 없었지만, revert, reset 같은 명령어가 위험할 수 있으므로 개인이 혼자 사용하는 레포지토리에서도 사용을 자제하는 것이 좋다는 것을 배웠다.
Git의 주요 기능
- 버전 관리: Git은 프로젝트의 변경 이력을 관리하여 이전 버전으로 돌아가거나 변경 사항을 추적할 수 있다.
- 협업: 여러 개발자가 동시에 작업할 수 있으며, 각자의 변경 사항을 쉽게 병합할 수 있다.
- 아카이빙: 프로젝트의 모든 변경 사항을 기록하여 필요시 언제든지 이전 상태로 복구할 수 있다.
Git 명령어
1. git revert
- 기능: 특정 커밋의 변경 사항을 되돌리는 데 사용된다. 커밋 기록을 유지하면서 안전하게 변경 사항을 되돌릴 수 있다.
- 사용법: git revert <commit-hash>를 사용하여 특정 커밋의 변경 사항을 되돌린다.
2. git reset
- 기능: 커밋 기록을 변경할 수 있으며, 특정 커밋으로 돌아가거나 변경 사항을 삭제할 수 있습니다. 주의가 필요하다.
- 사용법:
- git reset --soft <commit-hash>: 변경 사항을 스테이징 영역에 유지한다.
- git reset --mixed <commit-hash>: 변경 사항을 작업 디렉토리에 유지한다 (기본값).
- git reset --hard <commit-hash>: 변경 사항을 완전히 삭제한다 (주의 필요).
3. git checkout
- 기능: 브랜치를 전환하거나 파일을 특정 상태로 복원하는 데 사용된다.
- 사용법:
- git checkout <branch-name>: 브랜치를 전환한다.
- git checkout HEAD -- <file-name>: 파일을 마지막 커밋 상태로 복원한다.
'[kakao x goorm] 생성 AI 응용 서비스 개발자 양성 과정 > 회고록' 카테고리의 다른 글
[kakao x goorm] NumPy, Pandas, Matplotlib의 결합을 통한 데이터 분석 및 시각화 (0) | 2025.03.13 |
---|---|
[kakao x goorm] 파이썬의 객체지향 프로그래밍, 패키지 관리, 예외 처리 및 다양한 프로그래밍 기법 (1) | 2025.03.13 |
[kakao x goorm] 집합 (Set)과 사전 (Dictionary) 이해 및 활용 (0) | 2025.03.11 |
[kakao x goorm] 파이썬의 반복문과 컨테이너 자료형 활용 (0) | 2025.03.07 |
[kakao x goorm] Python의 자료형, 변환, 연산자 활용 (0) | 2025.03.06 |