Python(10)
-
loguru.logger
https://loguru.readthedocs.io/en/stable/api/logger.html loguru.logger — loguru documentation Logger – A logger wrapping the core logger, but transforming logged message adequately before sending. loguru.readthedocs.io 설치 pip install loguru 사용법 include from loguru import logger def func1(): logger.info("+") 위와 같이 logger를 통해 info를 출력하는 코드를 작성한 후, 실행하면, 다음과 같이 상세한 정보를 출력합니다. 2022-04-24 21:15:41.917..
2022.04.25 -
Click: the Python CLI library
click ? command line interface를 쉽게 만드는데 사용되는 library 입니다. installation 간단히 pip를 통해 설치 가능합니다. pip install click 사용법   click.command click은 decorator를 통해 command를 정의합니다. CLI를 통해 실행하고 싶은 함수 위에 @click.command()를 추가하여 click framework을 통해 실행 되도록 지정합니다. ex. # ... # main.py import click @click.command() @click.option('--name', default='', help='name to be echoed') def echo(na..
2022.04.25 -
파이썬 hash (Python 해쉬)
hash 개념 Hash는 추가, 삭제, 검색을 거의 O(1)의 성능으로 수행할 수 있는 자료구조입니다. Array와 list의 특징을 합친 자료구조이며, 성능이 좋으면서도 구현이 단순합니다. collision 특정 key 값으로 value를 저장하게 되는데, 이 때 중복된 key가 존재할 수 있습니다. 이런 중복된 key가 존재하는 경우 collision이라고 하며 hash 자료구조에서는 이러한 collision을 해결하기 위한 두 가지 방법을 제공합니다. linear probing (open addressing) collision이 발생한 slot부터 linear하게 증가하며 empty slot을 찾는 방법입니다. 충돌 시 순차적으로 빈 곳을 찾게 되며 입력 자료의 2배 이상의 크기를 지니고 있어야 효..
2021.12.24 -
Python: 원소의 중복 제거
중복 제거 Python에서 중복을 제거하는 방법은 매우 간단하다. 단순하게 list를 set으로 변환하면 된다. alist = list('abcba') # ['a', 'b', 'c', 'b', 'a'] 위 list를 set으로 변환한다. aset = set(alist) # {'c', 'b', 'a'} auniq = list(aset) # ['c', 'b', 'a'] 그런데, 위 aset이 지니고 있는 각 원소들의 순서를 원본 list 내 원소들의 순서와 동일하게 하고 싶다면? 이 때는 다음과 같이 list 초기화 exppression을..
2021.12.15 -
Python instance check
Like any other programminmg languages, Python also provides a way to check what the type of the instance is. Simple, by using 'isinstance' or 'type' function, it is possible to check instance's type. the following code is about using 'isinstance and type' val = 7 ovals = [1, 2] vals = [] if isinstance(val, int): vals += val, if type(ovals) == list: vals += ovals
2021.12.13 -
[Python] Lambda expression (람다 표현식)
lambda param : body >>> add_10 = lambda x : x + 10 >>> >>> add_10(1) 11 >>> (lambda arg : arg + 10)(1) 11 >>> (lambda : 1)() 1 Python lambda expression 내에서는 변수 선인이 불가능 >>> y = 10 >>> (lambda arg : arg + y)(1) 11 >>> def plus(x): ... return x + 10 >>> list(map(plus, [1])) [11] >>> >>> list(map(plus, [1, 2])) [11, 12] >>> list(map(lambda arg : arg + 10, [1, 2])) [11, 12] map, filter, reduce 함수 사용 ..
2021.12.13