Python 3 - 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 die 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 3.3.2 (default, Dec 10 2013, 11:35:01)
[GCC 4.6.3] on Linux
Type "help", "copyright", "credits", or "license" for more information.
>>>

On Windows:

Python 3.4.3 (v3.4.3:9b73f1c3e601, Feb 24 2015, 22:43:06) [MSC v.1600 32 bit (Intel)] on win32
Type "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 die ältere Version von Python (Python 2.x) ausführen, verwenden Sie Klammern als inprintFunktion ist optional. Dies ergibt das folgende 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 eingestellt haben PATHVariable. Versuchen Sie nun, dieses Programm wie folgt auszuführen:

On Linux

$ python test.py

Dies ergibt das folgende Ergebnis:

Hello, Python!

On Windows

C:\Python34>Python test.py

Dies ergibt das folgende Ergebnis:

Hello, Python!

Versuchen wir einen anderen Weg, um ein Python-Skript unter Linux auszuführen. Hier ist die geänderte Datei test.py -

#!/usr/bin/python3
print ("Hello, Python!")

Wir gehen davon aus, dass im Verzeichnis / usr / bin ein Python-Interpreter verfügbar ist. 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 starken 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 Konstanten oder Variablen oder andere Bezeichnernamen verwenden. Alle Python-Schlüsselwörter enthalten nur Kleinbuchstaben.

und exec nicht
wie schließlich oder
behaupten zum bestehen
Unterbrechung von drucken
Klasse global erziehen
fortsetzen wenn Rückkehr
def importieren Versuchen
del im während
elif ist mit
sonst Lambda Ausbeute
außer

Linien und Einrückungen

Python verwendet 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 die verschiedenen Blöcke verstanden haben, auch wenn sie keine geschweiften Klammern haben.

#!/usr/bin/python3
import sys

file_finish = "end"
file_text = ""
contents=[]

file_name=input("Enter filename: ")
if len(file_name) == 0:
   print("Please enter filename")
   sys.exit()

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 = input("Enter text: ")
   contents.append(file_text)

   if file_text == file_finish:
      # close the file
      file.close()
      break

print(contents)
data = ' '.join([str(elem) for elem in contents])  
print(data)
file.write(data)
file.close()
file_name = 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

Die in den Klammern [], {} oder () enthaltenen Anweisungen 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 Zeichenfolgenliteral befindet, ist der Anfang eines Kommentars. Alle Zeichen nach dem # bis zum Ende der physischen Zeile sind Teil des Kommentars und werden vom Python-Interpreter ignoriert.

#!/usr/bin/python3

# 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

Python verfügt nicht über eine mehrzeilige Kommentarfunktion. Sie müssen jede Zeile einzeln wie folgt kommentieren:

# This is a comment.
# This is a comment, too.
# This is a comment, too.
# I said that already.

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 werden die Eingabeaufforderung und die Anweisung "Drücken Sie die Eingabetaste zum Beenden" angezeigt. Anschließend wird darauf gewartet, dass der Benutzer Maßnahmen ergreift.

#!/usr/bin/python3

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 einzelnen Zeile, da keine Anweisung einen neuen Codeblock startet. Hier ist ein Beispielausschnitt mit dem Semikolon -

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

Mehrere Anweisungsgruppen als Suiten

Es werden Gruppen einzelner Anweisungen aufgerufen, die einen einzelnen Codeblock bilden 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. Python ermöglicht es Ihnen, dies mit - zu tunh - -

$ 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 erweitertes Thema. Lass es uns verstehen.