Python - Grundlegende Syntax
Vorherige SeiteNächste Seite
Die Sprache Python hat viele Ähnlichkeiten mit Perl, C und Java. Es gibt jedoch einige deutliche Unterschiede zwischen den Sprachen.
Erstes Python-Programm
Lassen Sie uns Programme in verschiedenen Programmiermodi ausführen.
Programmierung im interaktiven Modus
Wenn Sie den Interpreter aufrufen, ohne eine Skriptdatei als Parameter zu übergeben, wird die folgende Eingabeaufforderung angezeigt:−
$ python Python 2.4.3 (#1, Nov 11 2010, 13:34:43) [GCC 4.1.2 20080704 (Red Hat 4.1.2-48)] on linux2 Type "help", "copyright", "credits" or "license" for more information. >>>
Geben Sie den folgenden Text an der Python-Eingabeaufforderung ein und drücken Sie die Eingabetaste −
>>> print "Hello, Python!"
Wenn Sie eine neue Version von Python ausführen, müssen Sie die print-Anweisung mit Klammern wie in print ("Hello, Python!"); verwenden . In der Python-Version 2.4.3 führt dies jedoch zu folgendem Ergebnis −
Hello, Python!
Programmierung im Skriptmodus
Das Aufrufen des Interpreters mit einem Skriptparameter beginnt mit der Ausführung des Skripts und wird fortgesetzt, bis das Skript beendet ist. Wenn das Skript beendet ist, ist der Interpreter nicht mehr aktiv.
Lassen Sie uns ein einfaches Python-Programm in einem Skript schreiben. Python-Dateien haben die Erweiterung .py . Geben Sie den folgenden Quellcode in eine test.py-Datei ein −
Live-Demoprint "Hello, Python!"
Wir gehen davon aus, dass Sie den Python-Interpreter in der PATH-Variablen festgelegt haben. Versuchen Sie nun, dieses Programm wie folgt auszuführen −
$ python test.py
Dies erzeugt das folgende Ergebnis −
Hello, Python!
Lassen Sie uns einen anderen Weg ausprobieren, um ein Python-Skript auszuführen. Hier ist die modifizierte test.py-Datei −
Live-Demo#!/usr/bin/python print "Hello, Python!"
Wir gehen davon aus, dass Sie den Python-Interpreter im Verzeichnis /usr/bin zur Verfügung haben. Versuchen Sie nun, dieses Programm wie folgt auszuführen −
$ chmod +x test.py # This is to make file executable $./test.py
Dies erzeugt das folgende Ergebnis −
Hello, Python!
Python-Identifikatoren
Ein Python-Bezeichner ist ein Name, der verwendet wird, um eine Variable, Funktion, Klasse, ein Modul oder ein anderes Objekt zu identifizieren. Eine Kennung beginnt mit den Buchstaben A bis Z oder a bis z oder einem Unterstrich (_), gefolgt von null oder mehr Buchstaben, Unterstrichen und Ziffern (0 bis 9).
Python erlaubt keine Satzzeichen wie @, $ und % innerhalb von Bezeichnern. Python ist eine Programmiersprache, die zwischen Groß- und Kleinschreibung unterscheidet. Also Manpower und Personal sind zwei verschiedene Bezeichner in Python.
Hier sind Namenskonventionen für Python-Bezeichner −
-
Klassennamen beginnen mit einem Großbuchstaben. Alle anderen Bezeichner beginnen mit einem Kleinbuchstaben.
-
Das Beginnen eines Bezeichners mit einem einzelnen führenden Unterstrich zeigt an, dass der Bezeichner privat ist.
-
Das Beginnen eines Bezeichners mit zwei führenden Unterstrichen weist auf einen streng privaten Bezeichner hin.
-
Wenn der Bezeichner auch mit zwei nachgestellten Unterstrichen endet, ist der Bezeichner ein sprachdefinierter Sondername.
Reservierte Wörter
Die folgende Liste zeigt die Python-Schlüsselwörter. Dies sind reservierte Wörter und Sie können sie nicht als Konstanten oder Variablen oder andere Bezeichnernamen verwenden. Alle Python-Schlüsselwörter enthalten nur Kleinbuchstaben.
und | exec | nicht |
behaupten | endlich | oder |
Pause | für | bestanden |
Klasse | von | |
weiter | weltweit | erhöhen |
def | wenn | zurück |
del | importieren | versuchen |
elif | in | während |
sonst | ist | mit |
außer | lambda | Ertrag |
Linien und Einrückungen
Python stellt keine geschweiften Klammern zur Verfügung, um Codeblöcke für Klassen- und Funktionsdefinitionen oder Flusssteuerung anzuzeigen. Codeblöcke werden durch Zeileneinzüge gekennzeichnet, die strikt durchgesetzt werden.
Die Anzahl der Leerzeichen im Einzug ist variabel, aber alle Anweisungen innerhalb des Blocks müssen um den gleichen Betrag eingerückt werden. Zum Beispiel −
if True: print "True" else: print "False"
Der folgende Block generiert jedoch einen Fehler −
if True: print "Answer" print "True" else: print "Answer" print "False"
Somit würden in Python alle durchgehenden Zeilen, die mit der gleichen Anzahl von Leerzeichen eingerückt sind, einen Block bilden. Das folgende Beispiel hat verschiedene Anweisungsblöcke −
Hinweis − Versuchen Sie nicht, die Logik zu diesem Zeitpunkt zu verstehen. Stellen Sie nur sicher, dass Sie verschiedene Blöcke verstanden haben, auch wenn sie keine geschweiften Klammern haben.
#!/usr/bin/python import sys try: # open file stream file = open(file_name, "w") except IOError: print "There was an error writing to", file_name sys.exit() print "Enter '", file_finish, print "' When finished" while file_text != file_finish: file_text = raw_input("Enter text: ") if file_text == file_finish: # close the file file.close break file.write(file_text) file.write("\n") file.close() file_name = raw_input("Enter filename: ") if len(file_name) == 0: print "Next time please enter something" sys.exit() try: file = open(file_name, "r") except IOError: print "There was an error reading file" sys.exit() file_text = file.read() file.close() print file_text
Mehrzeilige Anweisungen
Anweisungen in Python enden normalerweise mit einer neuen Zeile. Python erlaubt jedoch die Verwendung des Zeilenfortsetzungszeichens (\), um anzuzeigen, dass die Zeile fortgesetzt werden soll. Zum Beispiel −
total = item_one + \ item_two + \ item_three
Anweisungen in den Klammern [], {} oder () müssen kein Zeilenfortsetzungszeichen verwenden. Zum Beispiel −
days = ['Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday']
Zitat in Python
Python akzeptiert einfache ('), doppelte (") und dreifache (''' oder """) Anführungszeichen zur Bezeichnung von String-Literalen, solange der String mit demselben Anführungszeichen beginnt und endet.
Die dreifachen Anführungszeichen werden verwendet, um die Zeichenfolge über mehrere Zeilen zu erstrecken. Zum Beispiel sind alle folgenden legal:−
word = 'word' sentence = "This is a sentence." paragraph = """This is a paragraph. It is made up of multiple lines and sentences."""
Kommentare in Python
Ein Rautezeichen (#), das sich nicht in einem Zeichenfolgenliteral befindet, beginnt einen Kommentar. Alle Zeichen nach dem # und bis zum Ende der physikalischen Zeile sind Teil des Kommentars und werden vom Python-Interpreter ignoriert.
Live-Demo#!/usr/bin/python # First comment print "Hello, Python!" # second comment
Dies erzeugt das folgende Ergebnis −
Hello, Python!
Sie können einen Kommentar in derselben Zeile nach einer Anweisung oder einem Ausdruck eingeben −
name = "Madisetti" # This is again comment
Sie können mehrere Zeilen wie folgt kommentieren −
# This is a comment. # This is a comment, too. # This is a comment, too. # I said that already.
Die folgende Zeichenfolge in dreifachen Anführungszeichen wird vom Python-Interpreter ebenfalls ignoriert und kann als mehrzeiliger Kommentar verwendet werden:
''' This is a multiline comment. '''
Leerzeilen verwenden
Eine Zeile, die nur Leerzeichen enthält, möglicherweise mit einem Kommentar, wird als Leerzeile bezeichnet und von Python vollständig ignoriert.
In einer interaktiven Interpretersitzung müssen Sie eine physische Leerzeile eingeben, um eine mehrzeilige Anweisung zu beenden.
Warten auf den Benutzer
Die folgende Zeile des Programms zeigt die Eingabeaufforderung mit der Anweisung „Zum Beenden die Eingabetaste drücken“ und wartet darauf, dass der Benutzer eine Aktion ausführt −
#!/usr/bin/python raw_input("\n\nPress the enter key to exit.")
Hier wird "\n\n" verwendet, um zwei neue Zeilen zu erstellen, bevor die eigentliche Zeile angezeigt wird. Sobald der Benutzer die Taste drückt, endet das Programm. Dies ist ein netter Trick, um ein Konsolenfenster geöffnet zu halten, bis der Benutzer mit einer Anwendung fertig ist.
Mehrere Anweisungen in einer einzigen Zeile
Das Semikolon (; ) erlaubt mehrere Anweisungen in einer einzigen Zeile, da keine der Anweisungen einen neuen Codeblock beginnt. Hier ist ein Beispielausschnitt mit dem Semikolon −
import sys; x = 'foo'; sys.stdout.write(x + '\n')
Mehrere Anweisungsgruppen als Suiten
Eine Gruppe einzelner Anweisungen, die einen einzelnen Codeblock bilden, werden als Suites bezeichnet in Python. Zusammengesetzte oder komplexe Anweisungen wie if, while, def und class erfordern eine Kopfzeile und eine Suite.
Kopfzeilen beginnen die Anweisung (mit dem Schlüsselwort) und enden mit einem Doppelpunkt ( :) und werden von einer oder mehreren Zeilen gefolgt, die die Suite bilden. Zum Beispiel −
if expression : suite elif expression : suite else : suite
Befehlszeilenargumente
Viele Programme können ausgeführt werden, um Ihnen einige grundlegende Informationen darüber zu liefern, wie sie ausgeführt werden sollten. Python ermöglicht Ihnen dies mit -h −
$ python -h usage: python [option] ... [-c cmd | -m mod | file | -] [arg] ... Options and arguments (and corresponding environment variables): -c cmd : program passed in as string (terminates option list) -d : debug output from parser (also PYTHONDEBUG=x) -E : ignore environment variables (such as PYTHONPATH) -h : print this help message and exit [ etc. ]
Sie können Ihr Skript auch so programmieren, dass es verschiedene Optionen akzeptieren soll. Befehlszeilenargumente sind ein fortgeschrittenes Thema und sollten etwas später studiert werden, nachdem Sie die restlichen Python-Konzepte durchgearbeitet haben.
Python