Różnica między wydajnością Pythona a zwrotem Pythona
- 4675
- 405
- Pelagia Radomski
Instrukcja wydajności służy do definiowania generatorów w Pythonie. Więc zanim przejdziemy do tego, co dokładnie robi, musimy najpierw zrozumieć koncepcję generatorów. Generatory odgrywają znaczącą rolę w Pythonie, a jeśli jesteś głęboko w programowaniu Pythona, istnieje szansa, że już pracowałeś z generatorami Python. Generatory są używane do tworzenia iteratorów w Pythonie, ale z innym podejściem.
Generatory Pythona są funkcjami, które wytwarzają sekwencję wyników i można je przerwać i wznowić dynamicznie. Generatory zostały najpierw dodane jako opcjonalna funkcja w Python 2.2 i standard w Pythonie 2.3. Chociaż były wystarczająco mocne, funkcje generatorów zostały znacznie wzmocnione w Pythonie 2.5.
Kiedy generatory zostały dodane z powrotem w Pythonie 2.2, wprowadził nowe słowo kluczowe „wydajność” dla kompatybilności wstecznej, dla którego musieliśmy zaimportować generatory z modułu _future_, aby z nich korzystać. Zmieniono to w wersji 2 Python.3 Kiedy generatory stały się standardem i nie było już konieczne.
Instrukcja wydajności zawiesza wykonywanie funkcji i wysyła wartość z powrotem do dzwoniącego, a zapisywanie stanu, a później wznowienia, co oznacza, że cały generator może być nadal wznowiony po uzyskaniu wartości zwrotnej. Instrukcja powrotu kończy wykonywanie funkcji i wysyła wartość z powrotem do dzwoniącego. Bez tego twoja funkcja nic nie zwraca. Przyjrzyjmy się, kiedy użyć wydajności i kiedy użyć powrotu w Pythonie, aby lepiej zrozumieć różnicę między nimi.
Co to jest plon Python?
Instrukcja wydajności jest używana w generatorach Python w celu zastąpienia zwrotu funkcji, aby odesłać wartość z powrotem do dzwonienia bez niszczenia zmiennych lokalnych. Aby lepiej zrozumieć, jaką rolę odgrywa stwierdzenie plonu w programowaniu Pythona, musisz zrozumieć, jakie są generatory.
Funkcje generatora są tworzone z definicji, podobnie jak funkcje zwykłe, ale zawierają instrukcję „wydajności”. Zaczyna się od słowa kluczowego „wydajność”, które określa obiekt generatora, który ma zostać zwrócony do dzwoniącego. Generator jest specjalną funkcją w Pythonie, który zwraca obiekt generatora do dzwoniącego, a nie wartość danych. Słowo kluczowe z wydajności ma unikalną zdolność do zatrzymania wykonywania funkcji, stanu oszczędzania, a następnie wznowienia.
Co to jest powrót Pythona?
Instrukcja powrotu, w przeciwieństwie do instrukcji plonu, wychodzi z funkcji, przekazując wartość swoim dzwoniącym. Funkcje zwracają wartość z powrotem do ich dzwoniących, a te, które są bardziej proceduralne, nie zwracają wyraźnie. Chociaż funkcja może mieć wiele instrukcji zwrotnych, tylko jedno z nich można wywołać dla dowolnego wywołania funkcji.
Zazwyczaj instrukcja powrotu pojawia się na samym końcu bloku funkcyjnego, aby zwrócić ostateczny wynik wykonywania wszystkich instrukcji zawartych w tej funkcji. Może jednak pojawić się również wcześniej w bloku funkcyjnym, aby zatrzymać wykonywanie wszystkich kolejnych stwierdzeń w tym bloku. To natychmiast wznawia wykonanie programu u dzwoniącego. Gdy nie jest określona żadna wartość, równoważny typ obiektu zwracania w Pythonie to „Brak”.
Różnica między wydajnością Pythona a zwrotem
-
Podstawy związane z wydajnością i zwrotem Pythona
-
- Instrukcja wydajności jest używana w generatorach Python w celu zastąpienia zwrotu funkcji, aby odesłać wartość z powrotem do dzwonienia bez niszczenia zmiennych lokalnych. Generator jest specjalną funkcją w Pythonie, który zwraca obiekt generatora do dzwoniącego, a nie wartość danych.
- Instrukcja powrotu, w przeciwieństwie do instrukcji plonu, wychodzi z funkcji, przekazując wartość swoim dzwoniącym. Zazwyczaj instrukcja powrotu pojawia się na samym końcu bloku funkcyjnego, aby zwrócić ostateczny wynik wykonywania wszystkich instrukcji zawartych w tej funkcji. Wszystkie funkcje zwracają wartość, a jeśli nie ma określonej wartości, zwróci „Brak”.
-
Generatory vs. Funkcje w wydajności i zwrotu Pythona
-
- Instrukcja plonu jest wyraźnie używana z generatorami Python. Składnie, generator jest funkcją z instrukcją wydajności. Chociaż funkcja może mieć wiele instrukcji zwrotnych, tylko jedno z nich można wywołać dla dowolnego wywołania funkcji.
- W przeciwieństwie do funkcji, która zwraca tylko raz, generatory mogą zatrzymać wykonanie i przynieść wyniki pośrednie. Każdy generator jest zdefiniowany jako funkcja, ale zamiast słowa kluczowego zwrotu, słowo kluczowe jest używane wewnątrz bloku funkcyjnego, aby wskazać, że wartość zwracania jest tylko tymczasowa, a cały generator można wznowić nawet po uzyskaniu wartości zwracanej.
-
Wykonanie wydajności i zwrotu Pythona
-
- Oświadczenie zwrotne kończy wykonywanie funkcji i odsyła wartość do swojego dzwoniącego. Funkcje zwracają wartość z powrotem do ich dzwoniących, a te, które są bardziej proceduralne, nie zwracają wyraźnie. Zasadniczo jest wyjście z funkcji i zniszczyć wszystkie wartości lokalne w środku.
- Z drugiej strony instrukcja wydajności zastępuje wartość zwracania funkcji, aby zawiesić jej wykonanie i wysyła wartość z powrotem do dzwoniącego bez niszczenia zmiennych lokalnych. Jednak w przeciwieństwie do funkcji powrotu, wydajność wznawia wykonanie funkcji, z której została przerwana.
Python wydajność vs. Powrót: wykres porównawczy
Podsumowanie wydajności i zwrotu Pythona
Składnie wydajność jest słowem kluczowym, którego można użyć, podobnie jak słowo kluczowe, z wyjątkiem return instrukcja kończy wykonywanie Twojej funkcji i odsyła wartość do swojego dzwoniącego. Funkcjonalność instrukcji powrotu jest przyjmowanie danych wejściowych i zwrócenie czegoś do dzwoniącego. W przeciwieństwie do zwrotu, instrukcja wydajności jest jawnie używana do zdefiniowania generatorów, zastępując wartość zwrotną funkcji w celu zawieszenia jej wykonania, utrzymując nienaruszone zmienne lokalne, podczas gdy instrukcja powrotu niszczy wszystkie zmienne lokalne wewnątrz.