daily pastebin goal
38%
SHARE
TWEET

Untitled

a guest Jun 14th, 2018 48 Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. # FUNKCJE
  2. def func1(dane_wejsciowe):
  3.     wynik = []
  4.     for i in dane_wejsciowe:
  5.         print("func1 jest teraz na elemencie {}".format(i))
  6.         wynik.append(i)
  7.     return dane_wejsciowe
  8.  
  9.  
  10. def func2(dane_wejsciowe):
  11.     x = [(i, print("func2 jest teraz na elemencie {}".format(i))) for i in dane_wejsciowe]
  12.     y = [i[0] for i in x]  # prostu je wyniki  bo poprzednio printowanie stworzyło krotki (element,None)
  13.     # krok y nie ma znaczenia
  14.     # komentarze w kodzie są złe... tutaj to tylko obrazowanie przykładu
  15.     # docstringi nie są złe
  16.     return y
  17.  
  18.  
  19. DANE = [1, 2, 3, 4, 5]
  20.  
  21. krok1 = func1(DANE)  # func1 produkuje i przekazuje CAŁĄ LISTĘ DO ZMIENNEJ
  22. krok2 = func2(krok1)  # func2 pobiera CAŁĄ LISTĘ wyników i zwraca CAŁĄ LISTĘ przerobionych danych
  23.  
  24. # dane przerabiam dodając w każdej funkcji 1
  25.  
  26. print("-" * 10 + "oddzielam drukowane sekcje" + "-" * 10)
  27.  
  28.  
  29. # GENERATORY
  30.  
  31. def gen1(dane_wejsciowe):
  32.     for i in dane_wejsciowe:
  33.         print("gen1 jest teraz na elemencie {}".format(i))
  34.         yield i  # słowo kluczowe yield zamiast return, funkcja oddaje kolejne elementy gdy sie ją o to prosi
  35.  
  36.  
  37. def gen2(dane_wejsciowe):
  38.     for i in dane_wejsciowe:
  39.         print("gen2 jest teraz na elemencie {}".format(i))
  40.         yield i  # słowo kluczowe yield zamiast return, funkcja oddaje kolejne elementy gdy sie ją o to prosi
  41.  
  42.  
  43. krok11 = gen1(DANE)  # funkcja przyjmuje CAŁE DANE (ale tylko tutaj, gdy odczytujesz plik to FOR po liniach)
  44. # krok11 to nie pełen wynik, to obiekt "generatora",
  45. # czyli funkcji która, gdy po niej iterujesz, zwraca wynik dopiero gdy o niego poprosisz
  46. krok12 = gen2(krok11)  # w kroku12 funkcja gen2 pobiera generator i wykonuje swoje obliczenia po 1 elemencie,
  47. # czyli jak zobaczysz, najpierw element '1' przechodzi przez obie funkcje, potem element '2' itp.
  48.  
  49. krok13 = list(krok12)
  50. # DOPIERO TUTAJ ŻĄDASZ WYKONYWANIA SIE WSZYSTKICH FUNKCJI, do tego miejsca nic sie nie wyprintuje
RAW Paste Data
We use cookies for various purposes including analytics. By continuing to use Pastebin, you agree to our use of cookies as described in the Cookies Policy. OK, I Understand
 
Top