본문 바로가기
728x90

전체 글389

[파이썬][중급] Chapter49. contextlib로 with문 확장하기 파이썬의 with 문은 파일 처리 외에도 리소스를 자동으로 열고 닫는 다양한 상황에서 활용됩니다. contextlib 모듈은 사용자 정의 context manager를 손쉽게 만들 수 있도록 도와주는 표준 라이브러리입니다.● contextmanager로 간단히 정의from contextlib import contextmanager@contextmanagerdef open_file(path): f = open(path, "r") try: yield f finally: f.close()with open_file("sample.txt") as f: print(f.read())try-finally 블록을 활용하여 리소스를 안전하게 관리할 수 있으며, yield 이전.. 2025. 5. 25.
[파이썬][중급] Chapter48. typing 모듈로 타입 지정 고도화 타입 힌트를 더욱 정교하게 작성하기 위해 파이썬은 typing 모듈을 제공합니다. 이 모듈을 활용하면 함수, 변수, 클래스 등 다양한 위치에서 명확하고 안전한 타입 정보를 정의할 수 있으며, 정적 타입 검사 도구와 연계해 코드 품질을 높일 수 있습니다.● 리스트, 딕셔너리, 튜플 타입 지정from typing import List, Dict, Tupledef process(data: List[int]) -> int: return sum(data)info: Dict[str, int] = {"age": 30, "score": 100}coords: Tuple[float, float] = (37.5, 127.0)Python 3.9 이상에서는 list[int], dict[str, int]처럼 기본 자료형에 .. 2025. 5. 25.
[파이썬][중급] Chapter47. enum 클래스와 열거형 처리 열거형(enum)은 이름이 있는 상수 집합을 표현할 때 사용하는 자료형입니다. 파이썬의 enum 모듈은 명확한 상수 정의와 비교 기능을 제공하여, 코드의 가독성과 안정성을 높여줍니다.● Enum 기본 사용법from enum import Enumclass Color(Enum): RED = 1 GREEN = 2 BLUE = 3print(Color.RED) # Color.REDprint(Color.RED.name) # REDprint(Color.RED.value) # 1Enum은 이름과 값을 함께 정의하며, .name, .value 속성을 사용할 수 있습니다.● Enum 비교if Color.RED == Color.RED: print("같음")Enum 멤버는 싱글턴처럼 동.. 2025. 5. 25.
[파이썬][중급] Chapter46. 데이터 클래스와 필드 설정 (dataclasses) 파이썬 3.7부터 도입된 dataclasses는 클래스 정의를 간소화하고 자동으로 생성자, 비교 함수, 출력 함수 등을 만들어주는 데코레이터입니다. 이 장에서는 @dataclass의 다양한 기능과 필드 제어 방법을 살펴봅니다.● 기본 사용법from dataclasses import dataclass@dataclassclass Person: name: str age: intp = Person("Alice", 30)print(p) # Person(name='Alice', age=30)생성자, __repr__, __eq__ 등 반복되는 메서드들이 자동으로 생성됩니다.● 기본값과 필드 순서@dataclassclass Product: name: str price: int = 0기본값이 있는.. 2025. 5. 25.
[파이썬][중급] Chapter45. CSV 파일과 pandas의 통합 활용 CSV 파일은 구조화된 데이터를 텍스트 형식으로 저장할 수 있는 가장 일반적인 포맷입니다. 파이썬에서는 csv 모듈 외에도 pandas를 통해 CSV 파일을 훨씬 편리하고 강력하게 다룰 수 있습니다.● CSV 파일 읽기import pandas as pddf = pd.read_csv("data.csv")print(df.head())read_csv()는 자동으로 헤더, 구분자, 인코딩 등을 인식하며, 대용량 데이터도 효율적으로 처리합니다.● 구분자, 인코딩 설정df = pd.read_csv("data.tsv", sep="\t", encoding="utf-8")CSV 외에 탭 구분 파일(.tsv)이나 유니코드 파일도 쉽게 읽을 수 있습니다.● 열 선택 및 필터링print(df["이름"])print(df[df[.. 2025. 5. 24.
[파이썬][중급] Chapter44. JSON과 pickle의 차이점 파이썬에서는 객체를 저장하거나 전송하기 위해 pickle과 json 두 가지 주요 직렬화 방법을 사용할 수 있습니다. 두 방식 모두 데이터를 텍스트나 바이너리 형태로 변환할 수 있지만, 용도와 특성이 서로 다릅니다.● JSON의 특징텍스트 기반 (UTF-8 인코딩)사람이 읽기 쉬움언어 독립적: JavaScript, Java, C++, R 등 다양한 언어에서 사용 가능기본 자료형만 지원 (list, dict, int, float, str, bool, None)import jsondata = {"name": "Alice", "age": 30}with open("data.json", "w", encoding="utf-8") as f: json.dump(data, f)JSON은 웹 통신, 설정 파일 등 범.. 2025. 5. 24.
728x90