Pyton

Wydajność Pythona

Wydajność Pythona

Yield to wbudowane słowo kluczowe Pythona, które zwraca wartości z funkcji. Wykonywanie funkcji nie zostaje zakończone. Raczej zwraca wartość do wywołującego i utrzymuje stan wykonania funkcji. Wykonanie funkcji jest wznawiane od ostatniego rachunku zysków i strat. Wydajność pozwala nam wytworzyć sekwencję wartości, a nie jedną wartość. Jest używany wewnątrz ciała funkcyjnego. Funkcja, która zawiera oświadczenie o zyskach, jest znana jako funkcja generatora.

Istnieje kilka zalet udostępniania słowa kluczowego. Na przykład kontroluje alokację pamięci i zapisuje stan zmiennej lokalnej. Zwiększa jednak złożoność kodu.

W tym artykule wyjaśniono użycie słowa kluczowego zysku na przykładach.

Składnia wydajności

Składnia zysku jest prosta i nieskomplikowana. Zysk jest inicjowany za pomocą słowa kluczowego i składni zysku w następujący sposób:

wartość plonu

Przykłady

Zobaczmy teraz przykłady, aby zrozumieć zastosowanie i działanie deklaracji plonów. Tradycyjnie słowo kluczowe return kończy wykonywanie programu i zwraca wartość na końcu, natomiast yield zwraca sekwencję wartości. Nie przechowuje wartości w pamięci i zwraca wartość do wywołującego w czasie wykonywania. W podanym poniżej przykładzie funkcja generatora jest zdefiniowana w celu określenia roku przestępnego. Skok to rok, w którym podzielna przez cztery zwraca zero jako resztę remain. Słowo kluczowe zysku zwraca rozmówcy wartość roku przestępnego. Ponieważ otrzyma wartość roku przestępnego, wstrzyma wykonywanie programu, zwróci wartość, a następnie wznowi wykonywanie od miejsca, w którym zostało zatrzymane.

#deklarowanie generatora w celu określenia roku przestępnego
def leapfunc(moja_lista):
dla mnie w my_list:
jeśli(i%4==0):
#wykorzystywanie wydajności
wydajność i
#ogłaszanie listy lat
lista_roczna=[2010,2011,2012,2016,2020,2024]
print("Drukowanie wartości roku przestępnego")
dla x w leapfunc(lista_roku):
drukuj(x)

Wynik

Dane wyjściowe pokazują szereg lat przestępnych.

Zobaczmy inny przykład, w którym funkcja generatora daje różne liczby i łańcuchy.

#deklarowanie funkcji generatora
def mojafunkcja():
plon "Znak"
wydać „Jan”
plon "Taylor"
plon "Iwan"
wydajność 10
wydajność 20
wydajność 30
wydajność 40
wydajność 50
#wywołanie i iteracja funkcji generatora
dla mnie w myfunc():
#drukowanie wartości
drukuj(i)

Wynik

Zaimplementujmy funkcję generatora, aby obliczyć i wydrukować wartość kostki ciągu liczb. Generujemy wartości kostki od 1 do 30.

#deklarowanie funkcji generatora do obliczania wartości kostki
def calcube():
wart=1
#nieskończona pętla while
podczas gdy prawda:
#kalkulująca kostka
wydajność wart*val*val
#zwiększanie wartości o 1
wart=wal+1
print("Wartości kostki to:")
#wywołanie funkcji generatora
dla i w calcube():
jeśli ja>30:
złamać
drukuj(i)

Wynik

Wyjście pokazuje wartość kostki mniejszą niż 30.

Wniosek

Yield to wbudowane słowo kluczowe Pythona, które nie kończy wykonywania programu i nie generuje serii wartości. W porównaniu ze słowem kluczowym return, słowo kluczowe zysku generuje wiele wartości i zwraca do rozmówcy. Ten artykuł wyjaśnia wydajność Pythona na przykładach.

Gry Najlepsze dystrybucje Linuksa do gier w 2021 r
Najlepsze dystrybucje Linuksa do gier w 2021 r
System operacyjny Linux przeszedł długą drogę od pierwotnego, prostego, serwerowego wyglądu. Ten system operacyjny znacznie się poprawił w ostatnich l...
Gry Jak przechwytywać i przesyłać strumieniowo sesję gry w systemie Linux
Jak przechwytywać i przesyłać strumieniowo sesję gry w systemie Linux
W przeszłości granie w gry było uważane tylko za hobby, ale z czasem branża gier odnotowała ogromny wzrost pod względem technologii i liczby graczy. P...
Gry Najlepsze gry do grania ze śledzeniem rąk
Najlepsze gry do grania ze śledzeniem rąk
Oculus Quest niedawno wprowadził świetny pomysł śledzenia rąk bez kontrolerów. Przy stale rosnącej liczbie gier i działań, które wspierają zarówno for...