Programming language/Python 11

python2, python3 혼용 사용(동시 사용, 함께 사용) 환경

필자는 python2.7과 3.10을 함께 쓰고 있다. vscode 에서 인터프리터로 3.10을 잡고, 명령 프롬프트에서는 2.7을 사용하고 있었는데 명령 프롬프트에서 python 3를 써야했기에 글을 남깁니다. 짧막하게 요약해서 남깁니다. mklink 커맨드를 통해 커맨드를 연결해주면 되는데, cmd ( 관리자 권한으로 실행 ) > mklink C:\Windows\python2.exe [파이썬 2 설치경로]\python.exe > mklink C:\Windows\python3.exe [파이썬 3 설치경로]\python.exe 를 사용해주면 된다. 대부분의 python 2 설치 경로는 C:\Python27 python3 설치 경로는 C:\[사용자폴더]\AppData\Local\Programs\Python..

제너레이터(Generator)

강의에서 메모리 아낄 때 좋다길레, 직접 찍어봤다. import psutil def memory_usage(message: str = 'debug'): # current process RAM usage p = psutil.Process() rss = p.memory_info().rss / 2 ** 20 # Bytes to MB print(f"[{message}] memory usage: {rss: 10.9f} MB") 인터넷에 파이썬 메모리 추적할 수있는 함수를 하나 따오고 Generator로 for문을 돌렸을 때 13.511MB -> 13.53MB으로 증가하며 메모리에 적재됨을 볼 수있고, (0.02MB사용) list로 돌렸을 때 , 0... ? 왜 안늘지. 다시. 이번에 for문의 range를 100..

PEP8 참고 링크

문제풀이 할때야 괜찮겠지만 협업 때 파이썬 코드 작성 요령 https://codechacha.com/ko/pythonic-and-pep8/ Pythonic은 무엇인가? (PEP 8 정리) Pythonic은 파이썬답게 코드를 짜는 것을 말합니다. 파이썬다운 코드는 파이썬의 기능들을 잘 이용하여 작성된 코드이고, 그렇기 때문에 가독성이 좋은 코드를 말할 것입니다. 파이썬 커뮤니티의 codechacha.com ** Reference PEP 8 -- Style Guide for Python Code The official home of the Python Programming Language www.python.org

[Python] 상속시 super().__init__ 사용

알고리즘 문제로 문법을 익히다보니 클래스와 상속등을 이미 배웠지만, 코드상에서 익숙하지 않았다. 요즘 LSTM등 시계열 처리에 도움이 되는 모델들을 보고있는데, 코드상에서 super()를 심심치않게 볼 수 있다. [Python] Tip - super()로 부모클래스를 초기화 super를 사용하지 않고 자식클래스에서 부모클래스를 초기화 할 때 다음과 같은 방법을 사용합니다. class Parent: def __init__(self,num): print('parent', num) class Child(Parent):ㄷ def __init__(self): Pa.. brownbears.tistory.com C++에서도 있었던 문제였지만, 다이아몬드 상속의 경우 Child의 instance를 만들때 super를 ..

[Python] *args , **kwargs에 대해서

파이썬 코드읽는데, *args, **kwargs가 나와서 이해가 안됐다. 아래 사이트를 보고 대략적으로 적었습니다. [나름 중급 파이썬1] *args와 **kwargs 항상 헷갈리는 두 가지 다시 한번 살펴보자 | 이 글은 파이썬의 문법을 모르면 이해하기 어렵습니다. python의 함수 작성 요령, 인자(argument)와 파라미터를 이해한다면 도움이 되는 내용입니다. 아 brunch.co.kr 결국 요약하자면, python에서의 *은 포인터 이런게 아니고, 몇개의 인자가 들어올지 모를 때. *args 를 쓰면 여러개를 인자로 넘길 수 있고, 이를 tuple로 활용하게 되는것이고, **kwargs 도 여러개를 인자로 넘길 수 있으나, 이를 dictionary처럼 활용 할 수있다. 또한 parameter들..

[Python] Deque method정리

이런거 정리 잘 못하는 편이라 까먹었다면 아래 블로그 다시 보고오자. 간단 암기사항 from collections import deque append, appendleft, pop, popleft collections 모듈 - deque collections.deque 1. deque란 Deque(데크)는 double-ended queue 의 줄임말로, 앞과 뒤에서 즉, 양방향에서 데이터를 처리할 수 있는 queue형 자료구조를 의미한다. 아래의 [그림1]은 deque 의 구조를 나타낸 그.. excelsior-cjh.tistory.com

[Q2] 왜 코테에서 deque(덱)을 쓰고있는거야 ?

[백준 1697번] 숨바꼭질 (BFS) 아아.. 맨처음에 dp인줄알고 dfs와 dp를 섞어서 풀다가 시간초과나고 아니 dp인것 같은데 아니라고 ? ( 실은 모든경우 탐색하는것 같은 느낌이라 우려가 되긴 했다) 그래서 dijkstra처럼 풀어서 표가 i-never-stop-study.tistory.com 숨바꼭질 문제를 풀고 파이썬으로 구현해보려고 하는데(파이썬이 아직 익숙치 않아서) 파이썬 정답 코드들을 보니 덱을 쓰고 있었다. 내가 짠 C++은 그냥 queue를 썼는데, 파이썬은 왜 queue를 쓰지않고 deque를 쓰고있는지 의아했다. 아무래도 덱이 앞뒤로 넣고 빼는게 가능하니 FIFO만을 지원하는 queue보다 느리지 않을까 싶었으나 [Python] 파이썬 Queue와 deque 속도 / 새벽 3시..