173
6.7
Lokale Funktionen
In der for-Schleife #1 werden die einzelnen Quersummen der Zahlen im Argumenttupel
zahl aufsummiert. Um das Testen zu erleichtern, wurden die beiden Funktionsdefinitio-
nen von
quer() und quersumme() im interaktiven Modus eingegeben. Man kann nun
unterschiedliche Aufrufe ausprobieren:
Wie man sieht, berücksichtigt die Funktion auch den Fall, dass gar kein Argument überge-
ben wird.
6.7 Lokale Funktionen
Eine lokale Funktion wird innerhalb des Körpers einer Funktion definiert und kann nur
innerhalb dieser Funktion aufgerufen werden. Von außen ist sie nicht erreichbar.
Als Beispiel beschreiben wir eine Funktion, die eine Zeichenkette analysiert und herausfin-
det, ob sie einen deutschen Text enthält oder nicht. Die Idee ist folgende:
Man zählt die Vorkommen bestimmter Buchstaben und ermittelt ihren prozentualen
Anteil am Gesamttext (relative Häufigkeit).
Dann vergleicht man die relativen Häufigkeiten mit statistischen Angaben zur deut-
schen Sprache. Als Grundlage kann Tabelle 6.1 verwendet werden.
Im folgenden Skript enthält die Funktion
deutsch() die lokale Funktion h(). Diese über-
nimmt Teilaufgabe 1 und berechnet die relative Häufigkeit des Vorkommens eines Zeichens
im String.
summe += quer(x)
return summe
>>> quersumme()
0
>>> quersumme(1, 100, 123)
8
A 6,51 % J 0,27 % S 7,27 %
B 1,89 % K 1,21 % T 6,15 %
C 3,06 % L 3,44 % U 4,35 %
D 5,08 % M 2,53 % V 0,67 %
E 17,40 % N 9,78 % W 1,89 %
F 1,66 % O 2,51 % X 0,03 %
G 3,01 % P 0,79 % Y 0,04 %
H 4,76 % Q 0,02 % Z 1,13 %
I 7,50 % R 7,00 %
Tabelle 6.1: Relative Vorkommenshäufigkeiten von Buchstaben in deutschen Texten. Die
Umlaute ä, ö, ü wurden wie ae, oe, ue gezählt. Quelle: Wikipedia.

Get Python 3 - Lernen und professionell anwenden now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.