본문 바로가기

Python147

[Python] hasattr() 함수로 객체 속성 안전하게 확인하기 안녕하세요. 오늘은 파이썬에서 안전하게 객체 속성을 확인할 수 있는 함수인 hasattr() 에 대해 알아보겠습니다. hasattr() 코드를 작성하다 보면 특정 객체가 사용하려는 속성(attribute)이나 메서드(method)를 가지고 있는지 확신할 수 없을 때가 있습니다. 다양한 소스에서 데이터를 받아 처리할 때, 어떤 객체에는 name 속성이 있지만 다른 객체에는 없을 수도 있습니다. 이럴 때 무작정 object.name처럼 접근하려다 AttributeError 예외를 만나게 됩니다. 이런 상황을 방지할 수 있는 파이썬 내장 함수가 바로 hasattr()입니다. hasattr() 함수는 객체가 특정 이름의 속성을 가지고 있는지 확인해 주는 파이썬 내장 함수입니다. 결과를 True 또는 Fals.. 2025. 11. 16.
[Python] Prefect 워크플로우 자동화 툴 안녕하세요. 오늘은 워크플로우 자동화 툴 Prefect 에 대해 알아보겠습니다. 개발 과정에서 데이터 수집, 모델 학습 등 쥑적으로 실행해야 하는 복잡한 작업들이 많습니다. 이런 작업들을 효율적으로 관리하기 위해 Prefect 를 사용할 수 있습니다. Prefect Prefect는 "파이썬 기반의 워크플로우 오케스트레이션(Orchestration) 툴"입니다. 단순한 '스케줄러'가 아니라, 여러 단계로 이루어진 복잡한 데이터 파이프라인 전체를 지휘하고 관리하는 역할을 합니다.- 안정성 (Resilience): 특정 작업(@task)이 실패했을 때, 자동으로 **재시도(retries)**하도록 설정할 수 있습니다. - 가시성 (Visibility): 강력한 **웹 기반 대시보드(UI)**를 제공합니.. 2025. 11. 13.
[Python] enum.Enum으로 상수 깔끔하게 관리하기 enum은 “Enumeration”의 약자로,의미 있는 이름으로 정해진 고정값(상수)을 관리할 수 있게 해주는 내장 모듈입니다. 예를 들어,프로젝트에서 상태를 “대기 / 진행 / 완료”로 다룬다고 할 때,status = "WAITING" # 문자열 실수로 오타나면 바로 버그! 이전엔 이렇게 썻지만, Enum을 사용하면,from enum import Enumclass Status(Enum): WAITING = 1 RUNNING = 2 DONE = 3이제 문자열 실수도 없고, IDE에서 자동 완성까지 지원됩니다 전체 코드입니다 main.pyfrom enum import Enum, auto# 기본 Enum 정의class Status(Enum): WAITING = 1 RUNNING.. 2025. 11. 11.
[Python] os.environ 으로 환경변수 관리하기 안녕하세요오늘은 os.environ 활용해서 환경변수를 안전하게 관리하는 방법에 대해 알아보도록 하겠습니다. 환경 변수란,운영체제에 저장된 설정값으로비밀번호, API 키, 데이터베이스 주소처럼 보안상 중요한 정보를 코드에 직접 적지 않고 외부에서 불러올 수 있게 해주는 방법입니다. api_key = "sk-xxxxxx" 와 같은 방법 대신, 환경변수로 저장해두고api_key = os.environ.get("API_KEY") 처럼 불러오게 되면, 보안과 관리가 훨씬 안전해집니다. 전체 코드입니다. main.pyimport os# 환경 변수 설정 (테스트용)# 실제 운영 환경에서는 터미널이나 .env 파일에서 설정하는 게 일반적입니다.os.environ["API_KEY"] = "my_secret_api_.. 2025. 11. 4.
[Python] pathlib 사용해서 파일과 폴더 다루기 안녕하세요오늘은 pathlib 라이브러리 사용해서 파일과 폴더 다루는 법에 대해 알아보도록 하겠습니다. pathlib 은 파이썬 3.4부터 추가된 표준 라이브러리로, 파일과 디렉토리 경로를 객체처럼 다룰 수 있게 해주는 모듈입니다. 전체 코드입니다. main.pyfrom pathlib import Path# 1. 현재 경로 확인하기p = Path(".")print("현재 경로:", p.resolve())# 2. 특정 파일/폴더 존재 여부print("demo.txt 존재하나요?", (p / "demo.txt").exists())# 3. 새 폴더 생성하기data_dir = Path("data")data_dir.mkdir(exist_ok=True)print("폴더 생성 완료:", data_dir.resolve.. 2025. 10. 28.
[Python] shutil 사용해서 파일 복사, 이동, 압축 하기 안녕하세요 shutil (shell utillities)은파일을 복사하거나 폴더를 압축하는 등의 작업을 쉽게 해주는 파이썬 내장 모듈입니다. 터미널에서, cp, mv, rm, zip 등 명령어를 직접 치는 대신,파이썬 코드로 자동화할 수 있는 도구입니다. 전체 코드입니다. main.pyimport shutilfrom pathlib import Path# 테스트용 디렉토리 생성base = Path("demo_folder")base.mkdir(exist_ok=True)(base / "test.txt").write_text("이건 shutil 테스트 파일입니다.", encoding="utf-8")print("테스트 파일 생성 완료:", (base / "test.txt").resolve())# 파일 복사하기sh.. 2025. 10. 21.
[Python] argparse 로 CLI 프로그램 만들기 안녕하세요 오늘은 argparse 사용하여 CLI 환경에서 프로그램 구동하는 방법을 알아보도록 하겠습니다. argparse는 파이썬 표준 라이브러리로,터미널(명령줄)에서 실행할 때 인자를 입력받는 도구입니다. 이 argparse 사용하여 간단한 인사 프로그램 만들어 보도록 하겠습니다. 전체 코드입니다. main.py import argparse# 1. ArgumentParser 객체 생성parser = argparse.ArgumentParser( description="간단한 인사 프로그램입니다.")# 2. 명령줄 옵션 추가 (--옵션명, 데이터 타입, 설명 등)parser.add_argument("--name", required=True, help="이름을 입력하세요.")parser.add_arg.. 2025. 10. 14.
[Python] 이미지 임베딩으로 텍스트↔이미지 검색하기 (CLIP) 안녕하세요오늘은 이미지 임베딩을 이용해텍스트로 가장 잘 맞는 이미지를 찾거나(텍스트 → 이미지)이미지와 가장 비슷한 설명 문장을 찾는(이미지 → 텍스트)미니 검색기를 만들어보겠습니다. 모델은 CLIP(Contrastive Language–Image Pretraining) 계열을 씁니다. 이미지 임베딩이란?이미지를 고정 길이의 벡터(예: 512차원)로 변환한 값입니다.비슷한 의미의 이미지·텍스트는 벡터 공간에서 가깝게 위치하므로, 코사인 유사도로 매칭할 수 있어요.여기서는 멀티모달 임베딩을 지원하는 CLIP을 사용해, 이미지와 텍스트를 같은 공간에 매핑합니다. 1. 환경 준비pip install sentence-transformers torch torchvision pillow numpy# (선택) fa.. 2025. 10. 2.
[Python] 간단히 구현하는 AI 이미지 캡셔닝 (Image Captioning) 안녕하세요이번 글에서는 파이썬 + Hugging Face Transformers 라이브러리를 활용해서,이미지를 입력하면 자동으로 설명 문장을 만들어주는 이미지 캡셔닝(Image Captioning) 예제를 다뤄보겠습니다. 1. 이미지 캡셔닝(Image Captioning)이란?이미지 캡셔닝은 간단히 말해 이미지를 입력하면 자연어 문장으로 설명을 생성하는 기술입니다.말그대로 특정 이미지에 대한 캡션을 작성하는 기술입니다. 입력: 강아지 사진출력: "a dog laying on the grass" (잔디에 누워있는 강아지)이 기술은 시각장애인 보조 서비스, 전자상거래 이미지 검색, 사진 자동 태깅 같은 실생활에도 널리 응용됩니다. 2. 환경 준비먼저 필요한 라이브러리를 설치합니다. pip install t.. 2025. 10. 1.