강의 정리 7-1

김찬울·2021년 7월 7일
0

이터레이터와 제너레이터

반복가능한 객체안에 시퀀스 객체가 있다.

__iter__(self)

__next__(self)

클래스를 이터레이터로 쓰려면 해당 코드가 필요하다

iter(반복 가능한 객체 ,반복을 끝낼 값), next(반복가능한 객체, 반복을 끝낼 값).

yield - 제너레이터 이터레이터처럼 만든다. 허나 yield가 있다면 return 불가능

  • yield 는 실행을 중지시키고 호출한 곳에 순서를 양보한다. 추후에 호출되면 위치를 기억하여 이어서 실행된다. next나 for문등으로 호출하기 용이하다.

yield from 반복가능한객체

  • for문을 내포하고 있는 문법으로 객체에서 하나씩 뽑아준다.

dir()로 __iter__의 유무로 파악가능하다.

데코레이터

  • 클로저함수의 형태와 유사하다.
  • 데코레이터된 함수를 실행하면 해당 함수의 실행을 유보하고 데코레이터 함수로 간다.
    @데코레이터
  • 클래스로 메소드를 만드려면 __init__과 더불어 __call__이 필요하다. 매개변수를 call에서 받는다.

정적메소드

클래스메소드

모듈

사용에 용이하게 비슷한 함수와 클래스들을 모아둔다.

from 패키지(모듈) import 모듈(클래스, 함수) as 별명

__name__ == '__main__'

  • 해당 파일이 실행되는 곳이 시작점이라면 __name__의 결과가 main이된다.

  • 파일들을 만들고 폴더에 넣은다음 __init__.py 파일을 생성해놓으면 패키지로 이용가능하다. 패키지 내의 하위패키지가 있을 수도 있다.

profile
코린코린이

0개의 댓글

관련 채용 정보