Languages/Python

Languages/Python

[pip freeze] pip freeze시에 버전 말고 @ 경로가 찍히는 이슈

pip freeze creates some weird path instead of the package version I am working on developing a python package. I use pip freeze > requirements.txt to add the required package into the requirement.txt file. However, I realized that some of the packages, instead... stackoverflow.com 기본 pip freeze 명령어 pip freeze > requirements.txt 이렇게 pip freeze를 했을때 버전이 안찍히고 이상한 경로가 찍히는 경우가 있습니다. direct reference ..

Languages/Python

[set] set에서 삽입시에 벌어지는 key 테이블 리사이징

파이썬 set object의 C 구현 코드 : https://github.com/python/cpython/blob/main/Objects/setobject.c 일단.. cpython 의 set object의 c코드만해도 2500줄이 넘어간다는 사실에 경악했습니다.. 이렇게 복잡한 자료구조를 나는 여태 이렇게 편하게 쓰고 있었구나...ㄷㄷ 아무튼, set에 들어가는 아이템이 너무 많아지면 set_table_resize 를 통해서 key 리스트를 더 많이 할당한 메모리로 싹 옮긴다고 합니다. 이 임계점에서 순간적으로 연산량이 많아지겠네요. 언제 사이즈가 바뀌는지 출력해봤습니다. 또 pop으로 아이템을 제거하면 다시 줄어드는지도 확인해봤습니다. A = set() now_size = A.__sizeof__()..

Languages/Python

[getsizeof] 객체가 차지하는 byte 출력하기?

(제목에 물음표를 달게 된 이유가 있답니다!) 자료구조의 뒷단에서 벌어지는 일들이 궁금할때는 len 말고 객체에 할당된 메모리를 확인해볼 필요가 있습니다. list와 set에서 remove를 수행할 때 전 당연히 "set이 훨씬 빠를거야. list는 제거 후에 바로 배열을 재설정해줘야하고, set은 hash를 쓰니까 재조정이 더 짧지 않겠어?" 라는 생각이었는데, 의외로 별 차이가 없더라구요. 그래서 각 객체에 할당되는 메모리를 트래킹해보기 위해서 찾아보니 sys에 getsizeof 라는 함수가 있었습니다. sys.getsizeof() import sys A = [] print(sys.getsizeof(A)) docs sys — System-specific parameters and functions T..

Languages/Python

[conda] 가상환경 만들기, 삭제하기, list 보기, 주피터 노트북 연결

새로운 환경 만들때마다 맨~날 만드는게 가상환경인데, 명령어 맨~날 까먹습니다..ㅋㅋㅋ 자주 사용하는 명령어들을 정리해봤습니다. 가상환경 종료, 실행하기 가상환경이 여러개 겹쳐져서 켜질 수가 있기 때문에 항상 deactivate 을 잘 해주도록 합시다. 특히 base 잘 끄기! conda deactivate conda activate 가상환경 만들기 conda create -n python= # ex) conda create -n myenv python=3.8 가상환경 리스트 보기 conda env list 가상환경 삭제하기 conda remove -n --all VS CODE에서 주피터노트북 가상환경 사용하기 conda activate pip install jupyter pip install ipyke..

Languages/Python

[fstring] fstring으로 숫자 포맷팅하기

다음 독스를 요약했습니다. 정렬, 패딩 외에도 "변수=값", e 표현식, % 표현식, 진법 변환도 제공하더라구요! 유용한 변환이 많았습니다. 다 외우고 있을 필요는 없지만 이런것도 제공한다는걸 알고 있으면 필요할때 찾아서 쓸 수 있으니까 어떤걸 제공하는지 정도는 알아두면 좋은 것 같습니다ㅎㅎ 7. Input and Output There are several ways to present the output of a program; data can be printed in a human-readable form, or written to a file for future use. This chapter will discuss some of the possibilities. Fa... docs.python.o..

Languages/Python

[heapq] 최소힙, 최대힙

import heapq 최소값 혹은 최대값을 자주 참조하면서 자료구조 원소들을 변경하는 경우 힙을 사용하는게 유리합니다. 파이썬에서 제공하는 heap 자료구조 입니다. 배열을 heap 구조로 사용할 수 있고, push pop 기능을 제공합니다. heapq — Heap queue algorithm Source code: Lib/heapq.py This module provides an implementation of the heap queue algorithm, also known as the priority queue algorithm. Heaps are binary trees for which every parent node has a va... docs.python.org 기본적으로 최소힙 형태로 ..

jamong5
'Languages/Python' 카테고리의 글 목록