‘기초~중급 Python 문법’ 정모(2022.03.04)

최근에 기초~중급 수준의 내용으로 정모를 가졌어요. 물론, 저희 60coding은 클래스 모임이 아닌 코딩 공부(주제는 미리 공지) 리뷰와 잡담 위주의 모임을 추구합니다. 60Coding의 최민진 멘토님이 주관한 모임이었습니다. 모임에는 현업 종사자인 분도 참석해주셨고 아래와 같은 내용을 다뤘어요. 정말 즐거운 시간이었어요!

Iterable

  • Iterable은 순회할 수 있는 모든 객체를 가리킨다. 다른 말로 하면 파이썬에서 for 문의 in 키워드 뒤에 올 수 있는 모든 값은 Iterable이다. 그러면 list, tuple, set, dict는 말할 것도 없고 문자열, 파일 등도 Iterable이라고 할 수 있다.

Iterator

  • 요소가 복수인 컨테이너(리스트, 튜플, 셋, 사전, 문자열)에서 각 요소를 하나씩 꺼내 어떤 처리를 수행할 수 있도록 하는 간편한 방법을 제공하는 객체
  • 반환할 수 있는 마지막 값까지 원소를 하나씩 반환

Generator

  • iterator의 한 종류로, 하나의 요소를 꺼내려고 할 때마다 요소 generator를 수행하는 타입으로, Python에서는 yield문을 통해 구현하는 것이 보통
  • 여러 개의 데이터를 미리 만들어 놓지 않고 필요할 때마다 즉석해서 하나씩 만들어낼 수 있는 객체

Comprehension

Generator Comprehension

  • 리스트 표현식(list comprehension)과 사용 방법이 매우 유사한데요. 단지 차이점이라고 하면 리스트 표현식은 대괄호를 사용하고 제너레이터 표현식은 소괄호를 사용

Comprehension 실무 예제

if 'personalTags' in result and result['personalTags']:
	keyword.extend([personal for personal in result['personalTags']])
if 'featureTags' in result and result['featureTags']:
	keyword.extend([feature for feature in result['featureTags']]) 
condition = {'noteInfo.id': {'$in': [post['post_id'] for post in posts]}}
  • c.f. if else 삼항연산자
condition = _get_condition() if not is_brand else _get_brand_condition()

Yield

  • yield 키워드를 사용하면 제너레이터를 반환
  • 메모리 효율 측면에서도 이 두가지 방식은 큰 차이를 보이는데요. return 키워드를 사용할 때는 모든 결과 값을 메모리에 올려놓아야 하는 반면에, yield 키워드를 사용할 때는 결과 값을 하나씩 메모리에 올려놓습니다.
  • yield from를 사용하면 리스트를 바로 제너레이터로 변환할 수 있음.

Enumerate & Zip

More from author

2776 COMMENTS

  1. Hello аll, guуѕǃ I know, my mesѕagе maу be tоо spесific,
    Βut my ѕiѕtеr fоund nіcе man herе and they mаrriеd, ѕо how аbout me?ǃ 🙂
    Ι аm 24 уeаrs оld, Мarіа, frоm Rоmaniа, I know English аnd German lаnguagеs alѕo
    Αnd… I hаve ѕреcіfic dіsеаse, named nymphоmania. Ԝhо knоw what iѕ thіs, cаn understand me (bеtter to saу it immediatеly)
    Аh уеѕ, I сoоk very tаѕtyǃ and I love nоt only cоok ;))
    Ιm real girl, not prostitutе, аnd looking for seriоuѕ and hоt relаtіonshіp…
    Аnуwау, you сan fіnd my prоfilе hеre: http://maemowi.gq/user/94787/

  2. https://vukypavto.ru/ – Выкуп авто неисправных автомобилей марки Liebao Motor модели Doblo, 1950 года выпуска, тип кузова седан с объемом двигателя 2660 коробка передач робот в Санкт-Петербурге.

  3. электроштабелеры
    [url=https://elektroshtabeler-kupit.ru]https://elektroshtabeler-kupit.ru[/url]

  4. штабелер электрический самоходный
    [url=https://shtabeler-elektricheskiy-samokhodnyy.ru]https://www.shtabeler-elektricheskiy-samokhodnyy.ru[/url]

  5. https://vukypavto.ru/ – Выкуп автомобилей аварийных машин марки GAC модели Series 62, 2000 года выпуска, тип кузова фургон с объемом двигателя 2721 коробка передач робот в Санкт-Петербурге.

  6. https://shibainuhome.co.uk/
    SHIBA INU BREEDERS UK
    SHIBA INU FOR SALE UK
    We have always been more interested in breeding quality and healthy Shiba Inu puppies. Our goal as breeders is to produce cute looking & beautiful Shiba Inu puppies. ….
    [url=http://123billionacres.com/2021/09/30/city-parks/#comment-268]Shibainuhome[/url] c93_a83

  7. https://www.vykup-avtospb.ru/ – Быстрый выкуп битых автомобилей марки Acura модели Aura, 1928 года выпуска, тип кузова лифтбек с объемом двигателя 4799 коробка передач робот в Санкт-Петербурге.

  8. That’s almost exactly what our babysitter wore on her last shift before she moved away. She knew what she was doing too. Thanks for bringing back that memory!

  9. самоходный штабелер
    [url=https://shtabeler-elektricheskiy-samokhodnyy.ru]https://shtabeler-elektricheskiy-samokhodnyy.ru[/url]

  10. ножничный подъемник для склада
    [url=https://nozhnichnyye-podyemniki-dlya-sklada.ru]https://www.nozhnichnyye-podyemniki-dlya-sklada.ru[/url]