Latest web development tutorials

iterators Python3 และเครื่องกำเนิดไฟฟ้า

iterator

ย้ำเป็นหนึ่งในคุณลักษณะที่มีประสิทธิภาพมากที่สุดของงูหลามเป็นวิธีการเข้าถึงองค์ประกอบคอลเลกชัน .

iterator เป็นสำรวจเส้นทางของวัตถุที่สามารถจดจำสถานที่

วัตถุ iterator สามารถเข้าถึงได้จากจุดเริ่มต้นขององค์ประกอบแรกของคอลเลกชันจนองค์ประกอบทั้งหมดที่มีการเข้าถึงได้จบลงอย่างสมบูรณ์ Iterator เท่านั้นที่สามารถก้าวไปข้างหน้าไม่ได้ย้อนหลัง

iterator มีสองวิธีการขั้นพื้นฐาน: ITER () และถัดไป ()

สตริงรายการหรือ tuple วัตถุสามารถนำมาใช้ในการสร้าง iterator:

>>> list=[1,2,3,4]
>>> it = iter(list)    # 创建迭代器对象
>>> print (next(it))   # 输出迭代器的下一个元素
1
>>> print (next(it))
2
>>> 

วัตถุ iterator สามารถใช้สำหรับงบทราเวิร์ธรรมดา:

#!/usr/bin/python3

list=[1,2,3,4]
it = iter(list)    # 创建迭代器对象
for x in it:
    print (x, end=" ")

โปรแกรมข้างต้นออกผลมีดังนี้:

1 2 3 4

นอกจากนี้คุณยังสามารถใช้ต่อไป () ฟังก์ชั่น:

#!/usr/bin/python3

import sys         # 引入 sys 模块

list=[1,2,3,4]
it = iter(list)    # 创建迭代器对象

while True:
    try:
        print (next(it))
    except StopIteration:
        sys.exit()

โปรแกรมข้างต้นออกผลมีดังนี้:

1
2
3
4

เครื่องกำเนิดไฟฟ้า

ในหลามโดยใช้ฟังก์ชั่นอัตราผลตอบแทนที่เป็นที่รู้จักกันเป็นเครื่องกำเนิดไฟฟ้า (กำเนิด)

ความแตกต่างคือมีฟังก์ชั่นสามัญ, เครื่องกำเนิดไฟฟ้าเป็นฟังก์ชั่นการกลับมา iterator เท่านั้นที่สามารถใช้การดำเนินการซ้ำมากขึ้นง่ายต่อการเข้าใจ Builder เป็น iterator

โทรกำเนิดไฟฟ้ากำลังทำงานกระบวนการทำงานของอัตราผลตอบแทนที่พบจะหยุดชั่วคราวในแต่ละครั้งและบันทึกข้อมูลทั้งหมดในการดำเนินงานในปัจจุบันค่าตอบแทนของอัตราผลตอบแทน วิ่งออกมาจากที่ตั้งปัจจุบันและการดำเนินการต่อไปต่อไปต่อ () วิธีการ

ตัวอย่างต่อไปนี้ใช้อัตราผลตอบแทนที่ตระหนักคอลัมน์ Fibonacci:

#!/usr/bin/python3

import sys

def fibonacci(n): # 生成器函数 - 斐波那契
    a, b, counter = 0, 1, 0
    while True:
        if (counter > n): 
            return
        yield a
        a, b = b, a + b
        counter += 1
f = fibonacci(10) # f 是一个迭代器,由生成器返回生成

while True:
    try:
        print (next(f), end=" ")
    except StopIteration:
        sys.exit()

โปรแกรมข้างต้นออกผลมีดังนี้:

0 1 1 2 3 5 8 13 21 34 55