Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen Revision Vorhergehende Überarbeitung
modul:m323:learningunits:lu02:purefunctions [2026/08/25 09:11] – Korrektur: append() gibt None zurück (Output-Kommentar in Beispiel 2 war falsch) adminmodul:m323:learningunits:lu02:purefunctions [2026/08/25 09:47] (aktuell) – Animation zu Determinismus eingebunden admin
Zeile 29: Zeile 29:
 Unpure Functions, im Gegensatz zu pure functions, können Seiteneffekte haben oder von externen Zuständen abhängig sein. Sie können somit unerwartete Ergebnisse liefern, was sie schwerer zu verstehen und zu warten macht. Unpure Functions, im Gegensatz zu pure functions, können Seiteneffekte haben oder von externen Zuständen abhängig sein. Sie können somit unerwartete Ergebnisse liefern, was sie schwerer zu verstehen und zu warten macht.
  
 +==== Animation: Gleiche Eingabe – gleiches Ergebnis? ====
 +
 +Die Animation ruft jeweils **dieselbe Funktion zweimal mit derselben Eingabe** auf – einmal mit globalem Zustand (Tab 1), einmal ohne (Tab 2). Achten Sie am Ende auf das Aufruf-Protokoll: In der Spalte «Eingabe» steht zweimal dasselbe. In der Ergebnisspalte nicht.
 +
 +{{url>https://templates-python.github.io/m323_html/lu02/pure-vs-unpure.html 100%,820px noborder|Animation: Pure und unpure Functions}}
  
 ==== Beispiel 1 ==== ==== Beispiel 1 ====
Zeile 49: Zeile 54:
  
 <WRAP center round tip 60%> <WRAP center round tip 60%>
-**Zum Nachdenken:** Rufen Sie ''add_to_total(3)'' zweimal hintereinander auf. Beim ersten Mal ist ''total'' danach 3, beim zweiten Mal 6 – gleiche Eingabe, anderes Ergebnis. Genau das ist gemeint, wenn man sagt, eine unpure function sei //nicht deterministisch//.+**Zum Nachdenken:** Rufen Sie ''add_to_total(3)'' zweimal hintereinander auf. Beim ersten Mal ist ''total'' danach 3, beim zweiten Mal 6 – gleiche Eingabe, anderes Ergebnis. Genau das ist gemeint, wenn man sagt, eine unpure function sei //nicht deterministisch// (Tab 1 der Animation oben).
 </WRAP> </WRAP>
  
  • modul/m323/learningunits/lu02/purefunctions.1787641877.txt.gz
  • Zuletzt geändert: 2026/08/25 09:11
  • von admin