본문 바로가기
반응형

개발/python25

[Python] generator와 yield # generator란?파이썬의 generator란 yield라는 키워드를 사용하는 iterator 생성 함수이다. * iterator란 countable한 값들을 가지고 있는 객체이다. 이 iterator가 iterate 된다는 것은 모든 값을 가로지를 수 있음을 뜻한다. 파이썬에서 iterator는 iterator 프로토콜을 시행하는 객체이며, __iter__()와 __next__() 메소드를 가지고 있다. # generator 함수 생성generator를 만드는 방법은 간단하다. 평범한 함수에서 return 대신 yield 키워드를 사용하면 된다. 함수가 하나 이상의 yield를 가지고 있다면 generator 함수가 된다. 한편 yield와 return은 모두 같은 값을 리턴하지만, return은.. 2019. 2. 18.
Python3.6에서는 dict가 입력순으로 정렬된다. (스택오버플로 질문 Are dictionaries ordered in Python 3.6+?의 답변을 참고했다.) '''# 읽지 않아도 되는 서론회사에서 random 함수가 사용된 함수를 테스트하다가 신기한 점을 발견했다. 내 컴퓨터(Python3.6)에서는 마냥 잘 되던 테스트가 다른 컴퓨터(Python3.5)에서는 계속 실패했던 것이다. 하지만 가끔 통과되는 경우도 있어서 영문을 몰랐는데 알고보니 딕셔너리의 정렬 여부 때문이었다.import random random.seed(1) dict_a = {'a': 1, 'b': 2, 'c':3, 'd':4, 'e':5} key = random.choice(list(dict_a.keys())) # 딕셔너리 키 값중 하나를 랜덤으로 선택 할당 assert key.. 2019. 2. 15.
celery 에러 핸들링 # AttributeError async & KeyError asynckombu와 celery의 버전이 충돌하는 것이니, celery 버전을 4.2.1로 업데이트한다.GitHub celery 이슈에 있더라.(KeyError async #870)celery와 버전이 엮인 라이브러리는 billiard, kombu, amqp, vine이다.Collecting celery==4.1.1 Downloading https://files.pythonhosted.org/packages/99/fa/4049b26bfe71992ecf979acd39b87e55b493608613054089d975418015b7/celery-4.1.1-py2.py3-none-any.whl (394kB) 100% |██████████████████.. 2019. 2. 13.
not not not not not True 스택오버플로 돌아다니다가 누가 not not True를 사용한 걸 봐서 한 번 써봤다.not이 어느 정도 길어져야 메모리에 영향을 줄까? 2019. 2. 12.
반응형