Home  >  Article  >  Backend Development  >  Share an example code about yield

Share an example code about yield

零下一度
零下一度Original
2017-06-01 09:05:491293browse

The editor below will bring you a brief discussion on the preliminary understanding of yield. The editor thinks it’s pretty good, so I’ll share it with you now and give it as a reference. Let’s follow the editor and take a look.

is as follows:

def go():
  while True:
    data = 1
    r = yield data # data是返回值,r是接收值
    print("data", data)
    print("A1", r)
    data += 1

    r = yield data
    print("data",data)
    r += r
    print("A2", r)
    data += 1

    r = yield data
    print("data",data)
    print("A3", r)
    # 运行时此后若找不到下一个yield,则会报错StopIteration

my = go()
print("my", my)
print("None", my.send(None))
print(my.send("1"))
print(my.send("2"))
print(my.send("3"))

①my.send(None): means starting the coroutine. This step will return the data value after the first yield.

②send Once, the code run is the code between the two yields, and finally the data value after the next yield is returned. If the latter yield statement is missing, The error "Stoplteration"

③r = yield data

r is passed in by my.send('incoming data') Data

data is the data returned after running this section

[Related recommendations]

1. Detailed description of yield usage in Python

2. Analysis of the usage of and and or in python

3. Detailed explanation of yield and generator example codes in python

4. Introduction to how to use yield in Python

The above is the detailed content of Share an example code about yield. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn