Zum Einstieg in die faszinierende Welt von Python genügt eine kleine Teilmenge des grossen
ökosystems von Python.
Diese soll hier als Ausgangspunkt für eigene Recherchen vorgestellt
werden.
Siehe auch: docs.python.org
Die Code-Beispiele mit >>> sind in der interaktiven Python Shell ausgeführt worden.
Name |
|
Beispiel | Referenz |
---|---|---|---|
Ganzzahlen |
|
42 | w3schools.com |
Gleitkommazahlen |
|
4.2 | w3schools.com |
Zeichenketten |
|
'Hallo du!' "Hallo du!" |
w3schools.com |
[item1, item2, item3]
>>> fruits = ['orange', 'apple', 'pear', 'banana', 'kiwi', 'apple', 'banana']
>>> fruits[3]
'banana'
>>> fruits.count('apple')
2
fruits.count('tangerine')
0
>>> fruits.index('banana')
3
>>> fruits.index('banana', 4) # Find next banana starting at position 4
6
>>> fruits.reverse()
>>> fruits
['banana', 'apple', 'kiwi', 'banana', 'pear', 'apple', 'orange']
>>> fruits.append('grape')
>>> fruits
['banana', 'apple', 'kiwi', 'banana', 'pear', 'apple', 'orange', 'grape']
>>> fruits.sort()
>>> fruits
['apple', 'apple', 'banana', 'banana', 'grape', 'kiwi', 'orange', 'pear']
>>> fruits.pop()
'pear'
Siehe auch: www.python.org
{item1, item2, item3}
set()
verwendet werden. Hinweis: Um eine leere Menge zu
erstellen, muss set()
verwenden, nicht {}; letzteres erzeugt ein leeres Wörterbuch (siehe unten)
>>> basket = {'apple', 'orange', 'apple', 'pear', 'orange', 'banana'}
>>> print(basket) # zeigen, dass Duplikate entfernt wurden
{'orange', 'banana', 'pear', 'apple'}
>>> 'orange' in basket # schnelle Prüfung, ob ein Element in der Menge ist
True
>>> 'crabgrass' in basket
False
>>> # Demonstration von Mengenoperationen mit eindeutigen Buchstaben aus zwei Wörtern
...
>>> a = set('abracadabra')
>>> b = set('alacazam')
>>> a # alle Buchstaben finden
{'a', 'r', 'b', 'c', 'd'}
>>> a - b # Buchstaben, die in a aber nicht in b vorkommen
{'r', 'd', 'b'}
>>> a | b # Buchstaben, die in a oder b oder beiden vorkommen
{'a', 'c', 'r', 'd', 'b', 'm', 'z', 'l'}
>>> a & b # Buchstaben, die in sowohl a als auch b
{'a', 'c'}
>>> a ^ b # Buchstaben, die in a oder b aber nicht in beiden vorkommen
{'r', 'd', 'b', 'm', 'z', 'l'}
Siehe auch: www.python.org
Ein weiterer nützlicher Datentyp, der in Python eingebaut ist, ist das Wörterbuch (englisch: Dictionary)
Ein Wörterbuch kann man sich als eine Menge von Schlüssel-Wert-Paaren vorzustellen, wobei die Schlüssel (innerhalb eines Wörterbuchs) eindeutig sein müssen.
tel = {'Paul': 4098, 'Fränze': 4139}
tel['Guido'] = 5544
>>> tel = {'jack': 4098, 'sape': 4139}
>>> tel['guido'] = 4127
>>> tel
{'jack': 4098, 'sape': 4139, 'guido': 4127}
>>> tel['jack']
4098
>>> del tel['sape']
>>> tel['irv'] = 4127
>>> tel
{'jack': 4098, 'guido': 4127, 'irv': 4127}
>>> list(tel)
['jack', 'guido', 'irv']
>>> sorted(tel)
['guido', 'irv', 'jack']
>>> 'guido' in tel
True
>>> 'jack' not in tel
False
Siehe auch: www.python.org
Eine wichtige Funktion zur Kommunikation mit unserem Python Programm ist die eingebaute
Funktion print('...')
. Diese erzeugt entsprechend der übergebenen
Argumente eine Ausgabe auf der Konsole.
Die zweite wichtige Funktion zur Kommunikation ist input('...')
. Sie liest
Eingaben aus der Konsole.
Ein Beispiel zum Ausprobieren:
Name = input('Wie lautet dein Name? ')
print(f'Hallo {Name}!\nSchön, dass du mit Python spielst.')
Ausgabe von Texten auf die Konsole. Das kann gut für Informationen zum Programmablauf verwendet werden. (Selbst geschriebene) Tools geben ihre Resultate auch oft in die Konsole aus.
Siehe auch: www.w3schools.com
Ermöglicht die Eingabe von Werten mit der Tastatur in der Konsole.
Hinweis: Man muss in
codein die Konsolte, dort Terminal genannt, klicken damit man Text eingeben kann. Siehe auch: www.w3schools.com
Erzeugen von Bereichen für Schleifenkonstruktionen. Siehe unten.
Siehe auch: www.w3schools.com
def Sage3MalHallo():
print('Hallo World!')
print('Hallo Paula!')
print('Hallo Paul!')
Funktionen können Argumente und einen Rückgabewert (return Wert) haben:
def BildeDieSumme(Wert1, Wert2):
return Wert1 + Wert2
Sollen Funktionen Variablen aus dem Hauptprogramm ändern, so
müssen diese am Anfang der Funktion mit 'global' bekannt gegeben werden.
Ohne dieses 'global' werden die Variablen nur lokal in der Funktion verwendet:
Zaehler = 0
def ErhoeheDenZaehler(Wert):
global Zaehler
Zaehler = Zaehler + Wert
ErhoeheDenZaehler(15)
print(f'Zähler: {Zaehler}') # Zähler: 15
import BIBLIOTHEK as b
in unserem Programm einbinden, mit dem Alias 'b' versehen und nutzen:
Wert = b.GIBMIREINENWERT()
import random
Random wir zur Erzeugung (fast) zufälliger Zahlen verwendet.
Rückgabewert | Funktion | Kommentar | Referenz |
---|---|---|---|
int |
|
x ε G mit x ε [a, b) | docs.python.org |
float |
|
x ε R mit ε [0, 1) | docs.python.org |
int |
|
x ε G mit ε [0, 1) | docs.python.org |
Rückgabewert | Funktion | Kommentar | Referenz |
---|---|---|---|
|
Die mathematische Konstante π = 3.141592… | ||
|
Die mathematische Konstante e = 2.718281… |
Siehe auch: docs.python.org - math
Die Turtle-Grafik stellt eine "physische Schildkröte" (ein kleiner Roboter mit einem Stift) dar, die auf einem Blatt Papier (einem Canvas in Computersprache) zeichnet. Dabei werden die Bewegungen von der Turtle aus gedacht, also eine Drehung wird zur aktuellen Richtung addiert und eine Bewegung geht von der aktuellen Position der Turtle aus.
Die aktuell Standardinstallation verwendet statt eines Tutle-Icons einen Pfeil, damit auch Lernende am Gymnasium sich nicht genieren die Bibliothek zu benutzen ;).
Ein Beispiel zum Ausprobieren:
from turtle import Turtle, Screen
from random import randrange
Leinwand = Screen()
Leinwand.setup(600, 400)
print(Leinwand.screensize())
Fritz = Turtle()
for i in range(42):
steps = randrange(10,100)
angle = randrange(0,270)
Fritz.right(angle)
Fritz.fd(steps)
Leinwand.exitonclick()
Leinwand.exitonclick() verhindert, dass das Zeichenfenster beim Beenden des Programms sofort
geschlossen wird. Man kann es mit einem Klick in die Zeichenfläche schliessen.
Basisobjekte
Rückgabewert | Funktion | Kommentar | Referenz |
---|---|---|---|
ein Screen Objekt |
|
erzeugen einer Leinwand | docs.python.org |
ein Turtle Objekt |
|
erzeugen einer Turtle | docs.python.org |
Rückgabewert | Funktion | Kommentar | Referenz |
---|---|---|---|
|
Bewegt die Turtle um die Distanz. | docs.python.org | |
|
docs.python.org | ||
|
Dreht die Turtle um den Winkel nach rechts. | docs.python.org | |
|
Setzt die Turtle aud die Koordinate. y kann weggelassen werden. | docs.python.org | |
|
Setz die Richtung der Turtle auf den absoluten Winkel. 0° zeigt nach oben. | docs.python.org | |
|
Die Turtle zeichnet eine Kreis oder den Teil eines Kreises | docs.python.org | |
|
Zeichnet einen Punkt der angegebenen Grösse | docs.python.org |
Rückgabewert | Funktion | Kommentar | Referenz |
---|---|---|---|
|
Macht die Turtle sichtbar. | docs.python.org | |
|
Vetsteckt die Turtle. Damit wird die Grafik mit maximaler Geschwindigkeit erzeugt. | docs.python.org | |
|
Setzt die Bewegungsgeschwindigkeit der Turtle. v ε [1,10] | docs.python.org | |
Point ¦ Tuple x, y |
|
Gibt die Position der Turtle als Punkt (p = turtle.pos()) oder Tupel (x,y = turtle.pos()) zurück. | docs.python.org |
float |
|
Gibt den Winkel zwischen der Turtlerichtung und Position zum angegebenen Punkt an. | docs.python.org |
float |
|
Gitb den Abstand der Turtle zum angegeben Punkt zurück. | docs.python.org |
float |
|
Gibt die Richtung der Turtle zurück. | docs.python.org |
|
Setzt die absolute Richtung der Turtle. | docs.python.org |
Rückgabewert | Funktion | Kommentar | Referenz |
---|---|---|---|
|
Senkt den Stift ab, es wird gezeichnet | docs.python.org | |
|
Hebt den Stift an, es wird nicht gezeichnet. | docs.python.org | |
|
Setzt die Stiftbreite | docs.python.org | |
|
Setzt die Stiftfarbe | docs.python.org |
Rückgabewert | Funktion | Kommentar | Referenz |
---|---|---|---|
|
initialisiert den Event-Listener der Zeichenfläche (Screen) | docs.python.org | |
|
Registriert den Eventhandler ''HandlerName' für das Event ''EventName''. Events sind die Basiszeichen der Tastatur: a-z, A-Z, 0-9 und benannte Sondertasten wie zum Beispiel 'plus' für '+' oder 'Up' für die ⬆️ Taste oder Maus-Klicks. |
docs.python.org | |
|
Registriert ein Maus-Klick-Event | docs.python.org |
Operator | Bezeichnung | Beispiel |
---|---|---|
|
positives, negatives Vorzeichen |
|
|
Addition, Subtraktion |
Ergebnis: 7
|
|
Multiplikation, Division |
6
|
|
Ganzzahldivision |
Ergebnis: 3
|
|
Rest (Modulo) |
Ergebnis: 6
|
|
Potenzoperation |
Ergebnis: 1000
|
|
Kombinierte Zuweisungsoperation |
Ergebnis: 5
|
|
Bitweises Not |
Ergebnis: -8
|
|
Boolsches Oder, Boolsches Und, Boolsches Nicht |
|
|
"Element von" |
|
|
Vergleichsoperatoren |
|
|
Bitweises Oder, Bitweises Und, Bitweises XOR |
|
|
Shiftoperatoren |
|
import | from | as | |||
None | True | False | and | or | not |
def | : | global | pass | return | |
class | del | is | in | with | |
x = int(input("Bitte eine Natürliche Zahl: "))
if x < 0:
x = 0
print('Negativ, zu 0 gemacht!')
elif x == 0:
print('Null')
elif x == 1:
print('Eins')
else:
print('Mehr')
for Index in range(5):
print(Index)
Wortliste = ['Die', 'Katze', 'sitzt', 'am', 'Fenster']
for Wort in Wortliste:
print(Wort, end=' ')
x = -1
while x < 4:
print(x)
x += 1
while True:
Entscheid = input('Eingabe "von vorne", "weiter", "Abbruch": ')
if Entscheid=='von vorne':
continue;
if Entscheid=='Abbruch':
break;
print('es geht weiter....')
print('abgebrochen')
"
oder '
umgeben.
print("Hallo Max")
print('Hallo Heidi')
"""
eingeschlossen.
print("""Aller guten Dinge sind 3:
1. Versuche zu verstehen.
2. Versuche zu lieben.
3. Habe Geduld!""")
f" Hallo {Name}!"
Notation.
Siehe auch: f-Strings
>>> PreisApfel = 3.45
>>> Menge = 'kg'
>>> print(f'Die Apfel kosten {PreisApfel:5.2f} Fr. pro {Menge}.')
Die Apfel kosten 3.45 Fr. pro kg.
:< |
Left aligns the result (within the available space) |
:> |
Right aligns the result (within the available space) |
:^ |
Center aligns the result (within the available space) |
:= |
Places the sign to the left most position |
:+ |
Use a plus sign to indicate if the result is positive or negative |
:- |
Use a minus sign for negative values only |
: |
Use a space to insert an extra space before positive numbers (and a minus sign before negative numbers) |
:, |
Use a comma as a thousand separator |
:_ |
Use a underscore as a thousand separator |
:b |
Binary format |
:c |
Converts the value into the corresponding unicode character |
:d |
Decimal format |
:e |
Scientific format, with a lower case e |
:E |
Scientific format, with an upper case E |
:f |
Fix point number format |
:F |
Fix point number format, in uppercase format (show
inf and
nan as INF
and NAN )
|
:g |
General format |
:G |
General format (using a upper case E for scientific notations) |
:o |
Octal format |
:x |
Hex format, lower case |
:X |
Hex format, upper case |
:n |
Number format |
:% |
Percentage format |