Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lære Doven Evaluering i Python: Optimering af Hukommelse og Ydeevne | Mestring af Iteratorer og Generatorer i Python
Practice
Projects
Quizzes & Challenges
Quizzes
Challenges
/
Python Strukturel Programmering

bookDoven Evaluering i Python: Optimering af Hukommelse og Ydeevne

I dette kapitel introduceres begrebet doven evaluering, en teknik hvor data kun produceres, når det er nødvendigt, i stedet for at blive beregnet og gemt på forhånd. Doven evaluering er en central egenskab ved iteratorer og er særligt nyttig ved arbejde med store datasæt eller uendelige sekvenser.

Centrale fordele:

  • Hukommelseseffektivitet: kun ét element genereres ad gangen;
  • Optimering af ydeevne: beregning sker kun ved behov;
  • Understøttelse af uendelige sekvenser: det er muligt at arbejde med sekvenser af vilkårlig størrelse uden at løbe tør for hukommelse.

Lad os oprette en uendelig terningekaster, der genererer tilfældige kast efter behov. Dette sikrer, at vi aldrig behøver at gemme alle kast i hukommelsen, uanset hvor mange kast vi udfører.

12345678910111213141516
import random # Infinite dice roller class InfiniteDiceRoller: def __iter__(self): return self def __next__(self): return random.randint(1, 6) # Using the infinite dice roller dice_roller = InfiniteDiceRoller() for i, roll in enumerate(dice_roller): if i >= 10: # Stop after 10 rolls break print(f"Roll {i + 1}: {roll}")
copy

Var alt klart?

Hvordan kan vi forbedre det?

Tak for dine kommentarer!

Sektion 6. Kapitel 3

Spørg AI

expand

Spørg AI

ChatGPT

Spørg om hvad som helst eller prøv et af de foreslåede spørgsmål for at starte vores chat

bookDoven Evaluering i Python: Optimering af Hukommelse og Ydeevne

Stryg for at vise menuen

I dette kapitel introduceres begrebet doven evaluering, en teknik hvor data kun produceres, når det er nødvendigt, i stedet for at blive beregnet og gemt på forhånd. Doven evaluering er en central egenskab ved iteratorer og er særligt nyttig ved arbejde med store datasæt eller uendelige sekvenser.

Centrale fordele:

  • Hukommelseseffektivitet: kun ét element genereres ad gangen;
  • Optimering af ydeevne: beregning sker kun ved behov;
  • Understøttelse af uendelige sekvenser: det er muligt at arbejde med sekvenser af vilkårlig størrelse uden at løbe tør for hukommelse.

Lad os oprette en uendelig terningekaster, der genererer tilfældige kast efter behov. Dette sikrer, at vi aldrig behøver at gemme alle kast i hukommelsen, uanset hvor mange kast vi udfører.

12345678910111213141516
import random # Infinite dice roller class InfiniteDiceRoller: def __iter__(self): return self def __next__(self): return random.randint(1, 6) # Using the infinite dice roller dice_roller = InfiniteDiceRoller() for i, roll in enumerate(dice_roller): if i >= 10: # Stop after 10 rolls break print(f"Roll {i + 1}: {roll}")
copy

Var alt klart?

Hvordan kan vi forbedre det?

Tak for dine kommentarer!

Sektion 6. Kapitel 3
some-alt