Paano Gumawa at Gumamit ng Mga Tagabuo ng Python

Paano Gumawa At Gumamit Ng Mga Tagabuo Ng Python



Habang nagtatrabaho bilang isang developer, madalas mong kailangang magtrabaho kasama ang maraming hindi gaanong halaga ng data. Ang pag-iimbak ng mga halagang iyon ay gumagamit ng isang tipak ng memorya, na binabawasan ang kahusayan ng iyong code. Gayunpaman, sa Python, maaari kang gumamit ng mga generator upang maiwasan ang pagkawalang iyon.

Sa mga generator, maaari mong gawin nang maramihan ang mga halaga ng isang partikular na pagkakasunud-sunod nang hindi iniimbak ang mga ito nang buo sa memorya. Bukod dito, ang function na 'generator' ay lumilikha ng isang bagay na bumubuo ng mga halaga kapag ito ay inuulit. Kaya, kung gusto mong makuha ang iyong mga kamay sa mga generator ng Python, ang tutorial na ito ay para sa iyo. Dito, ipapaliwanag namin kung paano lumikha at gumamit ng mga generator ng Python.

Paano Gumawa at Gamitin ang Mga Tagabuo ng Python

Ginagamit ang mga generator ng Python upang epektibong magtrabaho sa mga sequence ng data, pangunahin kapag nakikitungo sa malaki o halos walang katapusang mga dataset. Ang mga benepisyo ng mga generator ng Python ay:







  1. Concise: Madali mong matukoy ang mga generator sa isang maigsi na paraan na nagpapabuti sa pagiging madaling mabasa ng code.
  2. Memory Efficient: Bumubuo sila ng isang halaga nang sabay-sabay na kumukonsumo ng mas kaunting memorya at nagpapabuti ng kahusayan.
  3. Mga built-in na function: Sa Python, ang mga generator ay may mga paunang natukoy na function tulad ng next(), iter(), at yield upang mapadali ang kanilang pagtatrabaho.
  4. I-pause at ipagpatuloy ang tampok: Habang nagtatrabaho sa mga kumplikadong algorithm, maaari mong gamitin ang function na 'yield' upang i-pause at ipagpatuloy ang pagpapatakbo ng mga generator.

Maaari kang lumikha at gumamit ng mga generator sa iba't ibang paraan sa Python. Hahatiin pa namin ang seksyong ito upang ipakita ang pagpapatupad nito gamit ang iba't ibang halimbawa. Una, tingnan natin ang pangunahing syntax:



def func_name ( ) :
ani pagpapahayag

Ang 'def' ay tumutukoy sa isang function, at ang 'yield' ay ginagamit upang bumuo ng 'generator' function. Gayunpaman, nakakatulong din ang isa pang paraan upang lumikha ng generator gamit lamang ang isang linyang expression.



Function ng Generator para Magbigay ng String

Tukuyin natin ang isang function ng generator upang magbunga ng ilang halaga:





def generator ( ) :
ani 'Ito ay isang generator'
para sa halaga sa generator ( ) :
print ( halaga )

Kapag inuulit namin ito gamit ang 'para sa' loop, ang program ay bumubuo ng mga tinukoy na halaga na maaari mong i-print gamit ang 'print' na function.



Function ng Generator para Gumawa ng Counter

Ang sumusunod na programa ay ang halimbawa para sa generator function upang makabuo ng pagkakasunod-sunod ng mga numero:

def my_generator ( n ) :
counter = 0
habang counter < n:
ani counter
counter + = 1
para sa counter sa my_generator ( 10 ) :
print ( counter )

Halimbawa, kung ang input ay 10, makakakuha ka ng mga halaga mula 0 hanggang 9 sa pag-compile ng code na ito.

Fibonacci Series Gamit ang Generator Function

Gamitin natin ngayon ang seryeng Fibonacci na pinakapangunahing serye sa programming:

def series_fibonacci ( limitasyon ) :
i , j = 0 , 1
habang i < limitasyon:
ani i
i , j = j , ako + j

a = series_fibonacci ( 6 )

print ( susunod ( a ) )
print ( susunod ( a ) )
print ( susunod ( a ) )
print ( susunod ( a ) )
print ( susunod ( a ) )
print ( susunod ( a ) )

Makukuha namin ang serye tulad ng sumusunod sa pamamagitan ng pagpapatakbo ng code:

Una, lumikha ng isang bagay na pinangalanang 'a' at tawagan ang function na 'generator' na may nais na input bilang isang argumento.

Ang susunod na() keyword ay isang manu-manong iterator. Sa bawat oras na gagamitin namin ang susunod (a), umuulit ito sa isang halaga ng 'a'. Gayunpaman, maaari naming gamitin ang loop na 'para sa' upang i-print ang lahat ng mga halaga ng 'a' nang sabay-sabay tulad ng ipinapakita sa sumusunod na halimbawa:

Paggamit ng 'para sa' loop sa halip na ang susunod na() function:

def series_fibonacci ( limitasyon ) :
i , j = 0 , 1
habang i < limitasyon:
ani i
i , j = j , ako + j

a = series_fibonacci ( 6 )
para sa halaga sa a :
print ( halaga )

Ang resulta ng pagpapatakbo ng code ay hindi mag-iiba dahil ito ay isang alternatibong paraan ng pagsulat ng nakaraang programa:

Ano ang Mga Ekspresyon ng Generator sa Python?

Ang mga expression ng Python generator ay isang paraan upang lumikha ng mga function na 'generator' nang maigsi gamit ang mga linear na expression. Narito ang simpleng syntax:

( pagpapahayag para sa variable sa iterable kung kundisyon )

Halimbawa, lumikha ng expression ng generator upang kalkulahin ang mga parisukat ng mga kakaibang numero mula 0 hanggang 'n' kapag ang 'n' ay ang halaga ng input.

odd_squares = ( x * x para sa x sa saklaw ( 10 ) kung x % 2 != 0 )
para sa halaga sa odd_squares:
print ( halaga )

Ang nakaraang code ay nagbubunga ng sumusunod na resulta:

Konklusyon

Ito ay tungkol sa iba't ibang paraan upang lumikha at magamit ang mga generator ng Python. Ipinaliwanag namin ang lahat tungkol sa mga expression ng Python generator. Dapat mong gamitin ang mga expression na ito kung isinasaalang-alang mo ang paggamit ng mga generator sa alinman sa iyong mga proyekto dahil mas mahusay ang mga ito sa bawat aspeto ng programming.