기본 콘텐츠로 건너뛰기

라벨이 iter인 게시물 표시

[matplotlib]quiver()함수

[python] 발생자(generator)

함수 관련내용 함수(Function): 함수의 정의 전역변수와 지역변수 함수: 인수의 전달 가변인수 발생자(generator) 재귀함수(Recursive Function) Python의 함수는 1급(First Class)객체 1급 객체와 변수의 영역 클로저(Closure) 람다함수(Lambda Function) 주요한 내장함수들 데코레이터(Decorator, 장식자) 발생자(generator) 발생자(generator) 는 이터레이터(iterator) 를 생성하는 함수로서 return() 함수 대신 yield 구문 을 사용하여 결과를 반환합니다. 발생자의 기본 구조는 식 1와 같습니다. def 함수이름(인수): 본 문 yield 결과 (식 1) 다음 함수는 가변인자 를 전달하여 리스트 객체를 반환합니다. def mkList(*x): re=[] for i in x: re.append(i*i) return re b=mkList(1,2,3);b [1, 4, 9] 위 함수에 의해 생성된 객체는 리스트로서 요소를 하나씩 호출할 수 있는 이터러블(iterable) 이지만 게으른 평가에 의해 이루어지는 이터레이터는 아닙니다. 즉, 내장 메소드 __next__() 또는 내장 함수 next() 에 의해 실행되지 않습니다. 내장 메소드 또는 속성 은 이름 앞뒤로 이중 밑줄(under score) 를 함유하고 있으며 파이썬에서 객체를 생성할 경우 자동적으로 부여되는 메소드입니다. next(x) 이터레이터 객체인 x의 성분을 하나씩 호출 모든 성분이 호출된 후 next()의 실행은 예외 StopIteration 이 발생 iter(x) x: 내장 메소드인 __iter__()를 포함한 클래스 객체, 즉, 이터러블(iterable) 객체 x를...

[python]class에서 init, iter, generator 사용하기

클래스에서 init, iter, generator 사용 __init__() 클래스를 정의하면서 인수를 전달할 경우 __init__()메서드를 사용합니다. 이 메서드는 클래스에 인수를 전달하는 등 초기화를 위해 적용합니다. class Fib: ‘’’iterator that yields numbers in the Fibonacci sequence’’’① def __init__(self, maxnum): 내용 ② ① 클래스에 대한 간략한 설명 즉, docstring 입니다. ② __init__() 메소드는 클래스 개체인 인스턴스를 생성하면서 호출됩니다. 즉, 인스턴스 생성시 첫번째로 실행되는 코드입니다. 이 메소드의 인수중 첫번째 인수는 self입니다. 이것은 새롭게 생성된 객체(인스턴스)를 참조하는 것으로 명시적으로 나타내어야 합니다. 초기화자는 단순히 인자 전달 외에 그 인자의 정성적인 측면의 정보를 제공할 수 있습니다. class Fib: '''iterator that yields numbers in the Fibonacci sequence''' def __init__(self, maxnum): if maxnum <0 : raise ValueError("maxnum은 양수이어야 합니다.") b=Fib(-10) --------------------------------------------------------------------------- ValueError Traceback (most recent call last) ... ---→ 5 raise ValueE...