IT/따로 공부

[Python] iter, next 내장함수

ziasu 2021. 8. 13. 12:19
반응형

Iterable이란...?

  • 반복할 수 있는 객체
  • 예로는 String, List, Dictionary, Set 객체가 있음
  • dir(객체)를 실행했을 때 __iter__ 매서드가 존재하는지 여부를 확인하여 객체가 iterable 한 지 확인할 수 있음

dir(객체) 예시

 

iter 함수란...?

  • 객체의 __iter__ 메서드를 호출
  • iter(호출가능한(callable) 객체, 반복을 끝낼값)의 형태로 사용

##callable: 객체()이런 형태로 사용 가능한지, callable(객체)를 통해 callable 여부를 확인 가능

 

#0~7사이의 random값이 출력되다가 random값이 3이 되면 출력을 멈춤
#iter()를 사용하려면 callable한 객체를 넣어줘야하기 때문에 lambda 사용
import random
for i in iter(lambda : random.randint(0,7), 3): 
    print(i)

 

next 함수란...?

  • 객체의 __next__ 메서드를 호출
  • next(반복 가능한 객체, 기본값)의 형태로 사용

##기본값을 지정하면 반복이 끝나더라도 기본값 출력

 

it = iter(range(4))
print(next(it,20))#0 출력
print(next(it,20))#1 츨력
print(next(it,20))#2 출력
print(next(it,20))#3 출력
print(next(it,20))#4 출력
반응형