본문 바로가기

전체 글150

2단계 : 7. 실습 : 파이썬 학생 성적 관리 시스템 파이썬의 기본 개념들을 모두 활용한 학생 성적 관리 시스템을 만들어보겠습니다. 이 프로그램은 학생의 정보와 성적을 입력, 조회, 수정, 삭제할 수 있고, 파일에 저장하고 불러올 수 있는 기능을 제공합니다.   1. 필요한 모듈 임포트 및 전역 변수 선언 import osimport csvimport jsonfrom datetime import datetime# 변수와 자료형FILE_PATH = "students.csv" # 문자열 변수JSON_PATH = "students.json" # JSON 파일 경로SUBJECTS = ["국어", "영어", "수학", "과학", "사회"] # 리스트 변수MIN_SCORE = 0 # 정수 변수MAX_SCORE = 100 # 정수 변수VERSION = 1.0 .. 2025. 4. 3.
2단계 : 6. 실습 : 파이썬 파일 관리 시스템 1. 전체 개요 이 코드는 파이썬으로 구현한 간단한 파일 관리 시스템입니다. 다양한 파일 유형(txt, csv, json)을 읽고 쓰며, 디렉터리 생성 및 삭제, 파일 검색, 수정 등의 기능까지 포함되어 있어 학습용 프로젝트나 업무 자동화 스크립트로 활용하기 적합합니다.  주요 클래스 설명 ㉮ FileManager  • 기능: 파일의 기본 정보를 가져오고, 이름 변경, 복사, 삭제 등의 기능 제공  • 주요 메서드:      • get_file_info() – 파일 경로, 이름, 크기 등 반환      • rename() – 파일 이름 변경      • copy() – 파일 복사      • delete() – 파일 삭제class FileManager: # 파일 관리 기본 클래스 def __i.. 2025. 4. 2.
2단계 : 6. 파일 작업 중 예외 처리 (파일이 없는 경우) Python에서 파일을 읽거나 쓸 때는 예상치 못한 다양한 예외가 발생할 수 있습니다. 그중에서도 가장 자주 마주치는 문제는 존재하지 않는 파일을 열려고 할 때 발생하는 FileNotFoundError 예외입니다. 이 장에서는 Python의 파일 입출력(I/O)에서 발생할 수 있는 예외 처리 기법 중파일이 없는 경우를 안전하게 처리하는 방법과 실전적인 예외 대응 전략을 집중적으로 다룹니다.  1. 예외 처리의 필요성 Python에서 파일을 열기 위해 open() 함수를 사용할 때,파일이 존재하지 않는 경로를 지정하면 FileNotFoundError가 즉시 발생합니다. 예시:file = open("없는파일.txt", "r") # 존재하지 않는 파일 📌 결과FileNotFoundError: [Errno .. 2025. 4. 1.
2단계 : 6. 파일 작업 후 반드시 닫기 - close() 와 with open의 차이와 선택기준 파일을 열어서 읽거나 쓰는 작업이 끝난 후, 파일을 명시적으로 닫는 것은 매우 중요한 습관입니다.Python에서는 open()으로 연 파일을 닫지 않으면 데이터 손실, 파일 잠금, 자원 누수 등의 문제가 발생할 수 있습니다. 이번 장에서는 파일을 닫는 전통적인 방법인 close()와,Pythonic한 방식인 with open 구문의 차이점, 장단점, 그리고 실무에서의 올바른 사용 기준을 명확히 설명합니다.  1. 왜 파일을 꼭 닫아야 하는가? Python에서 파일 객체를 사용하는 경우, 운영체제(OS)는 해당 파일에 대한 핸들(handle)을 유지합니다.만약 파일을 닫지 않으면 아래와 같은 문제가 발생할 수 있습니다:   🔴 자원 낭비: 파일 핸들이 시스템에 유지되어 다른 프로그램이 해당 파일에 접근 .. 2025. 3. 31.
2단계 : 6. 파일 쓰기 - write() 와 writelines 완벽 이해 Python에서 텍스트 파일에 데이터를 쓰는 작업은 데이터 저장, 로그 기록, 결과 출력 등 다양한 상황에서 매우 중요합니다.이를 위해 사용되는 대표적인 파일 객체의 메서드가 바로 write()와 writelines()입니다. 이 장에서는 파일 쓰기 동작의 핵심 원리, 두 메서드의 차이점, 사용 시 주의사항, 실전 활용 예제까지 깊이 있게 설명합니다.  1. 파일 쓰기 기본 개념 파일을 쓰기 위해서는 먼저 open() 함수로 파일을 쓰기 모드로 열어야 합니다.쓰기 모드는 아래와 같습니다:모드설명'w'쓰기 모드. 기존 파일이 있으면 내용을 모두 삭제 후 새로 씀'a'추가 모드. 기존 파일 끝에 내용을 덧붙임'x'새 파일 생성. 파일이 이미 있으면 에러 발생'x+' , 'a+'쓰기와 읽기 동시 가능 예시:w.. 2025. 3. 30.
2단계 : 6. 파일 읽기 - read(), readline(), readlines() Python에서 텍스트 파일을 다룰 때 가장 중요한 작업 중 하나는 파일을 읽는 작업입니다. Python의 open() 함수로 파일을 연 후, 파일의 내용을 읽는 방식에는 대표적으로 세 가지 메서드가 있습니다: ✅ read()✅ readline()✅ readlines() 이 장에서는 각 메서드의 동작 원리, 차이점, 용도에 따른 선택 기준, 그리고 실무에서의 활용 방법을 코드 예제와 함께 심도 있게 설명합니다.  1. read() - 파일 전체 내용을 한 번에 읽기 ㉮ 사용법with open("example.txt", "r", encoding="utf-8") as file: content = file.read() print(content)  • 파일 전체 내용을 하나의 문자열(String) 로.. 2025. 3. 28.
2단계 : 6. 텍스트 파일 열기 (open() 함수와 파일 모드) Python에서 파일 작업을 하기 위한 핵심 함수는 open()입니다. 이 함수는 로컬 파일 시스템에 있는 텍스트 또는 바이너리 파일을 열고, 읽기/쓰기/추가 등 다양한 작업을 할 수 있는 파일 객체(file object)를 반환합니다. 이 장에서는 open() 함수의 기본 사용법과 다양한 파일 열기 모드(read, write, append 등)에 대해 전문가 수준에서 깊이 있게 설명하고, 실전에서 자주 발생하는 오류와 최적 사용 팁까지 함께 다룹니다.  1. open() 함수의 기본 사용법 ㉮ 기본 구조file_object = open(file_path, mode) 인자명설명file_path열고자 하는 파일의 경로 (상대 또는 절대 경로)mode파일을 열 때 사용할 동작 모드 (예: "r", "w", .. 2025. 3. 27.
2단계 : 5. 리스트와 반복문 (실습:도서관리시스템) 📚 도서 관리 시스템: 리스트와 반복문 실습 예제  ✅ 학습 목표 이 실습 예제를 통해 다음 개념을 익힐 수 있습니다: • 리스트(List)의 활용 • 딕셔너리(Dictionary)와 함께 사용하는 리스트 • 반복문(for, while)의 실전 적용 • 조건문(if)과 리스트 검색 • 사용자 입력 처리  🧩 예제 소개 도서 관리 시스템은 도서 목록을 관리하고, 검색하거나, 대출/반납 기록을 저장하는 프로그램입니다. 실습을 통해 리스트에 데이터를 추가하거나 반복문을 통해 목록을 출력하는 등의 기능을 구현해 볼 수 있습니다.  🔸 1. 도서 리스트 구성 도서는 딕셔너리로 구성되어 있으며, 여러 권의 책을 리스트로 관리합니다.books = [ {"id": 1, "title": "파이썬 프로그래밍 기.. 2025. 3. 26.
2단계 : 5. 리스트와 반복문 (리스트 컴프리헨션의 소개 - 기본 활용법) 1. 리스트 컴프리헨션이란 ? Python의 리스트 컴프리헨션(List Comprehension)은 리스트를 간결하고 효율적으로 생성하는 방법입니다.기존의 for 문을 활용한 리스트 생성 방식보다 더 빠르고 직관적인 코드 작성이 가능합니다. ✅ 리스트 컴프리헨션의 주요 장점  • 코드가 간결하고 가독성이 높음  • 빠른 실행 속도 (for 문보다 성능이 향상됨)  • 함수형 프로그래밍 스타일을 지원  • 필터링과 변환을 쉽게 적용 가능  2. 리스트 컴프리헨션 기본 문법 ㉮ 기본 구조[표현식 for 변수 in 반복가능한객체]   ✅ 기존의 for 문을 활용한 리스트 생성 방식과 비교 일반적인 for 문을 사용한 리스트 생성numbers = []for i in range(1, 6): numbers.a.. 2025. 3. 25.
2단계 : 5. 리스트와 반복문 (리스트와 반복문 - for 문을 활용한 리스트 순회) Python의 리스트(List)는 여러 개의 데이터를 저장할 수 있는 자료형으로, 반복문과 함께 활용하면 더욱 강력한 데이터 처리 기능을 구현할 수 있습니다. 이번 장에서는 리스트를 for 문으로 순회하는 다양한 방법과 효율적인 반복문 사용법을 심도 있게 다룹니다.  1. 리스트와 for 문 기본 개념 for 문을 활용하면 리스트의 각 요소를 순차적으로 접근하여 반복적으로 실행할 수 있습니다. ㉮ for 문을 이용한 리스트 순회fruits = ["사과", "바나나", "체리"]for fruit in fruits: print(fruit) 출력결과사과바나나체리   ✅ 각 요소가 순서대로 출력됨.  2. 리스트의 인덱스를 활용한 반복문 ㉮ range()를 사용한 인덱스 접근fruits = ["사과", ".. 2025. 3. 24.
2단계 : 5. 리스트와 반복문 (리스트와 관련된 주요 메서드 - append(), remove(), sort() 등) Python의 리스트(List)는 다양한 메서드(method)를 제공하여 데이터 추가, 삭제, 정렬, 변환 등의 기능을 쉽게 수행할 수 있습니다.이번 장에서는 리스트의 주요 메서드(append(), remove(), sort(), extend(), pop(), insert() 등)를 심도 있게 다루고, 실전 예제와 함께 설명합니다. 1. 리스트(List) 메서드란 ? 리스트 메서드는 리스트 객체에 내장된 함수로, 리스트를 직접 변경하거나 조작할 수 있는 기능을 제공합니다. ✅ 대표적인 리스트 메서드메서드기능append(x)리스트 끝에 요소 추가extend(iterable)여러 개의 요소 추가insert(i, x)특정 위치(i)에 요소 추가remove(x)특정 요소 삭제pop(i)특정 위치(i)의 요소 제.. 2025. 3. 23.
2단계 : 5. 리스트와 반복문 (리스트의 기본 개념과 생성) 1. 리스트(List)란? Python에서 리스트(List)는 여러 개의 데이터를 순차적으로 저장할 수 있는 데이터 구조입니다.리스트는 다양한 데이터 타입을 포함할 수 있으며, 인덱스를 사용하여 요소를 접근하고 조작할 수 있습니다. ✅ 리스트의 주요 특징  • 순서가 있는(Ordered) 데이터 구조  • 다양한 데이터 타입을 저장 가능  • 변경 가능(Mutable) → 요소 추가, 수정, 삭제 가능  • 반복문을 활용한 데이터 조작 가능   2. 리스트 생성 방법 리스트는 대괄호 []를 사용하여 생성합니다. ㉮ 기본적인 리스트 생성numbers = [1, 2, 3, 4, 5]fruits = ["사과", "바나나", "체리"]mixed_list = [10, "Python", 3.14, True] # .. 2025. 3. 22.
2단계 : 4. 함수 (실행 시간 측정, 데이터 처리 및 알고리즘 최적화) 1. 개요 Python은 강력한 데이터 처리 기능과 다양한 라이브러리를 제공하여 효율적인 프로그래밍을 가능하게 합니다. 본 글에서는 실행 시간 측정 데코레이터, 피보나치 수열 계산, 리스트 필터링, 문자열 단어 개수 카운팅, 행렬 전치, 소수 판별, 최소/최대값 찾기 등 다양한 기능을 Python 코드로 구현하는 방법을 설명합니다.  2. 실행 시간 측정 데코레이터 (@timer) 프로그램의 성능을 분석할 때 특정 함수의 실행 시간을 측정하는 것은 중요합니다. Python의 functools.wraps와 time 모듈을 활용하여 실행 시간을 출력하는 데코레이터를 만들어 봅시다.import timeimport functoolsdef timer(func): @functools.wraps(func) .. 2025. 3. 21.
2단계 : 4. 함수 (함수의 가독성과 모듈화 - 왜 함수를 사용하는가 ?) 프로그래밍에서 함수를 사용하는 이유는 코드의 가독성(Readability)과 모듈화(Modularity)를 높이고, 유지보수성과 재사용성을 강화하기 위해서입니다. Python에서는 함수를 적절히 사용하면 복잡한 문제를 작은 단위로 나누어 해결할 수 있으며, 코드의 효율성과 유지보수성을 높일 수 있습니다. 이 장에서는 함수를 사용해야 하는 이유, 가독성과 모듈화의 개념, 좋은 함수 작성 원칙, 모듈화의 실제 적용 예제 등을 깊이 있게 설명합니다.  1. 함수의 역할과 필요성  프로그래밍에서 함수는 단순히 코드의 중복을 줄이는 것 이상의 역할을 합니다.특히, 대규모 프로젝트에서는 함수를 활용한 모듈화가 필수적입니다. ㉮ 함수를 사용해야 하는 이유 ✅ 코드의 재사용성(Reusability) 증가✅ 코드의 가독.. 2025. 3. 20.
2단계 : 4. 함수 (기본 매개변수와 키워드 매개변수) Python에서 함수를 정의할 때, 매개변수에 기본값(Default Value)을 설정할 수 있으며, 이를 기본 매개변수(Default Parameter)라고 합니다. 또한, 함수 호출 시 키워드를 사용하여 특정 매개변수에 값을 전달할 수도 있으며, 이를 키워드 매개변수(Keyword Argument)라고 합니다. 이 장에서는 기본 매개변수와 키워드 매개변수의 개념, 활용법, 주의할 점을 깊이 있게 다룹니다.  1. 기본 매개변수 (Default Parameter) 기본 매개변수는 함수를 호출할 때 인자를 전달하지 않아도 기본값이 적용되도록 설정된 매개변수입니다.  ㉮ 기본 매개변수 사용법 기본값이 있는 매개변수는 함수 정의 시 = 기호를 사용하여 값을 설정합니다.def greet(name="손님"): .. 2025. 3. 19.
2단계 : 4. 함수 (매개변수와 반환값의 사용법) Python의 함수는 데이터를 주고받는 기능이 매우 강력합니다. 매개변수(parameter)는 함수에 값을 전달하기 위한 변수이며, 반환값(return value)은 함수가 처리한 결과를 반환하는 값입니다. 이 장에서는 매개변수의 다양한 사용법과 반환값 처리 방법을 심도 있게 설명하고, 효율적인 함수 활용 방법을 다룹니다.  1. 매개변수란 ? 매개변수(parameter)는 함수 호출 시 전달되는 값(인자, argument)을 받아 처리하는 변수입니다. ㉮ 매개변수가 없는 함수 매개변수가 없을 경우, 호출 시 입력값 없이 실행됩니다.def greet(): print("안녕하세요!")greet() 출력결과안녕하세요!   • greet() 함수는 외부 값을 받지 않고 내부에서 정해진 동작만 수행.  ㉯.. 2025. 3. 18.
2단계 : 4. 함수 (함수 정의와 호출 - def 키워드) 함수(Function)는 특정 작업을 수행하는 코드 블록으로, 코드의 재사용성을 높이고, 유지보수를 용이하게 하며, 프로그램을 모듈화하는 데 중요한 역할을 합니다. Python에서는 def 키워드를 사용하여 함수를 정의할 수 있습니다. 이 장에서는 함수의 개념, 정의 방법, 호출 방식, 매개변수 전달, 반환값 처리, 그리고 함수의 장점까지 자세히 살펴봅니다.  1. 함수란 무엇인가? ㉮ 함수의 개념 함수(Function)는 특정 입력을 받아 처리를 수행한 후 결과값을 반환하거나 특정 작업을 실행하는 코드 블록입니다.함수를 사용하면 반복되는 코드를 줄이고, 가독성을 향상시키며, 유지보수성을 높일 수 있습니다. ㉯ 함수의 기본 구조def 함수이름(매개변수): 실행할 코드 return 반환값   •.. 2025. 3. 17.
2단계 : 3. 반복문 (골든크로스 및 데드크로스를 활용한 주식 백테스팅 전략) 1. 개요 투자자들은 주식의 매매 타이밍을 결정하기 위해 다양한 기술적 지표를 활용합니다. 그중 골든크로스(Golden Cross)와 데드크로스(Death Cross)는 대표적인 매매 신호로, 단기 이동 평균선이 장기 이동 평균선을 상향 돌파하면 매수 신호(골든크로스), 반대로 하향 돌파하면 매도 신호(데드크로스)로 활용됩니다. 본 포스트에서는 Python과 Pandas, Matplotlib을 활용하여 주식 데이터에 기반한 골든크로스 및 데드크로스 백테스팅 전략을 구현하는 방법을 소개합니다.   2. 데이터 준비 및 이동 평균선 계산 우선, 1,000일간의 가상 주식 가격 데이터를 생성하고, 20일 단기 이동 평균선(SMA 20)과 50일 장기 이동 평균선(SMA 50)을 계산합니다. import pan.. 2025. 3. 16.
2단계 : 3. 반복문 (무한 루프와 그 활용 사례) 1. 무한 루프란? 무한 루프(Infinite Loop)란 종료 조건이 없거나 조건이 항상 참(True)이어서 반복문이 무한히 실행되는 상태를 의미합니다. Python에서는 while 문을 활용하여 무한 루프를 쉽게 만들 수 있으며, 사용자 입력 대기, 서버 실행, 게임 루프, 실시간 데이터 처리 등의 다양한 실용적인 용도로 활용됩니다.  2. 무한 루프 생성 방법 무한 루프는 while True: 구문을 사용하여 만들 수 있습니다. ㉮ 기본적인 무한 루프while True: print("이 문장은 계속 실행됩니다") • while 문의 조건이 항상 True이므로 반복이 중단되지 않음. • 프로그램 강제 종료(CTRL + C) 또는 break 문을 사용해야 함.  3. 무한 루프 활용 사례 무한 루.. 2025. 3. 8.
2단계 : 3. 반복문 (break 와 continue의 사용 방법과 차이) Python에서 break와 continue는 반복문(for, while)의 실행 흐름을 제어하는 제어문(Control Statements)입니다. 반복문 내에서 특정 조건이 충족되었을 때 반복문을 조기 종료하거나, 특정 반복을 건너뛰는 기능을 수행합니다. 이를 활용하면 보다 효율적이고 유연한 반복문을 작성할 수 있습니다.  1. break 문: 반복문 강제 종료 break 문은 현재 실행 중인 반복문을 즉시 종료하고, 반복문이 위치한 블록의 다음 코드로 이동합니다. ㉮ 기본 문법for 변수 in 반복가능한객체: if 조건: break # 반복문 즉시 종료 실행할 코드while 조건: if 종료조건: break # while 문 즉시 종료 실행할 코드 ㉯.. 2025. 3. 7.
2단계 : 3. 반복문 (중첩 반복문 활용) 1. 중첩 반복문(Nested Loop)이란? 중첩 반복문(Nested Loop)은 반복문 안에 또 다른 반복문이 포함된 구조를 의미합니다. Python에서는 for 문과 while 문 모두 중첩해서 사용할 수 있으며, 이를 통해 이중 루프(2D 데이터 구조), 다중 패턴 처리, 테이블 연산, 중첩된 조건 평가 등을 수행할 수 있습니다.  2. 중첩 for 문 활용㉮ 기본 구조for 바깥반복변수 in 반복가능한객체1: for 안쪽반복변수 in 반복가능한객체2: 실행한 코드바깥 반복문(Outer Loop)이 한 번 실행될 때마다 안쪽 반복문(Inner Loop)이 전체 반복을 수행합니다. ㉯ 2D 리스트(행렬) 출력 예제 중첩 for 문을 사용하면 **2D 리스트(행렬)**의 각 요소를 .. 2025. 3. 6.
2단계 : 3. 반복문 (반복문의 필수 구성 요소 - range, 조건식, 종료 조건 등) Python에서 반복문(Loops)은 특정 코드 블록을 여러 번 실행할 때 사용됩니다. for 문과 while 문을 사용할 때 반드시 알아야 하는 필수 요소가 있습니다. 이 요소들을 잘 이해하면, 반복문을 더욱 효과적으로 사용할 수 있습니다.  1. 반복문의 필수 구성 요소 반복문을 올바르게 작성하기 위해 반드시 고려해야 하는 요소는 다음과 같습니다. 1. 초기값(Starting Value)반복이 시작될 때의 값for 문에서는 range()의 시작 값, while 문에서는 초기 변수 값2. 조건식(Condition)반복을 계속할지 여부를 결정하는 논리식for 문에서는 반복 가능한 객체가 끝날 때까지, while 문에서는 명시적 조건이 True일 때 반복3. 증감식(Increment / Decrement).. 2025. 3. 5.
2단계 : 3. 반복문 (for 와 while 의 차이점과 기본 사용법) 반복문은 프로그래밍에서 특정 코드 블록을 여러 번 실행할 때 사용됩니다. Python에는 두 가지 기본적인 반복문이 있습니다.  1. for 문: 주어진 범위나 반복 가능한 객체(iterable)의 요소를 순회하면서 실행. 2. while 문: 조건이 참(True)인 동안 반복 실행. 이 장에서는 for 문과 while 문의 차이를 명확히 이해하고, 각각의 문법과 사용법을 심도 있게 살펴보겠습니다. 1. for 와 while 의 차이점 비교 항목for 반복문while 반복문사용 목적반복 횟수가 정해져 있을 때조건을 만족하는 동안 반복반복 횟수미리 정의된 범위(리스트, 튜플, range())에서 반복특정 조건이 False가 될 때까지 반복종료 방식반복 가능한 객체의 요소를 모두 순회하면 자동 종료조건이 F.. 2025. 3. 4.
2단계 : 2. 조건문 (조건문을 활용한 간단한 프로그램 만들기) 조건문(if, elif, else)은 프로그램의 흐름을 제어하는 핵심 요소로, 다양한 조건을 평가하여 특정 로직을 수행하도록 만듭니다. 이번 장에서는 조건문을 활용하여 두 가지 간단한 프로그램을 제작합니다.  1. 숫자 크기 비교 프로그램 2. 특정 문자열 포함 여부 확인 프로그램 이 프로그램들은 단순한 비교 연산부터, 입력 처리, 오류 방지 및 확장성까지 고려하여 약간의 난이도가 있는 수준으로 작성됩니다.  1. 숫자 크기 비교 프로그램 숫자 크기 비교 프로그램은 사용자가 입력한 두 개의 숫자를 비교하여 더 큰 숫자를 출력하는 프로그램입니다. ㉮ 기본 구조두 개의 숫자를 입력받음입력값이 숫자인지 검증두 숫자를 비교하여 크거나 작은지 출력두 숫자가 동일하면 이를 처리㉯ 기본 코드# 사용자 입력 받기num.. 2025. 2. 23.