본문 바로가기

language/python9

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.
파일 입출력과 with 문 – Python의 안전한 파일 처리 방식 들어가며Python에서 파일을 읽고 쓰는 일은 매우 자주 발생하는 작업입니다.기본적으로 open() 함수를 사용하여 파일을 다루지만, 이와 함께 자주 사용되는 것이 컨텍스트 매니저(Context Manager) 와 with 문입니다.이 글에서는 Python의 파일 입출력 기본 문법과 함께, with 문을 활용한 안전한 리소스 관리 방법을 설명합니다.1. 파일 열기와 닫기 – 기본 구조f = open("hello.txt", "w")f.write("Hello, world!\n")f.close()open() 함수로 파일을 열고, close()로 반드시 닫아야 함w: 쓰기 모드 (기존 내용 삭제)r: 읽기 모드 (기본값)a: 추가 모드 (기존 내용 유지, 이어쓰기)읽기 예시f = open("hello.txt",.. 2025. 4. 19.
예외 처리 (try-except)와 사용자 정의 예외 – Python 오류 처리 구조 이해하기 들어가며Python은 예외(Exception) 처리를 통해 예상치 못한 오류 상황에서도 프로그램이 안정적으로 동작하도록 도와줍니다.이 글에서는 Python의 try-except 기본 구조부터, finally, raise, 사용자 정의 예외 클래스까지 예제 중심으로 정리합니다.1. 기본 try-except 구조try: result = 10 / 0except ZeroDivisionError: print("0으로 나눌 수 없습니다.")예외 발생 시 except 블록으로 흐름이 이동오류가 발생하지 않으면 except는 실행되지 않음✅ 예외 정보 확인try: x = int("abc")except ValueError as e: print("예외 발생:", e) 2. 다양한 except 처리여러.. 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.
조건문, 반복문, 리스트 컴프리헨션 – Python 제어 흐름 완전 정복 들어가며어떤 언어를 배우든 가장 먼저 접하게 되는 구조 중 하나가 조건문과 반복문입니다.Python은 매우 직관적이고 간결한 문법으로 제어 흐름을 표현할 수 있으며, 특히 **리스트 컴프리헨션(List Comprehension)**은 Python만의 대표적인 간결 표현 기법입니다.이 글에서는 language/python 카테고리 주제로 Python의 if, for, while 그리고 list comprehension 문법까지 실제 예제 중심으로 정리합니다.1. 조건문 (if, elif, else)x = 10if x > 0: print("양수입니다")elif x == 0: print("0입니다")else: print("음수입니다")들여쓰기(indent)로 블록을 표현합니다 (: 필수)eli.. 2025. 4. 19.