본문 바로가기

전체 글

(94)
Python - typing Python에서 타입 힌트를 구성하고 사용하면 코드의 가독성과 유지 관리성이 크게 향상될 수 있습니다. 또한 자동 완성 및 정적 분석과 같은 작업에 대한 더 나은 도구 지원을 용이하게 할 수 있습니다. 타입 힌트는 변수, 함수의 매개변수, 반환 값 등에 대한 타입 정보를 명시적으로 선언하는 것입니다. 타입 힌트은 Python 인터프리터에 의해 강제되지 않기 때문에 실행 시점에는 무시됩니다. 타입 힌팅은 주로 코드 가독성, IDE 지원, 정적 분석을 위한 용도입니다. 기본 타입 정수, 문자열, 부동 소수점 및 부울과 같은 기본 유형의 경우 변수 및 함수 반환 유형에 타입 정보를 명시적으로 선언 # 변수에 타입 힌트 추가 name: str = "Python" age: int = 30 is_student: b..
Python - Parameter(매개변수)와 Argument(인자) Parameter와 Argument의 차이 Parameter(매개변수) 함수에 전달되는 값을 받아들이는 변수 def add(a, b): return a + b Argument(인자) 함수를 호출할 때 전달되는 값 result = add(3, 5)
Python - 패킹(Packing), 언패킹(Unpacking) 패킹(Packing) 여러 개의 값을 하나의 자료구조(리스트, 튜플 등)로 묶는 것을 의미. ### 리스트 패킹 # 3개의 값을 리스트에 담아 my_list라는 변수에 할당 my_list = [1, 2, 3] ### 딕셔너리 패킹 # 3개의 값을 딕셔너리에 담아 my_dict라는 변수에 할당 my_dict = {'a': 1, 'b': 2, 'c': 3} ### 튜플 패킹 # 3개의 값을 튜플에 담아 my_tuple이라는 변수에 할당 my_tuple = (1, 2, 3) # 튜플을 () 생략하고 사용 가능 my_tuple = 1, 2, 3 print(my_tuple) # (1, 2, 3) 아래 코드는? a, b, c = 1, 2, 3 # 패킹? # (a, b, c) = (1, 2, 3) # 언패킹? pri..
Python - 프로그램 환경 설정값 관리와 로깅 적용 파이썬 프로그램의 환경 설정값(DB 접속 정보, Logging 설정 등)을 관리하고 로깅을 적용하기 YAML 파일을 사용하여 프로그램 환경 설정값을 관리 환경 설정 값은 한번만 읽어오기 환경 설정 값을 이용 하여 Logging 설정, DB 접속 하기 로깅의 핸들러와 포매터는 한번만 설정하기 모듈 별로 logger를 생성 하고 하나의 파일에 로그를 기록하기 파일 구조 . ├─ app_init.py # 프로그램 최초 환경 설정(로깅 설정) ├─ config.py # 환경 설정값 로드 ├─ config.yaml # 환경 설정값 ├─ main.py # 메인 프로그램 ├─ db | └── connect_db.py # 데이터베이스 연결 ├─ logs | └── app.log # 로그 파일 └─ service ├──..
Python - Python에서 YAML 사용하기 YAML이란? YAML(YAML Ain't Markup Language)은 가독성이 좋고, 계층 구조를 표현하기 쉬우며, 코드 생성이 용이합니다. YAML은 설정 파일, 로그 파일, 데이터 교환 등 다양한 분야에서 활용됩니다. 구성 요소 및 문법 스칼라 값(scalar)은 문자열, 숫자, 불린 등의 단일 값을 의미합니다. 시퀀스(sequence)는 순서가 있는 값의 목록을 나타냅니다. 매핑(mapping)은 키-값 쌍으로 이루어진 데이터 구조입니다. 주석은 # 기호로 시작합니다. 앵커(&)와 별칭(*)을 사용하여 중복 데이터를 재사용할 수 있습니다. JSON과의 비교 항목 설명 가독성 YAML은 사람이 읽고 쓰기 쉽도록 설계되었으며, JSON보다 더 자연스러운 언어 구조를 가지고 있습니다 주석 YAML은..
Python - Logging - 2 (로깅 적용) Flask에 로깅 적용 Flask에는 기본적으로 로깅이 설정되어 있습니다. logging를 import 하지 않고 app.logger로 사용할 수 있습니다. # pip install flask from flask import Flask app = Flask(__name__) @app.route('/') def hello_world(): app.logger.info('Root endpoint was called') return 'Hello, World!' if __name__ == '__main__': # 로깅 레벨을 DEBUG로 설정하여 앱을 시작합니다. app.logger.setLevel('DEBUG') app.run(debug=True) http://127.0.0.1:5000/에 접속하면 Consol..
Python - Logging - 1 (로깅 기본) 로깅(Logging)이란? 로깅(Logging)은 애플리케이션이나 시스템의 실행 중에 발생하는 이벤트나 메시지를 기록하는 과정 디버깅, 모니터링, 문제 해결, 감사 목적 등으로 사용 애플리케이션의 실행 상태를 추적하고 오류 발생 시 원인 분석 로그를 통해 시스템의 활동을 기록하고 모니터링 로그는 개발 단계뿐만 아니라 운영 환경에서도 매우 중요한 역할 로깅 레벨(Level)의 이해 로깅 레벨은 로그 메시지의 심각성이나 중요도를 나타내는 수준입니다. 일반적인 로깅 레벨 로깅 레벨 내용 DEBUG 개발 시 디버깅을 위해 정보 기록 INFO 프로그램 실행 과정에서 발생하는 정보 기록 WARNING 발생 가능한 문제 상황에 대한 경고 메시지 기록 ERROR 에러 발생 시 에러 정보 기록 CRITICAL 치명적인 ..
Python - Google Colab Google Colab(Google Colaboratory)이란? Google Colaboratory, 일반적으로 Google Colab이라고 부릅니다. 이 플랫폼은 Google에서 클라우드 기반의 무료 Jupyter 노트북 환경을 제공합니다. Colab은 복잡한 소프트웨어 설정 없이 웹 브라우저를 통해 Python 코드를 작성하고 실행할 수 있게 해줍니다. Colab의 장점 웹 기반의 Python 개발 환경: 복잡한 소프트웨어 설정 없이 웹 브라우저를 통해 Python 코드를 작성하고 실행할 수 있습니다. 무료 GPU 사용: 무료 GPU를 제공합니다. 시간 제한이 있습니다. 비용을 지불하면 더 많은 시간과 리소스를 사용할 수 있습니다. 구글 드라이브와의 통합: Google 드라이브와의 통합을 제공하여,..