336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.

iter(x) -----------> x.__iter__() 호출

next(x) ----------< x.__next__() 호출


iter(x) 는 iterator 객체를 return 해야 한다. (결국 자신을 return 하면 된다.)

__next__ 함수에서는 더이상 넘길 값이 없으면 StopIteration exception을 발생시킨다

iterator 객체란 __iter__() 와 __next__() 를 구현한 class이다.




블로그 이미지

뚱땡이 우주인

,
336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.

파이썬에서는 명시적으로 인스턴스를 삭제하는 명령어는 없다.

del 명령어는 객체 삭제가 아니라 레퍼런스를 제거하는 명령어 이다.


sys 모듈은 현재 실행되는 파이썬 프로그램의 정보를 가지고 있다


* 객체의 레퍼런스 카운터가 1이 되는 순간에 소멸된다 (0이 아니다) 

  결국 사용자 레퍼런스가 모두 삭제되면 소멸이 된다.

  기본적으로 인터프린터가 레퍼런스를 가지고 있기 때문에 1이다


파이썬의 레퍼런스 카운터를 체크해보도록 하자



블로그 이미지

뚱땡이 우주인

,
336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.

1. 기본 특별 함수들

코드 

파이썬 호출 

 설명

 x = MyClass()

x.__init__() 

객체를 초기화 한다 

repr(x) 

x.__repr__() 

객체의 공식적 표현을 문자열로 표현한다. 

str(x)

x.__str() 

객체의 비공식적 표현을 문자열로 표현한다. 




문자열로 된 파이썬 코드를 실행하는 함수로는 exec 와 eval 함수가 있다
파이썬 프로그램이 실행 중이라도 원하는 문자열로 표현된 파이썬 코드를 실행하는 것은 유용할 수 있다.

exec 함수
 - exec는 문자열로 된 문을 수행한다
 - exec 를 실행하면 None을 return 한다 


eval 함수

- eval 함수는 문자열로 된 파이썬 식(Expression) 을 실행한다.

- eval 은 evaluation 의 약자로 값을 구한다는 뜻이다.

- 또한 eval은 선언문을 포함할 수 없다. 어떤 식마을 수행할 수 있기 때문에 어떤 문을 실행하려고 하면 SyntaxError 예외가 발생한다.

eval : 선언문을 포함할수 없다



블로그 이미지

뚱땡이 우주인

,