웹 개발/🐍 Python

웹 개발/🐍 Python

Airflow를 활용한 postgresql 자동 파티션 생성 스케줄링

1. 함수생성postgre에서 먼저 파티션 생성 함수를 만들어야합니다.CREATE OR REPLACE FUNCTION "MEASURE".create_monthly_partition(target_date date) RETURNS void LANGUAGE plpgsqlAS $function$DECLARE start_date date := date_trunc('month', target_date); end_date date := start_date + interval '1 month'; partition_name text := format('meas_data_%s', to_char(start_date, 'YYYYMM'));BEGIN IF NOT EXISTS ( SELECT 1 FROM pg..

웹 개발/🐍 Python

Python 타입 힌트에서 tuple, list, dict

Python 타입 힌트에서 tuple, list, dict Python에서 타입 힌트(Type Hint)는 코드의 가독성과 안정성을 높여주는 도구입니다.특히 tuple, list, dict처럼 자료형 컨테이너의 타입 힌트를 쓸 때는 갯수 제약이 어떻게 적용되는지를 정확히 아는 게 중요합니다.이번 글에서는 아래 세 가지를 기준으로 비교해보겠습니다:tuple[타입1, 타입2, ...]list[타입]dict[KeyType, ValueType]✅ 1. tuple: 갯수 중요def get_user() -> tuple[str, int]: return ("Alice", 30)이 함수는 두 개의 값을 반환합니다.첫 번째는 str, 두 번째는 int갯수까지 정확히 맞아야 합니다❌ 예외 발생 예시get_user() ..

웹 개발/🐍 Python

Python 자주 쓰는 예외 클래스

자주 쓰는 예외 클래스예외 클래스설명ValueError값이 잘못된 경우TypeError타입이 잘못된 경우KeyError딕셔너리 키가 없을 때IndexError리스트 인덱스 범위 초과ZeroDivisionError0으로 나눴을 때RuntimeError일반적인 실행 오류 예외 발생시키기raise를 사용하면 됩니다. java의 throw같은 역할을 합니다. raise ValueError(f"지원하지 않는 주소: {address}")

웹 개발/🐍 Python

Python 정규표현식 re.match 사용법

파이썬 re.match() 완전 정복파이썬에서 문자열을 분석하거나 필터링할 때 정규표현식(Regex)은 매우 유용한 도구입니다.그중에서도 re.match()는 문자열이 특정 형식으로 시작하는지 검사할 때 사용하는 함수입니다.이 글에서는 re.match()의 기본 개념부터 다양한 정규표현식 구성 요소, 실전 예제까지 하나하나 쉽게 설명해드리겠습니다.✅ re.match()란?re.match(pattern, string) 형태로 사용하며,문자열의 시작부터 pattern이 일치하는지 확인합니다.일치하면 Match 객체를 반환일치하지 않으면 None을 반환import rem = re.match(r'abc', 'abcdef')if m: print(m.group()) # 출력: 'abc'→ 문자열이 'abc'..

웹 개발/🐍 Python

Python 타입 힌트

1. 타입힌트란?타입 힌트(Type Hint)는 파이썬 3.5부터 도입된 문법으로,함수의 매개변수와 반환값에 자료형 정보를 명시하는 기능입니다.def greet(name: str) -> str: return "Hello, " + name name: str => 파라미터 name은 문자열(str)이어야 한다. -> str => 함수는 문자열을 반환한다. 2. 왜 타입 힌트를 써야할까요?이유설명✅ 코드 가독성협업 시 함수의 의도를 쉽게 파악할 수 있음✅ 코드 자동완성 향상VSCode, PyCharm에서 IDE가 똑똑하게 자동완성 제공✅ 정적 분석 가능mypy, pyright 등으로 오류 사전 탐지 가능✅ 대규모 프로젝트에 적합규모가 커질수록 타입 명시가 유지보수에 유리함 3. 기본 문..

웹 개발/🐍 Python

리스트 컴프리헨션(list comprehension)

리스트 컴프리헨션for 반복문 + append() 를 한 줄로 축약해 새 리스트를 만들어 주는 파이썬 문법입니다.읽는 그대로 "리스트를 간결하게(comprehend) 작성한다" 는 뜻이에요. 1. 기본 형태[ 표현식 for 변수 in 반복가능객체 if 조건식 ]# ↑ ↑ ↑# 새 값 기존 요소 하나씩 (선택) 필터 표현식 : 최종 리스트에 담길 값(가공 결과(for-in : 기존 시퀀스(리스트, 튜플, range 등)를 순회if 필터(선택) : 조건을 만족하는 요소만 포함. 2. 전통적 방법 vs 리스트 컴프리헨션0~9의 제곱값 구하기를 해봅시다 전통적 방법 (for-loop + append())# 새 빈 리스트 준비squar..

이재원
'웹 개발/🐍 Python' 카테고리의 글 목록