typing 모듈로 타입 힌트 명시하기 (Python 3.5+)
들어가며Python은 동적 타이핑 언어지만, Python 3.5부터 도입된 typing 모듈과 타입 힌트(Type Hint)를 활용하면 코드의 가독성, 정적 분석 도구 활용, IDE 자동완성 등에서 큰 이점을 얻을 수 있습니다.이 글에서는 Python에서 타입 힌트를 명시하는 기본 문법부터, List, Dict, Union, Optional, Callable 등 typing 모듈의 주요 기능을 소개합니다.1. 변수와 함수에 타입 힌트 작성하기name: str = "Tom"age: int = 30함수에 적용def add(x: int, y: int) -> int: return x + y매개변수와 반환값에 타입 힌트를 추가실행 시에는 강제되지 않지만, 도구(Pyright, Mypy)로 정적 검사 가능 2..
2025. 4. 19.
클래스, 상속, dunder 메서드 – Python 객체지향 기초 정리
들어가며Python은 객체지향 언어입니다. 실제로 Python의 모든 것은 객체이며, 클래스는 그 객체를 생성하는 설계도(blueprint) 역할을 합니다.이 글에서는 Python의 클래스 정의 방법, 상속 구조, 그리고 __init__, __str__, __repr__ 같은 대표적인 dunder 메서드(Double Underscore Method) 를 예제와 함께 정리합니다. 1. 클래스 정의와 인스턴스 생성class Person: def __init__(self, name, age): self.name = name self.age = age def greet(self): print(f"안녕하세요, 저는 {self.name}입니다.")p = Person(..
2025. 4. 19.
함수, 매개변수, *args, **kwargs, 스코프, 클로저, 데코레이터 – Python 함수 구조 정리
들어가며Python에서 함수는 단순한 재사용 블록을 넘어서, 일급 객체로 다뤄지고, 내부 스코프와 클로저 개념을 포함해 매우 유연하고 강력한 기능을 제공합니다.또한 다양한 방식의 인자 전달 방식 (*args, **kwargs)과 데코레이터 패턴은 Python 개발자로 성장하는 데 필수적인 주제입니다.이 글에서는 Python 함수의 정의부터 고급 개념인 스코프, 클로저, 데코레이터까지 예제 중심으로 정리합니다. 1. 함수 정의와 호출def greet(name): print(f"Hello, {name}!")greet("Tom")def 키워드로 정의() 안의 매개변수를 통해 외부 값을 전달함수는 호출 전에도 객체로 취급됩니다:print(greet) # 2. 매개변수의 다양한 전달 방식✅ 기본 인자de..
2025. 4. 19.