Różnica między wydajnością Pythona a zwrotem Pythona

Różnica między wydajnością Pythona a zwrotem Pythona

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

  1. 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”.
  1. 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.
  1. 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.