Python Grundsyntax

Python hat viele Ähnlichkeiten mit Sprachen wie Perl, C und Java. Es gibt jedoch auch einige Unterschiede.

In diesem Kapitel lernen wir die grundlegende Syntax von Python kennen, um Ihnen zu helfen, schnell die Python-Programmierung zu erlernen.


Erstes Python-Programm

Interaktive Programmierung

Interaktives Programmieren erfordert nicht das Erstellen einer Skriptdatei; der Code wird im interaktiven Modus des Python-Interpreters geschrieben.

Unter Linux müssen Sie nur den Python-Befehl in der Befehlszeile eingeben, um die interaktive Programmierung zu starten. Das Eingabeaufforderungsfenster sieht wie folgt aus:

$ python
Python 2.7.6 (Standard, Sep  9 2014, 15:04:36)
[GCC 4.2.1 Compatible Apple LLVM 6.0 (clang-600.0.39)] auf darwin
Tippen Sie "help", "copyright", "credits" oder "license" für weitere Informationen.
>>>

Unter Windows wird der interaktive Programmierclient installiert, wenn Python installiert wird. Das Eingabeaufforderungsfenster sieht wie folgt aus:

Geben Sie den folgenden Text an der Python-Eingabeaufforderung ein und drücken Sie dann die Eingabetaste, um das Ergebnis zu sehen:

>>> print ("Hello, Python!")

In Python 2.7.6 sieht die Ausgabe des obigen Beispiels wie folgt aus:

Hello, Python!

Skriptprogrammierung

Beginnen Sie mit der Ausführung des Skripts, indem Sie den Interpreter mit dem Skriptargument aufrufen, bis das Skript beendet ist. Nach dem Skript ist der Interpreter nicht mehr gültig.

Lass uns ein einfaches Python-Skriptprogramm schreiben. Alle Python-Dateien haben die Endung.pyals Erweiterung. Kopiere den folgenden Quellcode in die Datei test.py.

print ("Hello, Python!")

Hier wird davon ausgegangen, dass du die PATH-Variable des Python-Interpreters gesetzt hast. Führe das Programm mit dem folgenden Befehl aus:

$ python test.py

Ausgabeergebnis:

Hello, Python!

Lass uns eine andere Möglichkeit ausprobieren, ein Python-Skript auszuführen. Ändere die Datei test.py wie folgt:

Beispiel

#!/usr/bin/python

print ("Hello, Python!")

Hier wird davon ausgegangen, dass sich dein Python-Interpreter im Verzeichnis /usr/bin befindet. Verwende den folgenden Befehl, um das Skript auszuführen:

$ chmod +x test.py     # 脚本文件添加可执行权限
$ ./test.py

Ausgabeergebnis:

Hello, Python!

Verwendung der print-Funktion von Python3.x in Python2.x

Wenn die Python2.x-Version die print-Funktion von Python3.x verwenden möchte, kannst du das__future__-Paket importieren, das die print-Anweisung von Python2.x deaktiviert und die print-Funktion von Python3.x verwendet:

Beispiel

>>> Liste =["a", "b", "c"]
>>> print list    # print-Anweisung in Python2.x
['a', 'b', 'c']
>>> from __future__ import print_function  # importiere das __future__-Paket
>>> print list     # Die print-Anweisung von Python2.x ist deaktiviert; ihre Verwendung verursacht einen Fehler
  Datei "<stdin>", Zeile 1
    print list
             ^
SyntaxError: ungültige Syntax
>>> print (list)   # Verwende die print-Funktion von Python3.x
['a', 'b', 'c']
>>>

Viele Kompatibilitätsfunktionen von Python3.x und Python2.x können durch dieses__future__-Paket importiert werden.


Python-Bezeichner

In Python bestehen Bezeichner aus Buchstaben, Ziffern und Unterstrichen.

In Python können alle Bezeichner englische Buchstaben, Ziffern und Unterstriche (_) enthalten, dürfen aber nicht mit einer Ziffer beginnen.

Bei Bezeichnern in Python wird zwischen Groß- und Kleinschreibung unterschieden.

Mit einem Unterstrich beginnende Bezeichner haben eine besondere Bedeutung. Diejenigen, die mit einem einzelnen Unterstrich beginnen_foo, stellen Klassenattribute dar, auf die nicht direkt zugegriffen werden kann und auf die über die von der Klasse bereitgestellte Schnittstelle zugegriffen werden muss; sie können nichtfrom xxx import *importiert werden.

Diejenigen, die mit einem doppelten Unterstrich beginnen__foo, stellen private Mitglieder einer Klasse dar. Diejenigen, die mit einem doppelten Unterstrich beginnen und enden__foo__, stellen Bezeichner dar, die speziellen Methoden in Python vorbehalten sind, wie zum Beispiel__init__()stellt den Konstruktor einer Klasse dar.

Python kann mehrere Anweisungen in derselben Zeile anzeigen, indem es Semikolons;verwendet, um sie zu trennen, zum Beispiel:

>>> print ('hello');print ('example');
hello
example

Reservierte Wörter in Python

Die folgende Liste zeigt die reservierten Wörter in Python. Diese reservierten Wörter können nicht als Konstanten, Variablen oder andere Bezeichnernamen verwendet werden.

Alle Python-Schlüsselwörter enthalten nur Kleinbuchstaben.

undexecnot
assertfinallyoder
breakforpass
classfromprint
continueglobalraise
defifreturn
delimporttry
elifinwhile
elseistwith
exceptlambdayield

Zeilen und Einrückung

Der größte Unterschied zwischen dem Erlernen von Python und anderen Sprachen besteht darin, dass Python-Codeblöcke keine geschweiften Klammern{}verwenden, um Klassen, Funktionen und andere logische Entscheidungen zu steuern. Das herausragendste Merkmal von Python ist die Verwendung von Einrückungen zum Schreiben von Modulen.

Die Menge an Leerraum bei der Einrückung ist variabel, aber alle Anweisungen eines Codeblocks müssen den gleichen Umfang an Einrückungs-Leerraum enthalten. Dies muss strikt eingehalten werden.

Das folgende Beispiel verwendet vier Leerzeichen für die Einrückung:

Beispiel

if True:
    print ("True")
else:
    print ("False")

Der folgende Code verursacht einen Ausführungsfehler:

Beispiel

#!/usr/bin/python
# -*- coding: UTF-8 -*-
# Dateiname: test.py

if True:
    print ("Answer")
    print ("True")
else:
    print ("Answer")
    # Ohne strikte Einrückung wird bei der Ausführung ein Fehler gemeldet
  print ("False")

Nach Ausführung des obigen Codes erscheint die folgende Fehlermeldung:

  File "test.py", line 11
    print ("False")
                  ^
IndentationError: unindent does not match any outer indentation level

IndentationError: unindent does not match any outer indentation levelDer Fehler weist darauf hin, dass Sie inkonsistente Einrückungen verwendet haben, einige mit Tabulator-Einrückung und einige mit Leerzeichen-Einrückung. Machen Sie sie einfach einheitlich.

Wenn es sich um den FehlerIndentationError: unexpected indenthandelt, sagt dir der Python-Compiler: "Hallo, Kumpel, es gibt ein Formatierungsproblem in deiner Datei; möglicherweise sind Tabs und Leerzeichen nicht ausgerichtet.", daher ist Python sehr streng bei der Formatierung.

Daher musst du in Python-Codeblöcken die gleiche Anzahl führender Einrückungsleerzeichen verwenden.

Es wird empfohlen, dass du auf jeder Einrückungsebeneeinen einzelnen Taboderzwei Leerzeichenodervier Leerzeichen verwendest, und denke daran, sie nicht zu mischen.


Mehrzeilige Anweisungen

In Python wird im Allgemeinen eine neue Zeile als Abschluss einer Anweisung verwendet.

Wir können jedoch einen Backslash (\) verwenden, um eine einzeilige Anweisung über mehrere Zeilen darzustellen, wie folgt:

total = item_one + \
        item_two + \
        item_three

Wenn eine Anweisung Klammern [], {}, oder () enthält, ist kein Mehrzeilen-Verbindungszeichen erforderlich. Beispiel:

days = ['Monday', 'Tuesday', 'Wednesday',
        'Thursday', 'Friday']

Python-Anführungszeichen

Python kann einfache Anführungszeichen ('), doppelte Anführungszeichen (") und dreifache Anführungszeichen ('''oder""") verwenden, um Zeichenketten darzustellen. Anfang und Ende der Anführungszeichen müssen vom selben Typ sein.

Dreifache Anführungszeichen können aus mehreren Zeilen bestehen, eine schnelle Syntax zum Schreiben von mehrzeiligem Text, die häufig für Docstrings verwendet und an bestimmten Stellen in einer Datei als Kommentare behandelt werden.

word = 'word'
sentence = "这是一个句子。"
paragraph = """这是一个段落。
包含了多个语句"""

Python-Kommentare

In Python beginnen einzeilige Kommentare mit#am Anfang.

Beispiel

#!/usr/bin/python
# -*- coding: UTF-8 -*-
# Dateiname: test.py

# Erster Kommentar
print ("Hello, Python!")  # Zweiter Kommentar

Ausgabeergebnis:

Hello, Python!

Kommentare können am Ende einer Anweisungs- oder Ausdruckszeile stehen:

name = "Example" # 这里的内容是一个注释

In Python verwenden mehrzeilige Kommentare drei einfache Anführungszeichen'''oder drei doppelte Anführungszeichen"""。

Beispiel

#!/usr/bin/python
# -*- coding: UTF-8 -*-
# Dateiname: test.py


'''
Dies ist ein mehrzeiliger Kommentar mit einfachen Anführungszeichen.
Dies ist ein mehrzeiliger Kommentar mit einfachen Anführungszeichen.
Dies ist ein mehrzeiliger Kommentar mit einfachen Anführungszeichen.
'''


"""
Dies ist ein mehrzeiliger Kommentar mit doppelten Anführungszeichen.
Dies ist ein mehrzeiliger Kommentar mit doppelten Anführungszeichen.
Dies ist ein mehrzeiliger Kommentar mit doppelten Anführungszeichen.
"""


Leerzeilen in Python

Leerzeilen trennen Funktionen oder Klassenmethoden und kennzeichnen den Beginn eines neuen Codeblocks. Eine Leerzeile wird auch zwischen der Klasse und dem Funktionsbeginn verwendet, um den Beginn der Funktion hervorzuheben.

Leerzeilen unterscheiden sich von der Code-Einrückung; Leerzeilen sind nicht Teil der Python-Syntax. Wenn Sie keine Leerzeilen einfügen, meldet der Python-Interpreter beim Ausführen keinen Fehler. Leerzeilen dienen jedoch dazu, zwei Codeabschnitte mit unterschiedlichen Funktionen oder Bedeutungen zu trennen, wodurch der Code später leichter zu warten oder zu refaktorieren ist.

Denken Sie daran: Leerzeilen sind ebenfalls Teil des Programmcodes.


Warten auf Benutzereingabe

Das folgende Programm wartet nach der Ausführung auf eine Benutzereingabe und beendet sich nach Drücken der Eingabetaste:

#!/usr/bin/python
# -*- coding: UTF-8 -*-

raw_input("按下 enter 键退出,其他任意键显示...\n")

Im obigen Code implementiert\neinen Zeilenumbruch. Sobald der Benutzer die Eingabetaste drückt, um zu beenden, werden andere Tasten angezeigt.


Mehrere Anweisungen in derselben Zeile

Python kann mehrere Anweisungen in derselben Zeile verwenden, getrennt durch Semikolons (;). Hier ist ein einfaches Beispiel:
#!/usr/bin/python

import sys; x = 'example'; sys.stdout.write(x + '\n')

Nach der Ausführung des obigen Codes lautet das Ausgabeergebnis:

$ python test.py
example

print-Ausgabe

Standardmäßig gibt print eine Ausgabe mit Zeilenumbruch aus. Um ohne Zeilenumbruch auszugeben, fügen Sie am Ende der Variable ein Komma hinzu.,。

Beispiel

#!/usr/bin/python
# -*- coding: UTF-8 -*-

x="a"
y="b"
# Ausgabe mit Zeilenumbruch
print x
print y

print '---------'
# Ausgabe ohne Zeilenumbruch
print x,
print y,

# Ausgabe ohne Zeilenumbruch
print x,y

Das Ergebnis des obigen Beispiels ist:

a
b
---------
a b a b

Weitere Details finden Sie unter:Python2 und Python3 print ohne Zeilenumbruch


Mehrere Anweisungen bilden eine Codegruppe

Eine Gruppe von Anweisungen mit derselben Einrückung bildet einen Codeblock, den wir eine Codegruppe nennen.

Zusammengesetzte Anweisungen wie if, while, def und class beginnen in der ersten Zeile mit einem Schlüsselwort und enden mit einem Doppelpunkt (:). Die ein oder mehreren Zeilen nach dieser Zeile bilden eine Codegruppe.

Wir bezeichnen die erste Zeile zusammen mit der folgenden Codegruppe als Klausel.

Wie im folgenden Beispiel:

if expression : 
   suite 
elif expression :  
   suite  
else :  
   suite 

Kommandozeilenargumente

Viele Programme können Operationen ausführen, um grundlegende Informationen anzuzeigen. Python kann-hParameter verwenden, um Hilfeinformationen für jeden Parameter anzuzeigen:

$ 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. ] 

Wenn Python in Skriptform ausgeführt wird, können wir Parameter empfangen, die von der Kommandozeile eingegeben werden. Für die konkrete Verwendung siehePython-Kommandozeilenargumente。

Zusätzliche Erweiterungen