본문 바로가기

개발/Python7

Python Async 비동기 처리 파이썬에시 비동기로 여러 작업을 동시에 수행할 때 다음의 요구사항이 필요할 때가 있다. 1. 병렬적으로 작업들을 처리한다.2. 작업한 내역들을 특정한 순서를 가진다. 3. 작업 결과를 순서에 맞게 한 군데 모아서 한번에 반환한다. 위 내용들을 충족하는 내용이 파이썬의 gather다. 여기서 말하는 병렬은 concurrecny고, CPU를 동시에 사용하는 multiprocessing은 아님을 주의해야 한다. Async Gather파이썬에서 gather는 다음의 역할을 한다. 1. k개의 태스크를 for loop로 동시에 처리한다.2. 이때, gather를 사용하면 for loop에서 지정한 순서대로 리스트레 저장한다.3. 예를 들어서, Task A와 B가 있을 때 A, B 순서로 작업을 실행한다. 4... 2025. 11. 16.
python에서 json.load와 json.loads의 차이 json.load "sample_file.json" 과 같은 json 파일 자체를 불러온다. 아래처럼 tutorial.json 파일을 만들어서 불러온다. importwith open("tutorial.json", "r") as f: j = json.load(f)j>> {'name': 'user1', 'class': 'warrior', 'level': 5} json.loads s = '''{"s": "key", "p": "price"}''' 같은 문자열을 json 형식으로 만든다. JSON 파싱이라고도 하는데, string (문자열)을 json 형식 파이썬에서는 dict (딕셔너리) 형식으로 변환한다. Parsing (파싱)이라는 단어 자체는 컴퓨터가 이해하기 쉬운 데이터 형태로의 변환이다... 2025. 11. 4.
Python dealing with time 파이썬에서 시간 다루기 머신러닝에서 데이터 분석을 하거나, DB에서 매출을 합산한다거나, 로깅을 한다거나 여러가지 사정으로 시간을 기록할 일이 많아진다. 시간은 크게 2가지 형식으로 다루게 된다. Unix timestampyy-mm-dd hh:mm:ss.f 형태 시간을 다루는 주요 패키지로는 아래와 같다. timedatetimepytz 1. time Unix timestamp를 생성한다. 유닉스 타임스탬프란 1970년 1월 1일 00:00:00초 (UTC 0)을 기준으로 몇 초가 지나갔는지를 표시한 시간 표현법이다. import timect = time.time()print(ct)>> 1745195940.8100421 2. datetime 우리에게 익숙한 시간 형태다. 연-월-일 시:분:초.마이크로.. 2025. 4. 21.
Python의 sorted 함수 ChatGPT와 Python의 documentation의 실습 결과인데 공유하고자 올린다. 주요 특징- sorted(): 어떤 이터러블 객체든 정렬 가능 - reverse=True: 내림차순 정렬, default는 오름차순 정렬이다. - key=함수: 정렬 기준 지정 - 안정적 정렬(stable sort): 동일한 값의 원래 순서 유지 - 시간 복잡도: O(n log n) sorted의 결과는 원본 리스트는 변환하지 않으며 다른 리스트로 추가로 저장할 수 있다.a = [5, 2, 3, 1, 4]b = sorted(a)print(a) #[5, 2, 3, 1, 4]print(b) #[1, 2, 3, 4, 5]  반면에 sort는 기존의 리스트를 정렬하는 in-place 형태의 메소드다.a = [5, 2, 3.. 2025. 2. 19.
파이썬의 여러 가상환경 비교 요즘 무료버젼 ChatGPT도 성능이 굉장히 올라가서 써보는데 잘 정리해준다.밑의 내용을 맹신하면 안되겠지만 레퍼런스정도로 참고하기엔 좋아 보인다. venv, Anaconda, Poetry는 알고 있었지만 Pipenv, Virtualenv, Pyenv는 처음 알게 되었다. 아래는 ChatGPT의 설명이다. 파이썬 가상환경은 개발자들이 서로 다른 프로젝트에 대해 독립적인 패키지 및 환경을 관리할 수 있도록 돕습니다. 대표적인 가상환경 관리 도구로는 venv, Anaconda, Poetry 등이 있습니다. 이들의 장단점을 비교해 보겠습니다.1. venv장점 - 표준 라이브러리 포함: 파이썬 3.3 이상 버전에서는 venv가 표준 라이브러리에 포함되어 있어 추가 설치가 필요 없습니다. - 경량화: 최소한.. 2024. 8. 3.
Anaconda와 가상 환경 관리 Anaconda의 기본 사용법을 설명해 드리겠습니다. Anaconda 자체 설치 방법 Linux:# 설치 파일 다운로드wget https://repo.anaconda.com/archive/Anaconda3-2023.09-0-Linux-x86_64.sh# 실행 권한 부여chmod +x Anaconda3-2023.09-0-Linux-x86_64.sh# 설치 실행./Anaconda3-2023.09-0-Linux-x86_64.sh  macOS:Anaconda 웹사이트에서 macOS 설치 파일 다운로드다운로드된 .pkg 파일 실행Windows:Anaconda 웹사이트에서 Windows 설치 파일 다운로드다운로드된 .exe 파일 실행 # PATH에 추가Anaconda의 PATH 설정 방법을 운영체제별로 설명해드리겠.. 2024. 8. 1.