본문 바로가기

python8

Python 클린코드 하루가 멀다하고 기초를 더 다져야겠다고 생각하면서도 느슨해진게 없지않아 있었다. Python 코드 품질에 대해 더 심층있고 공부하고 정리하고 싶어 정리하였다. 아래 링크를 타고 들어가보자 https://everytown.co.kr/index.html https://everytown.co.kr/index.html License This document is licensed under a creative-commons NC license, so you can use the text freely for non-commercial purposes and adapt it to your needs. The only thing we ask in return is the inclusion of a link to thi.. 2023. 12. 14.
python __str__ vs __repr__ 차이점 개요 파이썬 클래스를 사용할때 __str__ 또는 __repr__ 정의하고 사용할 때가 많다. 시간이 없고 바빠서 빼놓고 코딩할 때도 있긴하지만 정의를 해두고 사용하면 디버깅을 하거나 출력할때 유용하게 사용할 수 있다. 이 둘은 비슷해 보이지만 목적과 사용 시점에 따라 약간의 차이점을 가질 수 있다. __str__ vs __repr__ __str__ "사람이 읽을 수 있는" 친화적인 형태의 문자열 표현식이다. 사용자가 객체를 문자열로 변환하거나 print() 함수로 출력할 때 호출된다. __str__ 메서드가 정의되지 않은 경우, 파이썬은 대신 __repr__ 메서드를 호출한다. __repr__ "개발자용"의 디버깅 용도로 작성된 문자열 표현식이다. 개발자가 객체를 재생성하거나 디버깅할 때 유용한 정보를.. 2023. 8. 5.
python - 데코레이터 (Decorator) 데코레이터란? 어떤 함수를 받아 명령을 추가한 뒤 이를 다시 함수의 형태로 반환하는 함수. 어떤 함수의 내부를 수정하지 않고 기능에 변화를 주고 싶을 때 사용한다. 말그대로 다른 함수를 꾸며주는 함수이다. 데코레이터 구조 def 데코레이터이름(func): def 내부함수이름(*args, **kwargs): 기존 함수에 추가할 명령 return func(*args, **kwargs) return 내부함수이름 예) 피보나치 수열 from collections import defaultdict def recursive(func): result = defaultdict(int) def wrapper(n): if n in result: return result[n] result[n] = func(n) return.. 2021. 11. 8.
python - 힙 큐 (heapq) 정의 힙은 모든 부모 노드가 자식보다 작거나 같은 값을 갖는 이진 트리입니다. 이 구현에서는 모든 k에 대해 heap[k] 2020. 12. 22.
python - functools functools.reduce( function , iterable [ , initializer ] ) 이터레이터를 왼쪽에서 오른쪽에서 순차적으로 누적하여 적용할때 사용합니다. 예를 들어 x는 누적된 값이고 y는 업데이트 되는 값입니다. from functools import reduce reduce(lambda x, y: x+y, [1, 2, 3, 4, 5]) # result ((((1+2)+3)+4)+5) = 15 functools.cmp_to_keyfunctools.cmp_to_key( func ) 비교 함수를 주요 함수로 사용합니다. 비교 함수는 두 개의 인수를 받아 비교하고, 보다 작으면 음수, 같으면 0,보다 크면 양수를 반환하여 사용합니다. from functools import cmp_to.. 2020. 12. 18.
python - startswith, endswith startswith 접두어 부분 매칭 여부를 판단할때 매우 유용하다 str = 'Hello world!' print( str.startswith( 'Hello' ) ) # True print( str.startswith( 'He' ) ) # True str = 'Hello world!' print( str.startswith( 'll' ) ) # False print( str.startswith( 'll', 2 ) ) # True str = 'Hello world!' print( str.startswith( 'Hell', 0, 3 ) ) # False print( str.startswith( 'Hell', 0, 4 ) ) # True endswith 접미어 부분 매칭 여부를 판단할때 매우 유용하다 pri.. 2020. 12. 18.
python - Counter 정의 Counter 는 dict 해시 가능한 개체를 계산하기 위한 하위 클래스입니다. 요소가 사전 키로 저장되고 개수가 사전 값으로 저장되는 컬렉션입니다. __init__ : 생성 빈 객체로 생성 string 인자로 생성 dict 인자로 생성 keyword argument 인자로 생성 # 빈 객체로 생성 c = Counter() # string 인자로 생성 c = Counter('gallahad') # dict 인자로 생성 c = Counter({'red': 4, 'blue': 2}) # keyword argument로 생성 c = Counter(cats=4, dogs=8) # result Counter() Counter({'a': 3, 'l': 2, 'g': 1, 'h': 1, 'd': 1}) Coun.. 2020. 12. 17.
python - Anaconda 설치 Anaconda 다운로드 (https://www.anaconda.com/download/) 페이지에 접속하여 다운로드 받는다. (Python 3.6 version 다운로드) 마우스 오른쪽 버튼을 클릭하여 관리자 권한으로 파일 실행한다. Next 버튼을 클릭한다. I Agree 버튼을 클릭한다. 모든 유저 권한을 체크하고 Next 버튼을 클릭한다. 설치할 디렉토리를 선택한다. 필자는 C 드라이브에 SSD가 꽂아져있으므로 C 드라이브에 설치한다. (IDE 툴 사용시 읽기 쓰기가 빠르므로) Install을 클릭하여 설치를 진행한다. 가상 환경을 사용할 것이므로 환경변수 체크는 별도로 하지 하지 않는다. (실제 설치시에도 권장하지 않는다.) Anaconda 설치 완료 2018. 1. 22.
728x90
반응형