Je, kazi za jenereta ni nini?
Je, kazi za jenereta ni nini?

Video: Je, kazi za jenereta ni nini?

Video: Je, kazi za jenereta ni nini?
Video: Namna ya kutambua Alternator mbovu kwenye gari lako 2024, Novemba
Anonim

Jenereta ni darasa maalum la kazi ambayo hurahisisha kazi ya kuandika virudiarudia. A jenereta ni a kazi ambayo hutoa mfuatano wa matokeo badala ya thamani moja, yaani unazalisha ?msururu wa thamani.

Katika suala hili, ni kazi gani za jenereta katika Python?

Jenereta hutumiwa kuunda virudia, lakini kwa mbinu tofauti. Jenereta ni rahisi kazi ambayo hurejesha seti iterable ya vitu, moja kwa wakati, kwa njia maalum. Wakati marudio juu ya seti ya bidhaa inapoanza kutumia kwa taarifa, the jenereta inaendeshwa.

Vile vile, ni tofauti gani ya kisintaksia kati ya jenereta na kazi ya kawaida? Kazi za kawaida rudisha moja tu, thamani moja (au chochote). Jenereta inaweza kurudisha ("mavuno") thamani nyingi, moja baada ya nyingine, inapohitajika. Zinafanya kazi vizuri na iterables, kuruhusu kuunda mitiririko ya data kwa urahisi.

Zaidi ya hayo, unapaswa kutumia jenereta lini?

Jinsi - na kwa nini - unapaswa kutumia Chatu Jenereta . Jenereta wamekuwa sehemu muhimu ya Python tangu walipotambulishwa na PEP 255. Jenereta kipengele cha kukokotoa hukuruhusu kutangaza chaguo la kukokotoa ambalo linafanya kazi kama kiboreshaji. Huruhusu watayarishaji programu kutengeneza kiboreshaji tena kwa njia ya haraka, rahisi na safi.

Je, mavuno hufanyaje kazi?

mavuno ni neno kuu ambalo hutumika kama return, isipokuwa kazi itarudisha jenereta. Mara ya kwanza kwa ajili ya kuita kitu cha jenereta kilichoundwa kutoka kwa kazi yako, itaendesha msimbo katika utendaji wako tangu mwanzo hadi itakapogonga. mavuno , basi itarudisha thamani ya kwanza ya kitanzi.

Ilipendekeza: