고급 기능 - 반복자

반복자

반복 : 반복을 업그레이드하고, 할아버지가 아버지를 낳았다 같은, 당신의 아버지가 당신에게 출산, 반복 반복, 모든 시간을 반복하지만, 마지막의 결과에 기초라고 할 수 있습니다. 이러한 컴퓨터의 반복 개발은 소프트웨어의 버전을 기반으로 업데이트 될 때. 다음 코드는 반복하지, 그냥 단순히 반복
도구 반복 : 반복자를.
다른 설명 ->
반복 파이썬의 가장 강력한 기능 중 하나입니다 컬렉션의 요소에 액세스하는 방법입니다.
객체를 기억할 수 반복자는 트래버스 위치입니다.

while True:
    print('*'*10)

다이애나 반복 가능 객체

같은 파이썬 객체의 모든

x = 1
name = 'nick'
lis = [1, 2]
tup = (1, 2)
dic = {'name': 'nick'}
s1 = {'a', 'b'}

def func():
    pass

f = open('49w.txt', 'w', encoding='utf-8)

모든 개체, __iter__ 방법이있을 때마다 객체는, 반복 가능한 있습니다.

# x = 1.__iter__  # SyntaxError: invalid syntax

# 以下都是可迭代的对象

name = 'nick'.__iter__
lis = [1, 2].__iter__
tup = (1, 2).__iter__
dic = {'name': 'nick'}.__iter__
s1 = {'a', 'b'}.__iter__
f = open('49w.txt', 'w', encoding='utf-8')
f.__iter__
f.close()

개요

반복 가능한 객체 : 파이썬 내장 STR,리스트, 터플, 딕셔너리, 설정 파일이 반복 가능한입니다.
특징은 :
 1. 내장 객체 반복적 인 방법이 호출 할 수 있습니다 __iter__.


두 다이애나 반복자 객체

반복 가능한 다른 인덱스의 값에 의존하지 않는 동안 만 문자열과 목록, 색인의 값에 따라 달라집니다. 그래서 우리는 다른 반복자는 인덱스 값에 의존하지 않고 만들 수있는 방법을 찾아야한다.

방법은 먼저 발견하기 전에 우리에게 반복자 객체의 개념을 제공 : 객체를 얻을 __iter__ 반복적 인 방법의 반환 값을 수행 할 수 있습니다. 그리고 반복 가능 객체는 __next__ 방법이있다.

# 不依赖索引的数据类型迭代取值
dic = {'a': 1, 'b': 2, 'c': 3}
iter_dic = dic.__iter__()
print(iter_dic.__next__())
print(iter_dic.__next__())
print(iter_dic.__next__())
# print(iter_dic.__next__())  # StopIteration:

a b c

# 依赖索引的数据类型迭代取值
lis = [1, 2, 3]
iter_lis = lis.__iter__()
print(iter_lis.__next__())
print(iter_lis.__next__())
print(iter_lis.__next__())
# print(iter_lis.__next__())  # StopIteration:

1 2 3
위의 방법은 매우 복잡하다, 우리는 아래로 간소화 while 루프를 사용할 수 있습니다. 어디 모듈을 처리 제외하고 ... 시도 예외는, 그것은 나중에 상세하게 설명한다.

s = 'hello'
iter_s = s.__iter__()

while True:
    try:
        print(iter_s.__next__())
    except StopIteration:
        break

h e l l o

개요

반복자 객체 : 반복 실행, 오브젝트를 __iter__ 반환 값 반복자 객체를 얻을 수 있습니다.

특징 :

 1. 방법은 값 반복자 객체를 얻을 것이다 수행, 방법을 __next__ 내장
 , 2. 방법을 __iter__ 구축 방법은 반복자 자체 얻을 것이다 수행
 3. 반복자 객체 파일 자체를.
단점 :

 1. 문제의 값은 사라 값을, 하나 하나 가지고 가고, 이후 버전에서만 수행 할 수 있습니다
 길이를 얻기 위해 2 사용할 수 없게 LEN () 메소드

결혼 및 루프에 대한 원칙

for 루프는 반복자 루프가 반복 오브젝트에 있어야했다.

lis = [1, 2, 3]
for i in lis:
    print(i)

1 2 3
물체 또는 사용 후에 후 반복기 __iter__ 자체 반복자와 for 루프 반복 반복자 객체 또는 객체가에 따라서 고려되지 때문이다.

반복 가능 객체가 사용 __iter__ 방법 후 반복자 객체가 될의, 반복자 객체는 작은 메모리 공간을 차지하기 때문에, 그는 단지 값 __next__을 사용하여 게시물을 뱉어 것입니다. LIS = 1,2,3,4,5는 ...]는 난자에 상당하고, 문헌 정보학 = 1,2,3,4,5는 ...] .__ 같이 iter__는 어머니에 대응 필요하면 닭고기, 계란, 당신은 __next__ 단지 수 있습니다.
에서 Python2

print(range(10))  # [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]

에서 Python3

print(range(10))  # range(0, 10)

추천

출처www.cnblogs.com/suren-apan/p/11374769.html