본문 바로가기

개발 이야기/파이썬16

[파이썬 async] 비동기 프로그래밍 요약 노트 비동기 프로그래밍 요약 노트1. 비동기 프로그래밍의 목적성능 향상 및 자원 활용 최적화.I/O 바운드 작업(네트워크 요청, 파일 입출력 등)에서 대기 시간 동안 다른 작업을 수행.사용자 경험 개선과 서비스의 확장성 증대.2. 주요 구성 요소Event Loop: 비동기 작업을 관리하고 실행 순서를 제어하는 핵심 메커니즘.Coroutine: async def로 정의된 비동기 함수. await을 사용하여 비동기 실행을 기다림.Task: 코루틴을 래핑하고, 실행을 관리하는 객체. 여러 비동기 작업을 동시에 실행할 수 있게 함.Future: 미래에 완료될 비동기 작업의 결과를 나타내는 객체. 작업의 완료를 기다리고 결과를 검색.3. 비동기 작업 실행Async/Await: 비동기 함수 .. 2024. 4. 24.
[파이썬] 제너레이터를 활용한 효율적인 텍스트 처리 방법 안녕하세요! 오늘은 파이썬에서 제너레이터를 사용하여 텍스트를 효율적으로 처리하는 방법에 대해 알아보겠습니다. 제너레이터는 큰 텍스트 데이터를 다룰 때 메모리 사용량을 줄이고 성능을 향상시킬 수 있는 유용한 도구랍니다. 제너레이터란? 제너레이터는 파이썬에서 반복 가능한 객체를 생성하는 함수입니다. 일반적인 함수는 값을 반환하고 종료되지만, 제너레이터 함수는 yield 키워드로 값을 반환하고 함수의 상태를 유지합니다. 이를 통해 필요한 값만 그때그때 생성하므로 메모리 효율성이 높아집니다. 제너레이터 활용 예제 def sample(): yield "서울은" yield "대한민국의" yield "수도" yield "입니다." # (a) 간단한 join 연산자 사용 text = ''.join(sample()) p.. 2024. 4. 15.
[Python] 우선순위 큐(Priority Queue) 활용법 - heapq 모듈과 예제 코드 살펴보기 우선순위 큐(Priority Queue)는 일반적인 큐(Queue)와 달리, 들어간 순서에 상관없이 우선순위가 높은 데이터가 먼저 나오는 자료구조입니다. 우선순위 큐는 작업 스케줄링, 네트워크 트래픽 제어, 이벤트 처리와 같이 작업을 우선순위에 따라 처리해야 할 때 유용합니다. 특히, 실시간 시스템이나 대기열 관리 시스템에서 많이 사용됩니다.그래프 알고리즘 등 다양한 분야에서 활용됩니다. 파이썬에서는 heapq 모듈을 사용하여 우선순위 큐를 간단하게 구현할 수 있답니다. 우선순위 큐 구현의 장점 파이썬의 heapq 모듈을 사용한 우선순위 큐 구현의 장점은 다음과 같습니다: 간단한 구현: heapq 모듈을 사용하여 몇 줄의 코드로 우선순위 큐를 구현할 수 있습니다. 효율적인 연산: 삽입과 삭제 연산이 O(.. 2024. 4. 15.
[Python] No module named 'pip' 고치기 새 pip version이 나왔다니 문제 예방 차원에서 upgrade를 해야지하고 pip install --upgrade pip 명령어로 업그레이드 후 다시 업그레이드를 요청하니 No module named 'pip' 에러가 발생했을 때 고치는 방법. 문제 발생 pip 업그레이드 pip install ~로 모듈을 설치하고 나니 아래와 같은 알림 메시지를 보았다. WARNING: You are using pip version 22.0.4; however, version 22.1 is available. You should consider upgrading via the '~\venv\Scripts\python.exe -m pip install --upgrade pip' command. 새 pip versi.. 2023. 12. 29.
맥북에서 Ubuntu로 외부에서 원격접속해서 VS CODE로 코딩하는 방법. 제곧내이다. 방금 성공하고 기록을 남기는 것이니 잘 될 것이라고 생각된다. 여러 뻘짓으로 시간을 날렸기 때문에 다음번엔 시간을 좀 덜날렸으면 바라고, 이 글을 보시는 여러분도 가볍게 성공하시길 바란다. 1. 우분투 네트워크 세팅하기 일단 현재 내 네트워크에 접속된 상태에서 iptime 설정가서 port forward로 외부로 통하는 Port 하나를 열어줌. 열어준 포트가 이제 내가 맥북에서 연결할 포트임 2. 접속 정보 수집하기 우분투 IP 제대로 알기 : ifconfig 같은 명령으로 보는 IP는 내부 IP임. 즉, 같은 망에서 접속한다면 그 IP를 쓰면 되지만, 외부에서 접속하기 위해선 외부망 IP를 알아야함. what is my ip 사이트에 들어가면 바로 알 수 있음. 우분투의 사용자 알기 : 우.. 2023. 7. 23.
[파이썬] 리스트 컴프리헨션 마무리하기: 주의사항과 성능 최적화 (3/3) 마무리편 이번 포스트에서는 리스트 컴프리헨션의 주의사항과 성능 최적화 방법을 다룹니다. 또한, 마무리로 리스트 컴프리헨션의 장점을 정리하고 파이썬 스타일 가이드에 대해 간략하게 소개합니다. 앞에서 우리는 리스트컴프리헨션의 기본과 응용에 대해 알아봤습니다. [파이썬] 리스트컴프리헨션?? 이거 모르면 파이썬 초보. (1/3) 기초편 [파이썬] 리스트컴프리헨션 응용하기: 실용적인 예제들로 더 깊게 이해하기 (2/3) 응용편 이번에는 리스트컴프리헨션 마지막 시리즈인 리스트 컴프리헨션 사용 주의사항과 성능 최적화에 대한 내용입니다. 리스트 컴프리헨션의 주의사항 가독성 유지를 위한 코드 작성 리스트 컴프리헨션은 코드를 간결하게 작성할 수 있지만, 복잡한 로직을 사용하게 되면 가독성이 떨어질 수 있습니다. 따라서, 가능한 한.. 2023. 4. 8.
[파이썬] 리스트컴프리헨션 응용하기: 실용적인 예제들로 더 깊게 이해하기 (2/3) 응용편 이전 글에서는 리스트 컴프리헨션의 기본 개념과 사용법을 배웠습니다. 이번에는 리스트 컴프리헨션을 활용한 실용적인 예제들을 살펴보겠습니다. 이를 통해 리스트 컴프리헨션을 더욱 효과적으로 사용할 수 있는 방법을 배워보세요!. [파이썬] 리스트컴프리헨션?? 이거 모르면 파이썬 초보. (1/3) 기초편 [파이썬] 리스트컴프리헨션?? 이거 모르면 파이썬 초보. (1/3) 기초편 안녕하세요! 오늘은 파이썬의 강력한 기능 중 하나인 리스트 컴프리헨션에 대해 알아보려고 합니다. 이 기능을 잘 사용하면 대여섯 줄 이상의 코드도 한줄로 간결하게 구현해 낼 수가 있는 강력 lapina.tistory.com 이를 통해 리스트 컴프리헨션을 더욱 효과적으로 사용할 수 있는 방법을 한번 알아봅시다! 문자열에서 원하는 문자만 추출하.. 2023. 4. 8.
[파이썬] 리스트컴프리헨션?? 이거 모르면 파이썬 초보. (1/3) 기초편 안녕하세요! 오늘은 파이썬의 강력한 기능 중 하나인 리스트 컴프리헨션에 대해 알아보려고 합니다. 이 기능을 잘 사용하면 대여섯 줄 이상의 코드도 한줄로 간결하게 구현해 낼 수가 있는 강력한 기능이죠. 이 글을 통해 파이썬 리스트 컴프리헨션을 완벽히 이해하고, 코드를 더욱 효율적으로 작성할 수 있는 중급자로 성장해보세요! 리스트 컴프리헨션 기본 구조 리스트 컴프리헨션은 간단한 구조로 리스트를 생성하는 방법입니다. 기본 구조는 다음과 같습니다. [expression for item in iterable if condition] "조건 혹은 반복문에 의해 생성될 item들에 대해, 다음과 같이 표현하라."를 영어식으로 뒤에서부터 적는다고 생각하면 이해가 쉽습니다. 예를 들어, 0부터 9까지의 숫자들의 제곱을 .. 2023. 4. 8.
[파이썬] 구글드라이브에 CSV 올리면 gsheet으로 자동 변경되서 Colab에 불러오지 못할 때 해결방법 구글 Colab에서 CSV를 분석하고 싶어서 구글드라이브로 CSV 파일을 업로드했더니, 자동으로 gsheet이라는 포맷으로 바꾸어 버리는걸 알게되었다. 그렇게 되면 구글 Colab에서 pandas로 read_csv를 못쓰게 되지 않는가? 나는 구글드라이브에 업로드한 CSV 파일을 gsheet 포맷이 아닌 CSV 형태로 Colab으로 불러오고 싶다. 해결방법을 알아보겠다. 구글시트로 바로 열 수 있게 Google sheets 유형으로 파일을 자동 변환 해버리는 구글 드라이브. 예전에는 이렇게 자동변환하지 않고, 실행 시키면 그제서야 변환했던 것 같은데, 정책이 바뀐듯 하다. Colab에서 구글 드라이브 파일을 받아오는 방법은 무수히 많다. 하지만 가장 심플한 두가지 방법으로 알아보도록 하자. 1. requ.. 2022. 8. 25.
[파이썬] Print 문 줄바꾸는 방법_줄바꿈 표현 정리 파이썬에서 줄 바꿈 처리하는 방법 정리합니다. \n 쓰시면 됩니다!! 역슬래쉬 n 입니다. n = enter 라고 기억하시면 편합니다. 예시입니다. 줄바꿈 안했을 때입니다. print("아버지가방에들어가신다") 아버지가방에들어가신다 \n으로 줄 바꿈 해봅니다. print("아버지가\n방에\n들어가신다") 아버지가 방에 들어가신다 \t 도 써봅시다. t = tab 이라고 기억합시다. 예시를 살펴봅시다. print("첫번째 줄입니다.\n\t두번째 줄로 넘어오면서 탭 한번 주고,\n\t\t 세번째 줄에서는 탭 두번 줍니다.") 첫번째 줄입니다. 두번째 줄로 넘어오면서 탭 한번 주고, 세번째 줄에서는 탭 두번 줍니다. 물론 그냥 여러번 Print 하는 방법도 있죠. 그냥 프린트를 여러번 하셔도 됩니다. prin.. 2021. 12. 3.
[파이썬] pandas_datareader 오류 Unable to read URL 해결 방법! pandas_datareader 라이브러리를 활용하면 Yahoo Finance에서 증시 자료를 받아올 수 있다. 하지만 이를 처음 실행하면 아래와 같은 오류가 발생할 수도 있다. 그 해결법을 알아보겠다. 1. 오류 : RemoteDataError: Unable to read URL import pandas_datareader as pdr df = pdr.get_data_yahoo('SPY') RemoteDataError: Unable to read URL: https://finance.yahoo.com/quote/SPY/history?period1=1467511200&period2=1625277599&interval=1d&frequency=1d&filter=history 2. 해결 : 라이브러리를 업데이.. 2021. 10. 27.
파이썬에서 y, n 선택 입력을 물어보는 코드 파이썬에서 pip install 을 사용할때면 항상 파일을 찾은 후에 설치 하시겠습니까?(y/n) 라는 질문이 나온다. 내가 짜는 코드가 새로운 파일을 생성하거나 삭제 하는 어떤 행위를 한다면, 사용자에게 최종 확인을 받는게 좋을 것이다. 그 때, yes or no를 묻는 함수를 어떻게 짜는지 알아보겠다. 아래와 같이 함수명을 yes_or_no 로 정했다. question을 입력하면 입력창이 출력되고, y, n 입력에 따라 True, False를 Return하는 구조로 짜게 되었다. def yes_or_no(question): while "the answer is invalid": reply = str(input(question+' (y/n): ')).lower().strip() if reply[0] =.. 2021. 5. 20.
반응형