Python - Grundlegende Syntax
Die Python-Sprache 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.
Interaktive Programmierung
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 in Klammern wie in verwenden print ("Hello, Python!");. In Python Version 2.4.3 führt dies jedoch zu folgendem Ergebnis:
Hello, Python!
Skriptmodus-Programmierung
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 fertig ist, ist der Interpreter nicht mehr aktiv.
Schreiben wir ein einfaches Python-Programm in ein Skript. Python-Dateien haben die Erweiterung.py. Geben Sie den folgenden Quellcode in eine test.py-Datei ein:
print "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 ergibt das folgende Ergebnis:
Hello, Python!
Versuchen wir einen anderen Weg, um ein Python-Skript auszuführen. Hier ist die geänderte Datei test.py -
#!/usr/bin/python
print "Hello, Python!"
Wir gehen davon aus, dass Sie den Python-Interpreter im Verzeichnis / usr / bin verfügbar haben. Versuchen Sie nun, dieses Programm wie folgt auszuführen:
$ chmod +x test.py # This is to make file executable
$./test.py
Dies ergibt das folgende Ergebnis:
Hello, Python!
Python-Bezeichner
Ein Python-Bezeichner ist ein Name, mit dem eine Variable, Funktion, Klasse, ein Modul oder ein anderes Objekt identifiziert wird. Ein Bezeichner beginnt mit einem 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 Interpunktionszeichen wie @, $ und% in Bezeichnern. Python ist eine Programmiersprache, bei der zwischen Groß- und Kleinschreibung unterschieden wird. So,Manpower und manpower 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 Starten eines Bezeichners mit einem einzelnen führenden Unterstrich zeigt an, dass der Bezeichner privat ist.
Das Starten eines Bezeichners mit zwei führenden Unterstrichen zeigt einen stark privaten Bezeichner an.
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 Konstante, Variable oder andere Bezeichnernamen verwenden. Alle Python-Schlüsselwörter enthalten nur Kleinbuchstaben.
und | exec | nicht |
behaupten | schließlich | oder |
Unterbrechung | zum | bestehen |
Klasse | von | |
fortsetzen | global | erziehen |
def | wenn | Rückkehr |
del | importieren | Versuchen |
elif | im | während |
sonst | ist | mit |
außer | Lambda | Ausbeute |
Linien und Einrückungen
Python bietet keine geschweiften Klammern, um Codeblöcke für Klassen- und Funktionsdefinitionen oder die Flusskontrolle anzugeben. Codeblöcke werden durch Zeileneinrückungen gekennzeichnet, die streng erzwungen werden.
Die Anzahl der Leerzeichen in der Einrückung ist variabel, aber alle Anweisungen innerhalb des Blocks müssen gleich viel eingerückt werden. Zum Beispiel -
if True:
print "True"
else:
print "False"
Der folgende Block erzeugt jedoch einen Fehler -
if True:
print "Answer"
print "True"
else:
print "Answer"
print "False"
Somit würden in Python alle durchgehenden Linien, die mit der gleichen Anzahl von Leerzeichen eingerückt sind, einen Block bilden. Das folgende Beispiel enthält verschiedene Anweisungsblöcke -
Note- Versuchen Sie zu diesem Zeitpunkt nicht, die Logik zu verstehen. Stellen Sie einfach 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 anzugeben, dass die Zeile fortgesetzt werden soll. Zum Beispiel -
total = item_one + \
item_two + \
item_three
Anweisungen in den Klammern [], {} oder () müssen nicht das Zeilenfortsetzungszeichen verwenden. Zum Beispiel -
days = ['Monday', 'Tuesday', 'Wednesday',
'Thursday', 'Friday']
Zitat in Python
Python akzeptiert einfache ('), doppelte (") und dreifache (' '' oder" "") Anführungszeichen, um Zeichenfolgenliterale zu kennzeichnen, sofern dieselbe Art von Anführungszeichen die Zeichenfolge beginnt und beendet.
Die dreifachen Anführungszeichen werden verwendet, um die Zeichenfolge über mehrere Zeilen zu verteilen. 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 Hash-Zeichen (#), das sich nicht in einem String-Literal befindet, beginnt einen Kommentar. Alle Zeichen nach dem # und bis zum Ende der physischen Zeile sind Teil des Kommentars und werden vom Python-Interpreter ignoriert.
#!/usr/bin/python
# First comment
print "Hello, Python!" # second comment
Dies ergibt das folgende Ergebnis:
Hello, Python!
Sie können nach einer Anweisung oder einem Ausdruck einen Kommentar in dieselbe Zeile 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 leere physische Zeile eingeben, um eine mehrzeilige Anweisung zu beenden.
Warten auf den Benutzer
In der folgenden Zeile des Programms wird die Eingabeaufforderung mit der Anweisung "Drücken Sie die Eingabetaste zum Beenden" angezeigt und wartet darauf, dass der Benutzer Maßnahmen ergreift.
#!/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 tatsächliche Zeile angezeigt wird. Sobald der Benutzer die Taste drückt, endet das Programm. Dies ist ein guter Trick, um ein Konsolenfenster geöffnet zu halten, bis der Benutzer mit einer Anwendung fertig ist.
Mehrere Anweisungen in einer einzelnen Zeile
Das Semikolon (;) erlaubt mehrere Anweisungen in einer Zeile, da keine der Anweisungen einen neuen Codeblock startet. 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, wird aufgerufen suitesin Python. Zusammengesetzte oder komplexe Anweisungen, z. B. 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, aus denen die Suite besteht. Zum Beispiel -
if expression :
suite
elif expression :
suite
else :
suite
Kommandozeilenargumente
Viele Programme können ausgeführt werden, um Ihnen einige grundlegende Informationen darüber zu geben, wie sie ausgeführt werden sollen. Mit Python können Sie dies mit -h - tun.
$ 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 akzeptiert. Befehlszeilenargumente sind ein fortgeschrittenes Thema und sollten etwas später untersucht werden, sobald Sie die restlichen Python-Konzepte durchlaufen haben.