반복하기 위해서는
fruits = ['apple', 'orange', 'melon', 'banana']
it = iter(fruits) # __iter__(..) 호출
print(next(it)) # 'apple', 'orange' ... 순서대로 출력됨
def generate_nums():
print('1번째')
yield 10
print('2번째')
yield 20
print('3번째')
yield 30
gen = generate_nums()
print(next(gen))
# 꺼내올때 마다 힙 영역에 값을 할당하기 때문에 메모리 관리에서 장점이 있다.
nums = [10, 20, 30] # 처음부터 힙 영역에 10, 20, 30 할당한다.
gen = (i for i in range(1, 101) if i % 2 == 0)
print(gen) # <generator object <genexpr> at 0x10ab4a670>
# mod1.py
def add(num1, num2) :
return num1 + num2
def minus(num1, num2):
return num1 - num2
VERSION = '1.0.0'
# 모듈 불러오기
import mod1
mod1.add(10, 20) # 30
mod1.VERSION # '1.0.0'
from mod1 import add, minus, VERSION
# from 사용하면 함수, 변수명 앞에 모듈명을 작성하지 않아도 사용 가능.
print(add(1, 2))
print(minus(20, 10))
print(VERSION)
# 모듈의 함수, 변수 전체 불러오기
from mod1 import *
print(add(1, 2))
print(minus(20, 10))
print(VERSION)
# 패키지의 모듈 불러오기
from utils import mod2
from utils.sub.mod3 import divide
mod2.multiply(10, 20)
divide(20, 4)