Übersicht



  => IDLE
  => Python im Vergleich
  => Beispiele
  => Aufgaben  

IDLE

Python ist ein Interpretersprache, d. h. sie wird nicht übersetzt in Maschinensprache, sondern sie wird direkt vom Python-Interpreter ausgeführt. Eine Beispielsitzung (in IDLE):


Die Antwort liefert der Python-Interpreter nach einem Druck auf die Return-Taste, sie ist für einen Mathematiker vollkommen überraschend: 8! Daneben kann man dem Python-Interpreter auch ein Python-Programm als Parameter übergeben:

python if_bsp.py

Das klappt aber nur von der Kommandozeile aus, also im MS-DOS-Modus (vorausgesetzt man hat den Pfad auf den Python-Interpreter gesetzt . . .). Wir haben es einfacher: Wir benutzen IDLE, das ist eine integrierte Entwicklungsumgebung für Python (die selbst noch in Entwicklung ist!). In IDLE gibt man einfach einen Python-Befehl ein, drückt auf Enter, und der Interpreter führt den Befehl dann aus. IDLE kann man natürlich auch ein Python-Programm übergeben: über "File" => "Open" (bzw. Strg + O) das Python-Programm laden und dann über "Edit" => "Run Script" (bzw. Strg + F5) das Programm ausführen. In Python gibt es jede Menge Module, das sind Programmbibliotheken, die (hoffentlich!) nützliche Funktionen bereit stellen, mehr erfährt man in der Bibliotheks-Referenz (siehe in "python\index.html" auf dem Web-Server "muenchen" unter der Adresse 192.168.0.33 => Lokal).

<<<

Python im Vergleich

=> Variablen

Python ist eine typenlose Sprache, d. h. man muss den Variablentyp nicht vereinbaren, sondern schreibt einfach
name = 'Einfaltspinsel' oder zahl1 = 3
Bei Eingabe des Variablennamens gibt der Python-Interpreter den momentanen Wert aus (ausprobieren!). Das Gleichheitszeichen = bewirkt die Wertzuweisung an die Variable (wie in Java).

In Java gibt es eigentlich keine Variablen, sondern nur Objekte, die eine Instanz einer Klasse sind. D. h. eine Klasse ist eine abstrakte (!) Beschreibung, bestehend aus Daten und Methoden, und eine konkrete Verwirklichung dieser Klasse ist ein Objekt (denke an die Klasse aller Menschen, und an dich selbst, in Java bist du nur eine Instanz der Klasse Menschen!). Die Wertzuweisung erfolgt in Java durch das Gleichheitszeichen =, Beispiel:

int i;
i = 1;

Man kann auch die beiden Schritte zusammenfassen:

int i=1;

oder

FormatThread formatTh = new FormatThread();

In der Klasse FormatThread() muss dabei (explizit oder implizit) angegeben werden, wie ein neue Instanz initialisert werden soll, während die Zahlen in Java so etwas wie simple Klassen sind (nicht wörtlich nehmen!).

=> Alternativen

Die if-Bedingung in Python sieht so aus:

n = input("Gib eine Zahl ein: ")
if n < 0:
        print "Der Betrag von ",n," ist ",-n
else:
        print "Der Betrag von ",n," ist ",n

Wichtig an diesem Beispiel ist

Das gleiche Beispiel in Java:

n  = Integer.parseInt(din.readLine());
if (n < 0) {
        System.out.println ("Der Betrag von " + n +" ist " + -n);
}
else {
        System.out.println ("Der Betrag von " + n + " ist " + n);
}

din ist in diesem Beispiel ein gepufferter Eingabestrom, der die Tastatureingabe verarbeitet. Der eingelesene Wert wird in einen Integer-Wert konvertiert. Die geschweiften Klammern markieren hier Block-Anfang und -Ende. Dieses Beispiel ist komplexer als in Python.
Und: In Python kann man aus den paar Zeilen eine Funktion machen, die sowohl für ganzzahlige Werte als auch für Kommazahlen funktioniert, in Java muss man die Methode überschreiben, d. h., man hat zwei Funktionen gleichen Namens, aber mit unterschiedlicher Parameterliste. In Python macht die Typbestimmung eben der Interpreter, und wir haben frei. So muss es sein!

=> Schleifen

Die for-Schleife in Python benutzt einen sogenannten Iterator:

for i in range (5):
    print i+1
    time.sleep(1)

Doppelpunkt und Einrückungen bestimmen den for-Block. range() liefert übrigens eine Liste ohne den letzten Wert, hier also ohne die 5. Man darf auch schreiben:

range (2,5)

und erhält dann: [2,3,4]

Hier die for-Schleife in Java:

for (int i=1; i<=5; i++) {
      System.out.println (i);
      Thread.currentThread().sleep(1000);
}
<<<

Beispiele

findest du auf dem Web-Server "muenchen":
http://192.168.0.33 unter lokal => Informatik

<<<

Aufgaben

  1. Rufe den Python-Interpreter auf und lass ihn etwas rechnen.
  2. Nimm das Beispiel-Programm if_bsp.py, und schreibe das if am Anfang der zweiten Zeile auch so: If, oder so: IF.
    Ergebnis: ____________________________________________
  3. Weise einigen Variablen Werte zu, und lass dir von Python den Wert anzeigen.
  4. Die Passwort-Abfrage als einfaches Beispiel zur if-Anweisung (abspeichern unter passwort.py)
  5. Das Problem der Woche: Dein Alter in Hundejahren! Schreibe ein Python-Skript, dass dich nach deinem Alter fragt, die Eingabe auf Plausibilität überprüft (if-Anweisung benutzen!), und dann dein Alter in Hundejahren ausgibt (1 Hundejahr = 7 Menschenjahre). Abspeichern unter hund.py.
    Tipp für die Eingabe: benutze die Funktion input(), also alter = input().
  6. Hinweis: Python-Programme werden unter der Endung "*.py" abgespeichert. Und noch ein
    Hinweis: DU MUSST DIE ENDUNG BEIM ABSPEICHERN DEINES PYTHON-SKRIPTES ANGEBEN! Beispiel: statt "namen" musst du also "namen.py" als Dateinamen schreiben!!!
  7. Zwei wichtige Tastenkombinationen unter IDLE sind: ALT + P bzw. ALT + N, finde heraus, welche Wirkung sie haben!
  8. Müde? Dann probier mal STRG + D!
<<<
    W. Spiegel, E-Mail: walter.spiegel@web.de