반응형

Launguage 7

Python TypeVar와 제네릭, 제대로 알고 쓰자

OverviewPython 코드를 작성하다 보면 `TypeVar('T')` 나 `Generic[T]` 를 사용하게 된다. 코드를 복사해서 쓰긴 하는데, 정확히 뭘 하는 건지 모르겠다면?이번 글에서 TypeVar와 제네릭의 개념부터 실전 활용까지 완벽하게 정리한다. TypeVar란 무엇인가? 기본 개념from typing import TypeVarT = TypeVar('T') TypeVar는 "제네릭 타입 변수"를 선언하는 것이다. 쉽게 말하면T는 "어떤 타입이든 될 수 있는" 플레이스홀더사용할 때 구체적인 타입이 결정됨한 번 정해지면 그 타입으로 고정됨 제네릭이 필요한 이유 문제 상황: 타입이 불명확한 코드# 제네릭 없이class ProcessResult: def __init__(se..

Launguage 2026.01.02

Python 예외 처리와 컨텍스트 매니저 완벽 가이드

Overview예외 처리(Exception Handling)와 컨텍스트 매니저(Context Manager)는 견고하고 안전한 Python 코드를 작성하는 핵심 기능이다. 오류를 우아하게 처리하고, 리소스를 안전하게 관리하는 방법을 알아보자. 1. 예외 처리 기본 try-except 기본 구조try: # 예외가 발생할 수 있는 코드 result = 10 / 0except ZeroDivisionError: # 예외 처리 print("0으로 나눌 수 없습니다!") 여러 예외 처리하기def safe_divide(a, b): try: result = a / b return result except ZeroDivisionError: ..

Launguage 2025.12.19

Python 상속과 다형성 완벽 가이드

Overview상속(Inheritance)과 다형성(Polymorphism)은 객체지향 프로그래밍의 핵심 개념이다. 코드 재사용성을 높이고, 유지보수를 쉽게 만들며, 확장 가능한 구조를 설계할 수 있게 해준다. 1. 상속 기본 개념상속은 기존 클래스의 속성과 메서드를 새로운 클래스가 물려받는 것을 말한다. 기본 상속 구조class Animal: def __init__(self, name): self.name = name def speak(self): return "동물이 소리를 냅니다" def move(self): return f"{self.name}이(가) 움직입니다"class Dog(Animal): # Anima..

Launguage 2025.12.05

Python 클래스 데코레이터 완벽 가이드

Overview데코레이터는 Python의 강력한 기능 중 하나로, 코드를 간결하고 우아하게 만들어준다. 클래스에서 사용하는 주요 데코레이터들을 알아보자. 1. @property: Getter 만들기 `@property` 는 메서드를 속성처럼 사용할 수 있게 해준다.class Circle: def __init__(self, radius): self._radius = radius @property def radius(self): """반지름 getter""" return self._radius @property def diameter(self): """지름 계산""" return self._ra..

Launguage 2025.11.21

Python 매직 메서드 완벽 가이드

Overview매직 메서드(Magic Methods)는 Python 클래스에 특별한 기능을 부여하는 메서드다. ` __init__`, `__str__` 처럼 앞뒤로 언더스코어 두 개(__)가 붙어서 던더(Dunder) 메서드라고도 불린다. 매직 메서드를 사용하면 클래스가 Python의 내장 함수나 연산자와 자연스럽게 동작하게 만들 수 있다. 1. 객체 생성과 초기화 `__init__`: 생성자가장 많이 사용하는 매직 메서드로, 객체가 생성될 때 자동으로 호출된다.class Person: def __init__(self, name, age): self.name = name self.age = age print(f"{name} 객체가 생성되었습니다!")p..

Launguage 2025.11.07

Python 메서드의 3가지 종류: Instance, Class, Static Method 완벽 정리

OverviewPython 클래스에는 세 가지 종류의 메서드가 있다. 이들의 차이를 제대로 이해하면 더 깔끔하고 효율적인 코드를 작성할 수 있다. 1. Instance Method (인스턴스 메서드)가장 일반적인 메서드로, 객체(인스턴스)가 호출하는 메서드 이다.class Student: def __init__(self, name, grade): self.name = name self.grade = grade def introduce(self): # 인스턴스 메서드 return f"안녕하세요, 저는 {self.name}이고 {self.grade}학년입니다."# 사용student = Student("철수", 3)print(student...

Launguage 2025.10.24

Python 가상환경 설정(WSL2 Ubuntu)

Overview이 글에서는 WSL2 기반 Ubuntu 환경에서 Python 개발을 위한 가상환경 설정 방법을 정리한다.Python 프로젝트를 운영하다 보면 Python 버전이 다르거나, 프로젝트마다 패키지 구성이 다른 경우가 많다.  이를 해결하기 위해 pyenv와 virtualenv를 활용하여 원하는 Python 버전을 설치하고, 각기 다른 가상환경을 생성하는 과정을 단계별로 설명한다.  주요 흐름은 다음과 같다.Ubuntu 환경에서 pyenv를 통한 Python 버전 설치virtualenv를 통한 Python 2/3 가상환경 생성WSL2 환경에 맞는 경로, 설정, 디버깅 팁 제공 특히 Python 2와 3을 동시에 사용하는 경우에도 각각의 가상환경을 설정하여 충돌 없이 개발할 수 있도록 구성한다.  ..

Launguage 2023.10.10
반응형