2015-05-01, 19:29
  #1
Medlem
Hej

Ngon som kan frklara hur yield fungerar? Ni som anvnder python ofta, Har ni ngot roligt projekt lr ngot anvndbart ni kan rekomendera att man kan ha som lrlingsprojekt?
Citera
2015-05-02, 10:08
  #2
Medlem
ture.karlssons avatar
Citat:
Ursprungligen postat av m3t4d0n
Hej

Ngon som kan frklara hur yield fungerar? Ni som anvnder python ofta, Har ni ngot roligt projekt lr ngot anvndbart ni kan rekomendera att man kan ha som lrlingsprojekt?

Med yield, istllet fr return, fr man en funktion med minne. Jag tror nrdarna skulle sga att det inte r en funktion, utan en generator. Inte mycket till frklaring; hr r istllet ett exempel:

Kod:
[~] $ cat test.py
def inc():
  yield 0
  yield 1

for i in inc():
  print(i)

print("-" * 12)

a = inc()

print( next(a) )
print( next(a) )
print( next(a) )

[~] $ python test.py 
0
1
------------
0
1
Traceback (most recent call last):
  File "test.py", line 14, in <module>
    print( next(a) )
StopIteration
[~] $

Observera "felet" (StopIteration) p slutet.
Citera
2015-05-02, 15:00
  #3
Medlem
Luskans avatar
Vilket jkla exempel, hade svrt att frst

Hr r ett lite enklare:

Kod:
def fun():
    
yield 4
    yield 8
    yield 15

for n in fun():
    print 


Output:
Kod:
4
8
15

S fort python hittar keywordet yield i en funktion som omvandlas funktionen till en generator.
__________________
Senast redigerad av Luskan 2015-05-02 kl. 15:04.
Citera

Skapa ett konto eller logga in för att kommentera

Du måste vara medlem för att kunna kommentera

Skapa ett konto

Det är enkelt att registrera ett nytt konto

Bli medlem

Logga in

Har du redan ett konto? Logga in här

Logga in