Python 3

From
Jump to: navigation, search

Einführung[edit]

Gestaltung eines Python Programms[edit]

Python-Programm werden in der Regel ohne eigerückte Zeilen geschrieben. Ausnahmen sind Folgebefehle bei Schleifen oder Abfragen. Um diese zu Kennzeichnen wird am Ende der Zeile ein Doppelpunt ":" angehängt. Die Zeilen werden nun eingerückt und alle eingerückten Zeilen, die gleich eingerückt sind, gehören zu dem davorstehenden Befehl. Vier Leerzeichen haben sich hier als Standard eingebürgert.

Eine Zeile ist Endlich[edit]

Grundsätzlich sollte jede Zeile nur eine Anweisung enthalten. Spätestens nach 80 Zeichen sollte aber eine neue Zeile begonnen werden. Um dies zu Kennzeichnen wird der Backslash "\" benutzt. Die fortgesetzte Zeile sollte eingerückt werden. Hier sollten acht Leerzeichen verwendet werden. Sollten doch mehrere Anweisungen einer Zeile stehen muss man diese durch ein Semikolon ";" trennen.

Kommentare[edit]

Einzeilige Kommentare werden durch das Doppelkreuz "#" markiert. Ab diesem Zeichen wird der Rest der Zeile als Kommentar betrachtet.

# Dies ist ein Kommentar
zahl=12 # ab dem Doppelkreuz auch ein Kommentar

Mehrzeilige Kommentare werden mir drei Anführungszeichen """"" am Anfang Ende des Blocks markiert.

""" Dies ist ein Kommentar
der hört hier nicht auf
Erst an Ende der Zeile"""

Umlaute[edit]

Musste man bei Python 2 noch die Code-Page angeben, wenn man über den ASCII Zeichensatz hinaus gig. Verwendet Python 3 UTF-8 als codierung und hat mit Umlauten Schwierigkeiten.

Variablen[edit]

  • Ein Variablenname wird aus Buchstaben, Ziffern und Unterstrichen zusammengesetzt. Allerdings darf der nicht mit einer Ziffer beginnen. Groß- und Kleinschreibung ist bei den Variablennamen signifikant.
  • In Variablen können Zahlen oder Zeichenketten gespeichert werden. Der Type eine Variable wird von Python durch die Art des zugewiesenen Wertes festgelegt.
  • Bevor eine Variable ausgewertet werden kann, muss eine Zuweisung definiert werden.

Beispiel für eine Zuweisung

MWst=19

Verschiedene Zahlen[edit]

  • Python kennt zwei Arten von Zahlen. Ganze- und Fließkommezahlen
  • Als Dezimalzeichen wird der "." verwendet. Es kann auch ein "e" oder "E" verwendet werden.
ganzklein=0.00000456
print(ganzklein)

hat als Ausgabe 4.56e-06

Mathematische Ausdrücke[edit]

Python die verwendet für die Grundrechenarten "+-*/" Bei der Division von zwei Ganzzahligen Werten verwendet Python 3 einen Fließkommawert wenn die Division nicht ganzzahlig aufgeht.

Operationen
+ Addition
- Subtraktion
* Multiplikation
/ Divisioin
% Rest einer ganzzahligen Division

Rangfolge[edit]

Wenn Ausdrücke kombiniert werden gilt die Regel der Punkt-vor-Strich-Rechnung. In Python gilt folgende Reihenfolge

  1. Klammern
  2. Exponent (Operator **)
  3. Multiplikation und Division
  4. Addition und Subtraktion

Für eine Zuweisung kann auch eine Variable verwendet werden, da die finale Zuweisung als letztes erfolgt.

zaehler=1
zaehler=zaehler+1
zaehler+=1

Ein zaehler++ wie es C pder Java verwenden ist nicht erlaubt.

Zeichenketten[edit]

Zeichenketten werden in Python durch "'"" oder "''" gekennzeichnet. Eine Zeichenkette über mehrere Zeilen wird mit """"" markiert.

gruss="Hallo"
name='Arnold'
lyrik="""When ich einen Vogel sehe 
der wie eine Ente geht"""

Ausgabe mit Print[edit]

Die Funktion print() schickt die Werte in den runden Klammern an die Konsole

joghurtbecher=500
auftragsdicke=0.2
breite=10
laenge=joghurtbecher/breite/auftragsdicke
print(laenge)
print("Der Streifen ist",laenge,"cm lang")
print("Der Streifen ist",laenge,"cm lang", sep="")
print("Der Streifen ist", breite, "cm breit", end=" ")
print("und", laenge, "cm lang")

führt zu folgender Ausgabe

250.0
Der Streifen ist 250.0 cm lang
Der Streifen ist250.0cm lang
Der Streifen ist 10 cm breit und 250.0 cm lang
  • sep bestimmt das Trennzeichen zwischen Literal und Variable
  • end verändert das Abschlusszeichen. Normalerweise schließt eine Zeile mit einem Zeilenumbruch. Durch das Leerzeichen wird der nächste Aufruf von print() in die gleiche Zeile geschrieben.)

Eingabe mit Input[edit]

Mit dem Befahl Input werden Eingaben von Konsole entgegen genommen.

print("wie heißen Sie?")
name=input()
print("Hallo ",name)
print("-----------")
name=input("Wie heißen Sie ?")
print("Hallo ",name)

Ausgabe:

wie heißen Sie?
Frank
Hallo  Frank
-----------
Wie heißen Sie ?Frank
Hallo  Frank

Konvertierung der Variablentypen[edit]

Über input() getätigte Eingaben werden als Zeichenkette behandelt. Mit der Funktion eval() kann diese in eine Zahl umgewandelt werden.

eingabe=input("Eingabe:")
zahleingabe=eval(eingabe)
print (zahleingabe)
eingabe=input("Eingabe:")
print (eval(eingabe))

Ausgabe

Eingabe:5
5       
Eingabe:17+4
21

Pythen kennt zwei Zahlentypen int und float. Für jeden Type gibt es eine Funktion zur Konvertierung

ganzZahlVar=int('42')
ganzzahlVar=int(0.0)
nachKommaVar=float("0.01")
nachKommaVar=float(9)

Analog gibt es auch für Zeichenketten eine Funktion </syntaxhighlight> Pythen kennt zwei Zahlentypen int und float. Für jeden Type gibt es eine Funktion zur Konvertierung

zeichenkette=str(zahlVar)

Die Funktion type[edit]

Mit der Funktion type() kann der Typ einer Variable bzw. Ausdruck ermittelt werden.

print (type("9"))
print (type(9))
print (type(9.0))

Ausgabe

<class 'str'>
<class 'int'>  
<class 'float'>

Ablaufstrukturen[edit]

Abfrage if[edit]

Entscheidungen werden in Python durch den if Befehl eingeleitet. Danach erfolgt eine Bedingung, die durch einen Doppelpunkt abgeschlossen wird. Die Abhängigen Befehle werden durch eine Einrückung gekennzeichnet. In dem Fall, dass die Bedingung nicht zutrifft und daraus sich Anweisungen ergeben, gibt es das else, welches diesen Fall abbildet.

kinder=0
joghurt=300
if kinder>0:
    portion=joghurt/kinder
    print("Jedes Kinf bekommt: ", portion)
else:
    print("Alles für mich")

Eine Verkettung von if/else Anweisungen ist durchaus möglich

nachbarTreffer=9
ihreTreffer=9
if nachbarTreffer>ihreTreffer:
    print("Der Nachbar hat gewonnen")
else:
    if nachbarTreffer<ihreTreffer:
        print("der Nachbar hat verloren")
    else:
        print("Unentschieden")

Durch die elif-Anweisung ist hier eine Vereinfachung möglich

nachbarTreffer=9
ihreTreffer=9
if nachbarTreffer>ihreTreffer:
    print("Der Nachbar hat gewonnen")
elif nachbarTreffer<ihreTreffer:
        print("der Nachbar hat verloren")
else:
        print("Unentschieden")