Generatory
Stronę tą wyświetlono już: 3263 razy
Generatory są dość specyficznym tworem, który do tej pory zaobserwowałem jedynie w Pythonie. Są one podobne do funkcji, jednakże nie są one tym samym co zwykła Pythonowa funkcja. Dobrym przykładem generatora, który jest nagminnie wykorzystywany w Pythonie jest range.
Żeby zrozumieć, jak działają generatory najlepiej jest rzucić okiem na przykład własnoręcznie utworzonego generatora:
- import math
- def c_sin(angle_begin = 0, angle_end = 90, step = 1):
- s = math.sin(math.radians(angle_begin))
- while angle_begin != angle_end:
- yield s
- angle_begin += steep
- s = math.sin(math.radians(angle_begin))
- sin_angle = list(c_sin(0,5))
- print(sin_angle)
Słowo kluczowe yield (z angielskiego: krzyczeć) mówi nam, że generator wyrzuca pewną wartość, ale jego działanie nie kończy się na tym. Działanie generatora kończy się dopiero wtedy gdy (w tym przypadku) spełniony jest warunek angle_begin != angle_end.
Wynikiem działania powyższego kodu będzie wyświetlenie elementów listy, które zawierają wartości typu float będące sinusem kątów z zakresu podanego na wejście funkcji. Krok tego zakresu to domyślna wartość argumentu step generatora c_sin.

Tytuł:
Python w zadaniach. Programowanie dla młodzieży. Poziom podstawowy
Autor:
Urszula Wiejak, Adrian Wojciechowski

Tytuł:
Python i praca z danymi. Przetwarzanie, analiza, modelowanie i wizualizacja. Wydanie III
Autor:
Avinash Navlani, Armando Fandango, Ivan Idris

Tytuł:
Black Hat Python. Język Python dla hakerów i pentesterów. Wydanie II
Autor:
Justin Seitz, Tim Arnold

Tytuł:
Python z życia wzięty. Rozwiązywanie problemów za pomocą kilku linii kodu
Autor:
Lee Vaughan

Tytuł:
Python dla nastolatków. Projekty graficzne z Python Turtle
Autor:
Krzysztof Łos

Tytuł:
Python i Excel. Nowoczesne środowisko do automatyzacji i analizy danych
Autor:
Felix Zumstein

Tytuł:
Python dla testera
Autor:
Piotr Wróblewski

Tytuł:
Python 3. Projekty dla początkujących i pasjonatów
Autor:
Adam Jurkiewicz

Tytuł:
Machine learning, Python i data science. Wprowadzenie
Autor:
Andreas C. Müller, Sarah Guido

Tytuł:
Python na maturze. Rozwiązania i analiza wybranych zadań programistycznych
Autor:
Roland Zimek