Erste Schritte mit Python
Herzlich willkommen! This tutorial details how to get started with Python. Es wurde von Derrick Kearney (Kanadier, Python-Meister, Feinschmecker) und Michael Herman (natürlich vom Real Python-Team) geschrieben, bearbeitet und aktualisiert.
Ich (Derrick) helfe bei der Verwaltung mehrerer Python-Gruppen, in denen ich jeden Tag unzählige Fragen stelle. In diesem Beitrag beantworte ich die Frage, die ich am häufigsten höre,“How do I get started with Python?”
(1) Was ist Python?
Python, benannt nach der britischen Comedy-Gruppe Monty Python, ist eine interpretierte, interaktive, objektorientierte Programmiersprache. Seine Flexibilität ermöglicht es ihm, viele Dinge zu tun, sowohl große als auch kleine. Python kann zum Schreiben einfacher Programme verwendet werden, verfügt jedoch auch über die volle Leistung, die zum Erstellen komplexer Unternehmenslösungen in großem Maßstab erforderlich ist. Einige der Verwendungsmöglichkeiten von Python umfassen:
-
Entwicklung grafischer Desktopanwendungen, einschließlich Spiele;
-
Mathematische und wissenschaftliche Analyse von Daten; und,
-
Web und Internetentwicklung.
Pythons Präsenz in der Welt der Computerprogrammierung ist überall zu finden. Zum Beispiel wird Python in einigen der größten Internetseiten der Welt verwendet - wieReddit, Dropbox, and Youtube, um nur einige zu nennen. Das beliebte Python-Webframework Django unterstützt sowohl Instagram als auch Pinterest. Das preisgekrönte Unternehmen für visuelle Effekte von LucasFilms, Industrial Light & Magic, nutzt Python, um ihre Magie zum Leben zu erwecken.
Es ist leicht zu vergessen, wie mächtig Python ist, weil es so einfach zu lernen ist.
Python-Eigenschaften
Python ist…
-
Strongly eingegeben. Es erzwingt Datentypen, sodass Sie beispielsweise eine Zeichenfolge und eine Ganzzahl nicht verketten können.
-
Dynamically,implicitly eingegeben. Sie müssen also keine variablen Datentypen explizit deklarieren. Datentypen werden zur Laufzeit erzwungen.
-
Case sensitive. Zum Beispiel sind
token
undTOKEN
zwei verschiedene Variablen. -
Object-oriented. Everything is an object.
(2) Python bekommen - Ein Prelim
Python ist eine kostenloseopen-source-Software, die unter Linux, Mac, Windows und verschiedenen anderen Plattformen funktioniert (insgesamt 21). Es ist auf dem Mac und den meisten Linux-Distributionen vorinstalliert. Möglicherweise müssen Sie jedoch die neueste Version (see below) herunterladen.
Öffnen Sie das Terminal und führen Sie den folgenden Befehl aus, um Ihre Version zu überprüfen:
python -V
Auswählen einer Python-Version
Es kann sowohl für neue als auch für erfahrene Programmierer verwirrend sein, sich zwischen Python 2 oder 3 zu entscheiden. Glücklicherweise gibt es nur wenige syntaktische Unterschiede zwischen den beiden und Sie können beide Versionen auf Ihrem Computer ausführen.
Derzeit gibt es zwei Hauptversionen von Python - 2.x und 3.x.
Nur Version 3.5.x befindet sich in der aktiven Entwicklung, um neue Features und Funktionen zu erhalten, während Python 2.7.x sowie 3.2.x bis 3.4.x aktiv gepflegt werden.
Which version is right for you? Nun, das liegt bei Ihnen. Ehrlich gesagt gibt es nur wenige Unterschiede zwischen den beiden, die Sie in diesem frühen Stadium betreffen werden, sodass jede Wahl ausreicht. Sobald Sie eines gelernt haben, ist es nicht allzu schwierig, das andere zu lernen.
Wenn Sie gerade erst anfangen, Python zu lernen, wählen Sie im Allgemeinen 3.4.x, da es sich um eine bessere Version handelt, da es zusätzliche Funktionen sowie zahlreiche Fehlerkorrekturen und Verbesserungen gibt. 2.7x wird jedoch von Bibliotheken von Drittanbietern wesentlich stärker unterstützt. Wenn Sie wissen, dass Sie eine Bibliothek verwenden müssen, die nicht auf Version 3.4.x portiert wurde, ist es möglicherweise am besten, mit 2.7x zu beginnen.
Die Beispiele in dieser Reihe werden in Version3.4.2 gezeigt. Dies ist die aktuelle Version zum Zeitpunkt des Schreibens. Die meisten Beispiele funktionieren jedoch mit beiden Versionen einwandfrei, da viele der Funktionen und Updates, die zu 3.4.x hinzugefügt wurden, auch zu 2.7.x hinzugefügt wurden. Wir werden alle Unterschiede besprechen, die Sie beachten sollten, sobald sie auftreten.
(3) Wie bekomme ich Python?
Unabhängig von Ihrem Betriebssystem können Sie Python vonPython Software Foundation (PSF) herunterladen. Holen Sie sich die für Ihr Betriebssystem und Ihren Prozessor spezifische Version (32 oder 64-Bit).
OS-specific instructions:
-
Mac: Ich empfehle dringend,Homebrew zu verwenden, um verschiedene Versionen von Python zu installieren und zu verwalten. Überprüfen Sie die Anweisungenhere. Sie können Python auch vonPSFherunterladen.
-
Linux: Auch hier ist Python in verschiedenen Linux-Varianten enthalten. Stellen Sie sicher, dass Sie bei Bedarf mit dem Paketmanager auf die neueste Version aktualisieren.
-
Windows: Laden Sie Python direkt vonPSF herunter.
(4) Bestätigen der Python-Installation
Lassen Sie uns eine schnelle Überprüfung der Integrität durchführen, um sicherzustellen, dass Python korrekt installiert ist.
Python-Shell
Öffnen Sie die Python Interactive Shell:
-
Mac: Öffnen Sie Ihr Terminal und führen Sie je nach Installation
python
oderpython3
aus. -
Linux: Öffnen Sie Ihr Terminal und führen Sie Folgendes aus:
python
-
Windows: Wenn Sie nur eine Version von Python installiert haben, führen Sie einfach
python
aus. Wenn Sie sowohl Python 2.7 als auch Python 3 installiert haben, führen Siepython
für Python 2.7 und / oderpy -3
für Python 3 aus.
Windows-Benutzer: Stellen Sie sicher, dass Ihr Konto über Administratorrechte verfügt: Führen Sie die Eingabeaufforderung auf einer erhöhten Ebene aus, indem Sie mit der rechten Maustaste auf das Eingabeaufforderungssymbol klicken und dann "Als Administrator ausführen" auswählen.
Die interaktive Python-Shell sollte geöffnet werden und Ihre Eingabeaufforderung oder Ihr Terminalfenster sollte ungefähr so aussehen:
>>>
Python 3.4.1 (v3.4.1:c0e311e010fc, May 18 2014, 00:54:21)
[GCC 4.2.1 (Apple Inc. build 5666) (dot 3)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>>
Während Sie hier sind, können Sie auch Ihre erste Codezeile ausführen.
Python 2:
>>>
>>> print "Python is fun!"
Python 3:
>>>
>>> print("Python is fun!")
Wenn Sie Python 2.x ausführen, ist der Befehl
Das solltest du sehen:
>>>
Python is fun!
Und das war's: Sie haben gerade Ihr erstes Python-Programm geschrieben! Jedes Mal, wenn Sie eine Zeile eingegeben haben, hat Python die Anweisung sofort ausgeführt und den Wert zwischen den Anführungszeichen angezeigt.
Anschließend können Sieexit()
verwenden, um die Python-Shell zu verlassen. Or:
-
Mac and Linux users:Ctrl+[.kbd .key-d]#D and then press [.keys] [.kbd .key-enter] #Enter
-
Windows users:Ctrl+[.kbd .key-d]#D and then press [.keys] [.kbd .key-enter] #Enter
Lassen Sie Ihr Terminal oder Ihre Eingabeaufforderung geöffnet. Wir haben noch mehr zu tun! Verwenden wir die Shell weiterhin, während wir die Python-Grundelemente durchlaufen.
(5) Sprachprimitive
In diesem Abschnitt werden die Python-Codierungsprimitive behandelt - Variablen, integrierte Datentypen, Kommentare, Syntax und Semantik.
Variablen
Variables are containers für Daten. Die Syntax, um sie zu deklarieren, lautet:variable_name = variable_value
. Während Sie Variablen beliebig benennen können (mit Ausnahme einigerreserved keywords), verwenden Sieshould ein Namensschema, das intuitiv sinnvoll ist. Der Variablennameshouldgibt einen Hinweis darauf, welche Werte ihm zugewiesen wurden.
Beispielsweise verwenden viele neue Programmierer einfache Variablennamen wiex
undy
. Tun Sie dies, um dies nicht zu tun. Wenn Sie stattdessen zwei Zahlen haben - beispielsweise1
und52
- verwenden Sie die Variablennamennum1
undnum2
anstelle vonx
undy
. Auf diese Weise können andere, wenn sie Ihr Programm lesen, eine fundierte Vermutung anstellen, dassnum1
undnum2
wahrscheinlich Zahlen irgendeiner Art sind. Denken Sie beim Schreiben Ihrer Programme an andere und an Ihr zukünftiges Selbst. Dein zukünftiges Selbst wird es dir danken.
Integrierte Datentypen
Python hata number of built-in data types wie Zahlen (Ganzzahlen, Gleitkommazahlen, komplexe Zahlen), Zeichenfolgen, Listen, Tupel und Wörterbücher.
Jedes davon kann manipuliert werden mit:
-
Betreiber
-
Funktionen
-
Datentypmethoden
Stellen Sie sicher, dass Sie jedes Beispiel zusammen mit mir eingeben.
Zahlen
Zahlen können Ganzzahlen, Gleitkommawerte, Boolesche Werte oder komplexe Zahlen sein. Die ersten drei sind die wichtigsten:
-
Ganzzahlen sind ganze Zahlen -
1
,2
,22
,476
,-99999
-
Gleitkommazahlen haben Dezimalpunkte -
1.0
,2.22
,22.098
,476.1
,-99999.9
-
Boolesche Werte stehen entweder für
True
oderFalse
(oder1
oder0
). Sie repräsentieren Daten, die nur das eine oder andere sein können.
Zahlen manipulieren
Betreiber
Sie haben bereits Operatoren gesehen. Es sind Dinge wie Addition (oder Verkettung) und Subtraktion, genau wie Sie es in der Grundschule gelernt haben.
>>>
>>> 2 + 3 # Addition
5
>>> num1 = 10
>>> num2 = 9.99
>>> num3 = num1 + num2
>>> num3
19.990000000000002
>>> 8 - 5 # Subtraction
3
>>> 2 * 6 # Multiplication
12
>>> 12 / 3 # Division
4.0
>>> 7 % 3 # Modulus (returns the remainder from division)
1
>>> 3 ** 2 # Raise to the power
9
Schauen wir uns Vergleiche an, die boolesche Werte ergeben, z. B. entwederTrue
oderFalse
(oder1
oder0
).
>>>
>>> 2 < 5
True
>>> 4 > 10
False
>>> 3 >= 3
True
>>>
>>> 5 == 6
False
>>> 6 != 9
True
Funktionen
Python bietet Ihnen eine Reihe von integriertenfunctions zum Bearbeiten von Ganzzahlen. Dies sindalways, die Ihnen zur Verfügung stehen. Bitte beachten Sie: Diese Funktionen können für den Datentypanyverwendet werden. In der Python-Standardbibliothek sind auch eine Reihe von Modulen verfügbar, z. B.math
. Um die diesen Modulen zugeordneten Funktionen nutzen zu können, müssen Sie zuerst das Modul importieren. Dazu später mehr. Schauen wir uns zunächst einige Beispiele für integrierte Funktionen an.
float()
- Bei einer Ganzzahl gibt diese Funktion einen Float zurück.
>>>
>>> float(9)
9.0
>>> float(-99999)
-99999.0
int()
- Bei einem Float gibt diese Funktion eine Ganzzahl zurück. Diese Funktion rundet die Eingabe (Decke) NICHT auf die nächste Ganzzahl auf - sie wirft einfach alles nach dem Dezimalpunkt (Bodenbelag) aus und gibt die Zahl zurück. Die Eingabe von 10.6 gibt also 10 zurück, NICHT 11. In ähnlicher Weise gibt 3.25 3 zurück.
>>>
>>> int(10.6)
10
>>> int(3.25)
3
Datentypmethoden
Neben Funktionen gibt es eine Anzahl vondata-type methods, die jedem Zahlentyp zugeordnet sind.
float.is_integer()
- prüft, ob ein Float endlich ist.
>>>
>>> (10.0).is_integer()
True
>>> (10.1).is_integer()
False
Streicher
Zeichenfolgen sind Textzeilen, die mit einfachen oder doppelten Anführungszeichen deklariert werden:
>>>
>>> simple_string = "hey!"
>>> simple_string
'hey!'
>>> "hello world!"
'hello world!'
>>> escaped = 'can\'t'
>>> escaped
"can't"
>>> not_escaped = "can't"
>>> not_escaped
"can't"
Strings manipulieren
Betreiber
Wie Zahlen können Sieconcatenate strings (Zeichenfolgenverkettung):
>>>
>>> "happy" + " " + "birthday"
'happy birthday'
>>> "my name is " + "john"
'my name is john'
Funktionen
Schauen wir uns nur einigefunctionsan, die für die Manipulation von Zeichenfolgen gut geeignet sind:
len()
- Bei gegebener Zeichenfolge gibt diese Funktion die Länge zurück.
>>>
>>> len(name_string)
15
slice()
- Bei einem Start- und Stoppwert können Sie auf eine Reihe von oder einzelne Zeichen zugreifen.
>>>
>>> print("Hello"[2])
l
>>> print("Hello"[3])
l
>>> print("Hello"[0])
H
>>> print("Hello"[0:2])
He
Datentypmethoden
Wir werden nur einige Methoden vom Datentyp ansprechen. Sehen Sie sich jedoch unbedingt die vollständigen Pythondocumentationan, da es eine Reihe wichtiger Funktionen gibt, die Sie kennen sollten.
string.capitalize()
- gibt die Zeichenfolge mit dem Großbuchstaben zurück.
>>>
>>> lower_case_string = "michael"
>>> lower_case_string.capitalize()
'Michael'
>>> ("empire").capitalize()
'Empire'
string.format()
- Sie können Werte einfach in Zeichenfolgen formatieren.
>>>
>>> name = "John Doe"
>>> greeting = "My name is {}".format(name)
>>> greeting
'My name is John Doe'
>>>
string.strip()
- Gibt die Zeichenfolge mit entferntem führenden und nachfolgenden Leerzeichen zurück.
>>>
>>> are_you_happy = " Yes "
>>> are_you_happy.strip()
'Yes'
Listen
Listen, die in fast jeder anderen Programmiersprache als Arrays bezeichnet werden, gruppieren verschiedene Datentypen.
-
create_a_list = []
-
numbers_list = [1, 2, 3]
-
strings_list = ["spam", "eggs", "cheese"]
-
mixed_list = ["Hello", [1, 2, 3], False]
Wie Sie oben sehen können, können Listen einen beliebigen Datentyp enthalten (Sie können auch mischen und abgleichen), einschließlich anderer Listen oder gar nichts. Sie können auf Teile von Listen wie auf Zeichenfolgen mit Indizes zugreifen. Die Syntax ist dieselbe:
>>>
>>> create_a_list = []
>>> create_a_list
[]
>>> numbers_list = [1, 2, 3, 200]
>>> numbers_list
[1, 2, 3, 200]
>>> strings_list = ["batman", "superman", "iron man"]
>>> strings_list
['batman', 'superman', 'iron man']
>>> mixed_list = ["Hello World", [4, 5, 6], False]
>>> mixed_list
['Hello World', [4, 5, 6], False]
Sie können entweder am Anfang oder am Ende der Liste auf Elemente aus der Liste zugreifen:
>>>
>>> numbers_list[0]
1
>>> numbers_list[0:1]
[1]
>>> numbers_list[0:2]
[1, 2]
Sehen Sie sich an, wie Sie eine neue Liste erstellen können, indem Sie auf die Elemente zugreifen:
>>>
>>> numbers_list = [1, 2, 3, 200]
>>> new_list = numbers_list[0:3]
>>> new_list
[1, 2, 3]
Negative Indizes zählen ab dem letzten Element rückwärts:
>>>
>>> strings_list = ["batman", "superman", "iron man"]
>>> strings_list[-1]
'iron man'
Wenn Sie eine Liste in einer anderen Liste verschachteln, können Sie über mehrere Indizes auf die innere Liste zugreifen:
>>>
>>> mixed_list = ["Hello World", [4, 5, 6], False]
>>> mixed_list[1][2]
6
Listen bearbeiten
Betreiber
Listen können verkettet werden:
>>>
>>> fruits = ["apples", "grapes", "oranges"]
>>> veggies = ["corn", "kale", "mushrooms"]
>>> grocery_list = fruits + veggies
>>> grocery_list
['apples', 'grapes', 'oranges', 'corn', 'kale', 'mushrooms']
Funktionen
Im Allgemeinen können Sie sich Listen als Zeichenfolgen vorstellen - nur jedes Datenelement ist ein Element. Was bedeutet das praktisch? Nun, die gleichen Funktionen, die Sie für Zeichenfolgen verwenden, können für Listen verwendet werden.
len()
- Bei einer gegebenen Liste gibt diese Funktion die Länge zurück.
>>>
>>> numbers_list = [1, 2, 3, 200]
>>> len(numbers_list)
4
slice()
- Bei einem Start- und Stoppwert können Sie auf eine Reihe von Elementen zugreifen.
>>>
>>> hello = ["H", "e", "l", "l", "o"]
>>> hello[2]
'l'
>>> hello[3]
'l'
>>> hello[0]
'H'
>>> hello[0:2]
['H', 'e']
Datentypmethoden
Überprüfen Sie erneut die Pythondocumentation, um alle verfügbaren Listenmethoden anzuzeigen.
list.append()
- wird verwendet, um ein Element am Ende einer Liste hinzuzufügen
>>>
>>> fruits = ["apples", "grapes", "oranges"]
>>> fruits.append("blueberries")
>>> fruits
['apples', 'grapes', 'oranges', 'blueberries']
list.sort()
- sortiere diese Liste
>>>
>>> fruits.sort()
>>> fruits
['apples', 'blueberries', 'grapes', 'oranges']
list.pop()
- Entfernen Sie bei gegebenem Indexwert ein Element aus der Liste
>>>
>>> numbers_list = [1, 2, 3, 200]
>>> numbers_list.pop(2)
3
>>> numbers_list
[1, 2, 200]
Tuples
Tupel ähneln Listen, sind jedoch unveränderlich - was bedeutet, dass sie nach der Erstellung nicht mehr geändert werden können.
>>>
my_tuple = ("Michael", "Herman", 31, "Software Developer")
Wie bei einer Liste können Sie auch Indizes verwenden, um auf verschiedene Elemente zuzugreifen:
>>>
>>> my_tuple = ("Michael", "Herman", 31, "Software Developer")
>>> my_tuple[1]
'Herman'
Oft werden Tupel für Wörterbuchschlüssel verwendet, da sie unveränderlich sein sollten (err, müssen).
Tupel manipulieren
Betreiber
Ja, Sie können zwei Tupel hinzufügen:
>>>
>>> first_tuple = (1, 2)
>>> second_tuple = (3, 4)
>>> third_tuple = first_tuple + second_tuple
>>> third_tuple
(1, 2, 3, 4)
Funktionen
list()
- wird verwendet, um ein Tupel in eine Liste zu konvertieren
>>>
>>> first_tuple = (1, 2)
>>> list(first_tuple)
[1, 2]
Was ist mit dem Konvertieren einer Liste in ein Tupel? Gibt es dafür eine Funktion? Wo würdest du hingehen, um es herauszufinden?
Datentypmethoden
Da Tupel unveränderlich sind, funktionieren viele derlist methodsnicht mit Tupeln.
>>>
>>> first_tuple = (1, 2)
>>> first_tuple.append(3)
Traceback (most recent call last):
File "", line 1, in
AttributeError: 'tuple' object has no attribute 'append'
>>> first_tuple.pop(1)
Traceback (most recent call last):
File "", line 1, in
AttributeError: 'tuple' object has no attribute 'pop'
>>> first_tuple.sort()
Traceback (most recent call last):
File "", line 1, in
AttributeError: 'tuple' object has no attribute 'sort'
>>> first_tuple.reverse()
Traceback (most recent call last):
File "", line 1, in
AttributeError: 'tuple' object has no attribute 'reverse'
Wörterbücher
Wörterbücher sind eine Art assoziatives Array (ein Objekt), das mithilfe von Hash-Tabellen implementiert wird, die Schlüssel / Wert-Paare enthalten. Sie sind ungeordnet.
my_dict = {"Key 1": "Value 1", "name": "michael herman", "pi": 3.14}
Sie können den Wert eines Schlüssels mit der folgenden Syntax zurückgeben:
>>>
>>> my_dict = {"Key 1": "Value 1", "name": "michael herman", "pi": 3.14}
>>> my_dict["name"]
'michael herman'
>>> my_dict["Key 1"]
'Value 1'
Wörterbücher bearbeiten
Erforschen Sie dies selbst mit den Pythondocumentation. Brauchen Sie Hilfe? Kommentiere unten.
Apropos Kommentare ...
Kommentare werden verwendet, um Ihren Code zu beschreiben, damit andere Entwickler schnell verstehen können, was passiert (sowie Ihr zukünftiges Selbst).
# This a comment on it's own line
# You create them with the hash symbol
var = "Hello" # They can also be on the same line as code
Brauchen Sie Hilfe?
Wie ein guter Freund ist Python immer verfügbar, wenn Sie nicht weiterkommen. Vielleicht möchten Sie wissen, wie ein bestimmtes Objekt funktioniert, öffnen Sie einfach die Python-Shell und rufen Siehelp()
auf, um Hilfe zu erhalten, oderdir()
, um zu sehen, welche Methoden für dieses bestimmte Objekt verfügbar sind.
(6) Codierung in Python
Es gibt drei grundlegende Ansätze zum Codieren in Python. Wir haben bereits eine davon verwendet - die interaktive Python-Shell.
Die Schale (Redux)
Dies ist die am wenigsten mächtige der drei. Obwohl Sie Funktionen in der Shell erstellen können, ist diese normalerweise einfachen einzeiligen Anweisungen vorbehalten, um schnelles Feedback zu Ihrem Code zu erhalten.
Schauen wir uns zum Beispiel einen einfachen Ausdruck an. Öffnen Sie die Shell und führen Sie Folgendes aus:
>>>
>>> 24 + 10
34
Die Python-Shell bewertete einfach24 + 10
, addierte die beiden Zahlen und gab die Summe34
aus.
Versuchen Sie es noch einmal:
>>>
>>> import this
Nehmen Sie sich eine Minute Zeit, um die Ausgabe zu lesen. Dies sind einigeimportant-Konzepte in Python, mit denen Sieidiomatic Python-Code schreiben können.
Schließen Sie die interaktive Python-Shell. Einmal geschlossen, ist unser Code weg. Mit anderen Worten, der in die Python-Shell eingegebene Code ist nicht persistent - und kann nicht wiederverwendet werden. Als Codierer möchten wir Code, den wir wiederverwenden können, um wertvolle Tastenanschläge zu speichern. Leider versagt die Python-Shell in dieser Hinsicht.
IDLE
Python wird mit einem Programm namens IDLE geliefert (benannt nach Eric Idle von Monty Python). IDLE ist interaktiv und kann genau wie die Python-Shell verwendet werden. Es kann auch zur Wiederverwendung von Code verwendet werden, da wirand savePython-Code erstellen können. Trotzdem ist IDLE immer noch nicht so leistungsfähig wie die letzte Methode, daher werden wir es vorerst überspringen.
Wenn Sie an der Verwendung von IDLE interessiert sind, lesen Sie die ausgezeichnete AnleitungOne Day of IDLE Toying.
Code-Editor
Der beste Ansatz ist die Verwendung eines tatsächlichen Codierungseditors. Einige Leute bevorzugen einIntegrated Development Environment (IDE), aber ein viel einfacherer Code-Editor ist für Lernzwecke viel besser.
Why? Wenn Sie etwas Neues lernen, möchten Sie so viele Komplexitätsebenen wie möglich abziehen. Dinge vereinfachen. Indem Sie dem Mix eine komplexe IDE hinzufügen, die Sie lernen müssen, wie man arbeitet, fügen Sie immer mehr Ebenen hinzu, was die Aufgabe - Python lernen - noch schwieriger macht.
(7) Auswählen eines Codierungseditors
Ein Python-Programm besteht in seiner Grundform einfach aus Textzeilen (Code), die in einer Datei mit der Dateierweiterung.pygespeichert sind. Python-Code kann in etwas so Grundlegendem wie Notepad geschrieben werden - aber es gibt keinen Grund, sich einer solchen Prüfung zu unterziehen, da es viel bessere Optionen gibt. Im Kern sollte ein Code-Editor eine Reihe von Funktionen bereitstellen, mit denen ein Programmierer Programme erstellen kann (in unserem Fall Python-Skripte und -Module). In den meisten Fällen ermöglichen Code-Editoren dem Benutzer, das Programm selbst an Ihre Bedürfnisse und Ihren Stil anzupassen.
Worauf sollten Sie in einem Code-Editor achten?
-
Benutzerfreundlichkeit
-
Satzstellung markieren
-
Automatische Einrückung
-
Ansichten mit Registerkarten
-
Zeilennummerierung
-
Möglichkeit, das Erscheinungsbild des Editors anzupassen
-
Verfügbarkeit von Add-Ons
Schauen Sie sich das folgende Beispiel an:
So ist der Code nicht nur im Editor (Sublime Text) oben leichter zu lesen (aufgrund der Syntaxhervorhebung und Zeilennummerierung), sondern es werden auch drei einfache Fehler identifiziert, von denen einer ein Show-Stopper ist . (Können Sie herausfinden, welches?) Währenddessen zeigt der Editor (Editor) unten die Fehler nicht an und ist für die Augen hart, da es schwarz und währenddessen ist.
Welchen Editor soll ich verwenden?
Einer der beliebtesten Code-Editoren istSublime Text 3 (siehe oben). Es ist leistungsstark, plattformübergreifend und kann kostenlos ausprobiert werden.
Stellen Sie sicher, dass Sie das Projekt durch den Kauf einer Lizenz unterstützen, wenn Sie es weiterhin verwenden.
Wenn Sie etwas Einfacheres wünschen, schauen Sie sichgedit an, das auch plattformübergreifend ist. Notepad++ ist ebenfalls ein großartiger Editor, aber nur für Windows. Beide Editoren sind kostenlos und obwohl keiner die Macht von Sublime Text besitzt, sind sie dennoch nützlich.
Eine dritte Option istVim, die kostenlos und für Mac, Linux und Windows verfügbar ist. Vim hat eine steile Lernkurve, aber eine treue Nutzerbasis. Steve FranciasVim Distribution ist das beste Programmier-Setup für Vim, das ich je gesehen habe.
Ich persönlich bevorzugeSublime Text 3. Lesen Sie den Blog-BeitragSetting Up Sublime Text 3 for Full Stack Python Development, um zu erfahren, wie Sie ihn speziell für das Schreiben von Python-Code anpassen können.
Denken Sie daran: Es gibtmany different options, wenn es um kostenlose und kommerzielle Code-Editoren geht. Recherchiere und habe keine Angst vor Experimenten! Denken Sie daran: Ein Editor sollte Ihnen dabei helfen, die Python-Codierungsstandards, -praktiken und -sprachen einzuhalten.
(8) Python-Redewendungen = Happy Coding
PEP 8 – Style Guide for Python Code ist der Styleguide zum Programmieren von Python-Code. Lerne das.
Eine Redewendung, die viele neue Python-Entwickler auslöst, ist das Einrücken. Python verwendet Einrückungen (4 Leerzeichen), um Code logisch in Abschnitte zu organisieren, die als [Codeblöcke] (http://en.wikipedia.org/wiki/Block_(programming) bezeichnet werden. Ein Codeblock beginnt mit einem Einzug und endet mit einem Dedent (Einrückung aufheben?). Ein falscher Einzug führt in Python zu einem Fehler, der die Ausführung Ihres Codes verhindert. Und genau hier zahlt es sich aus, einen ordnungsgemäß eingerichteten Code-Editor zu haben, da er Einrückungsfehler erkennt und diese für Sie hervorhebt. Sie sollten beim Einrücken auch Leerzeichen anstelle von Tabulatoren verwenden. In den meisten Editoren können Sie Tabulatoren in Leerzeichen konvertieren, sodass beim Tabulatorieren tatsächlich 4 Leerzeichen angewendet werden.
Lassen Sie uns die Fehler aus dem obigen Bild noch einmal betrachten ...
-
Zeile 2 - Kein Leerzeichen um den Operator
<
. Wie inPEP8 erläutert, erwartet Python Leerzeichen um Operatoren. Dies ist kein kritischer Fehler, aber problematisch, da Ihr Code sauber und lesbar sein sollte. -
Zeile 4 - Hier gibt es zwei Fehler, einschließlich des Show Stoppers. Wie oben erwähnt, verwendet Python Einrückungen, um Codeblöcke zu definieren.
count = count + 1
ist Teil eines Codeblocks, der in Zeile 2 beginnt, sodass 4 Leerzeichen eingerückt werden müssen, damit Python ihn in den Codeblock aufnehmen kann.
(9) Zählen bis 10
Bereit, in ein einfaches Beispiel einzutauchen?!
Wenn Sie neu in der Programmierung sind, verstehen Sie möglicherweise nichtfullyden Code, aber es sind die Konzepte, die wichtig sind. Python ist so konzipiert, dass es sehr leicht zu lesen ist, und dieses Beispiel zeigt dieses Prinzip. Wir werden den oben genannten fehlerhaften Code beheben und einen weiteren Codeblock hinzufügen, um die Konzepte von Codeblöcken und Einrückungen hervorzuheben.
Viele Programmierer sind überwältigt, wenn sie sich anfänglich einem Problem nähern. Ein effektiver Ansatz zur Lösung des Problems, unabhängig von der Größe, besteht darin, das Problem logisch in Teile zu unterteilen.
Lassen Sie uns beispielsweise ein Basisprogramm codieren, das von 1 bis 10 zählt. Jedes Mal, wenn die Anzahl erhöht wird, möchten wir eine neue Zahl anzeigen und beim Konzept der Codeblöcke helfen, werden wir zeigen, was passiert, wenn wir 10 erreichen. Ein Ansatz zur Unterstützung bei der Entwicklung eines Workflows ist die Verwendung von Pseudocode.
Machen wir einen Plan (Pseudocode!)
Ich mag es, die Dinge auf meinem Computer organisiert zu halten. Erstellen Sie also zuerst einen Ordner, legen Sie ihn in Ihrem Ordner "Dokumente" oder an einem ähnlichen Ort ab. Ich habe einen Ordner namenspython_code
erstellt. Das Erlernen des Codierens ist praktisch. Öffnen Sie daher Ihren Code-Editor und geben Sie den folgenden Code ein. Do not copy and paste no matter how tempting it is. Doing so will hinder learning.
Python 2.7:
# Python 2.7
count = 1
# Code block 1
while count < 11:
print count
count = count + 1
# Code block 2
if count == 11:
print 'Counting complete.'
Python 3:
# Python 3
count = 1
# Code block 1
while count < 11:
print(count)
count = count + 1
# Code block 2
if count == 11:
print('Counting complete.')
Beachten Sie, dass die erste Zeile jedes Beispiels ein#
(Hash-Zeichen) enthält, gefolgt von einem Leerzeichen und einer Erklärung. Dies ist ein Inline-Kommentar. Solche Kommentare haben eine Reihe von Zwecken, werden jedoch größtenteils verwendet, um entweder Code zu erklären oder einen bestimmten Ansatz eines Entwicklers zusammenzufassen. Sind die Kommentare in den obigen Beispielen für Sie sinnvoll? Wenn nicht, ändern Sie sie.
Wie Sie bald herausfinden werden, werden Kommentare von Python ignoriert, wenn der Code ausgeführt wird.
Haben Sie bemerkt, dass in den Beispielen sowohl einfache=
als auch doppelte==
verwendet werden? Dies kann verwirrend sein.
-
Im Ausdruck
count = 1
weist=
der Variablencount
den Wert 1 zu. -
In den bedingten
if count == 11:
vergleicht==
den Wert voncount
mit11
und gibt einen booleschen Wert vonTrue
oderFalse
zurück. Können Sie nach jeder Iteration feststellen, wie die Anweisung im obigen Beispiel ausgewertet wird?
Speichern Sie die Datei alscount_to_ten.py in dem von Ihnen erstellten Ordner und beenden Sie den Editor. Öffnen Sie ein Terminal oder eine Eingabeaufforderung und navigieren Sie zu dem von Ihnen erstellten Ordner.
Führen Sie nun den Code aus:python count_ten.py
Je nach Einrichtung müssen Sie möglicherweise
python
durchpython3
oderpy -3
ersetzen. Weitere Informationen finden Sie unterStep 4.
Und die Ausgabe sollte ungefähr so aussehen:
Glückwunsch! Sie haben gerade Ihr erstes Programm geschrieben.
(10) Fehler und Ausnahmen
Fehler sind etwas, das Programmierer auf jeder Erfahrungsebene irritiert und frustriert.
In Python gibt es zwei Arten von codebasierten Fehlern:syntax errors and exceptions.
Syntaxfehler
Wir haben diesen Fehler bereits gesehen - falsche Einrückung. Syntaxfehler verhindern die Ausführung des Programms. In diesem Beispiel fehlt der Anweisungif
ein Doppelpunkt, um die Anweisung zu beenden. Wie Sie sehen können, ist Python sehr hilfreich, um auf den Fehler hinzuweisen:
>>>
>>> if x < 9
File "", line 1
if x < 9
^
SyntaxError: invalid syntax
Ausnahmen
Ausnahmefehler treten während der Programmausführung auf. Python hat eine Reihe von integriertenexceptions. Zum Beispiel:
>>>
>>> 12/0
Traceback (most recent call last):
File "", line 1, in
ZeroDivisionError: integer division or modulo by zero
Semantische Fehler
Semantische Fehler sind Fehler, die aufgrund eines oder mehrerer Probleme in der Logik auftreten.
Diese Fehler können komplexer sein, da kein Fehler generiert wird. Der Code wird ausgeführt, generiert jedoch eine unerwartete und / oder falsche Ausgabe oder keine Ausgabe. Ein klassisches Beispiel hierfür wäre eine Endlosschleife, die die meisten neuen Programmierer mindestens einmal erleben.
(11) Pythons Power - Pakete / Module
Eines der großartigen Dinge an Python ist die Fülle verfügbarer Module, die sowohl in den Python-Kern als auch inthird party packages/libraries integriert sind und zur Erweiterung der Sprache verwendet werden. Diese Module können sehr hilfreich sein. Einige der am häufigsten verwendeten integrierten Python-Module umfassen:
Zum Beispiel verwenden wir hierimport math
, umpi
,sqrt
(Quadratwurzel) undpow
(zur Potenz) zu verwenden:
Warning: Benennen Sie Ihre Python-Dateien nicht wie ein Modul - wiemath.py oderrandom.py. Dies führt zu Konflikten, die zu unerwartetem Verhalten in Ihrem Code führen. Wenn Sie also das Mathematikmodul verwenden, benennen Sie Ihre Dateimath.py nicht. Sinn ergeben?
Pip
Der beste Weg, um die Pakete / Module von Python von Drittanbietern zu verwalten, istpip. Neue Codierer stoßen häufig an eine Wand, wenn sie einem Beispielcode folgen, und sie sehen den folgenden Fehler, wenn sie versuchen, den Code auszuführen:ImportError: No module named MODULE_XXXX
.
Diese Module müssen manuell mit Pip installiert werden. In Python 3 ist pip mit dem Namenpip3 enthalten. Wenn Sie Python mit Homebrew installiert haben, ist auch pip enthalten. Ab Python 2.7.9 ist auch pip enthalten. Wenn Sie eine Python-Version vor 2.7.9 verwenden, befolgen Sie diese Anweisungen, um pip zu installieren:
-
Laden Sieget-pip.py herunter und bestätigen Sie, dass die Datei mit der Erweiterung.py gespeichert wurde.
-
Navigieren Sie im Terminal oder in der Eingabeaufforderung zum Speicherort der heruntergeladenen Datei.
-
Ausführen:
python get-pip.py
-
Lesen Sie dieofficial pip documentation für weitere Informationen.
(12) Nächste Schritte
Es gibt viele Online-Tutorials, Bücher und Videos, die frei verfügbar sind.
Mein erster Stopp war eine der beliebtesten freien Entscheidungen,Learn Python the Hard Way. Das Tutorial von Zed Shaw ist in einem progressiven und logischen Übungsformat angelegt. Ich fand es sehr nützlich, um die Syntax zu lernen, aber ich brauchte mehr.
Eine der besten Möglichkeiten, das Codieren zu lernen, ist das Erstellen eines projektgesteuerten Lernansatzes. So bin ich auf Real Python gestoßen. Es gibt dreiReal Python, die eine bescheidene Gebühr kosten. Diese werden häufig aktualisiert (normalerweise alle zwei Monate), um mit den Änderungen Schritt zu halten (kostenlos).
Ein weiterer Ort, der mir wirklich geholfen hat, war der MIT-KursIntroduction to Computer Science and Programming, der neben Python verschiedene Informatikkonzepte behandelt. Der Kurs kann an zwei Orten gefunden werden.
-
Die gemeinnützige Online-Initiative Harvard und MIT (Edx.org) bietet den Kurs in zwei Teilen an. Sie sind herausfordernd und bieten einen hervorragenden Ansatz zur Problemlösung. Beide Teile sind benotet.
-
Die andere Route führt von der offenen MIT-KursunterlageIntroduction to Computer Science and Programming MIT 6.00x. Der Kurs ist nicht benotet, hat aber eine sehr aktive Online-Community, die sehr hilfreich ist.
Es gibt natürlich auch andere Online-Kurse. Auch dies ist eine persönliche Entscheidung, also machen Sie Ihre eigenen Forschungen.
Eine weitere Quelle für kostenlose Lernmaterialien ist das PSF:
Vor allem ist es wichtig, dass Sie nicht die „beste“ Buch- oder Videosuche finden und sich verlaufen. Recherchiere. Herumfragen. Aber wähle etwas undstick with it! Öffnen Sie Ihren Code-Editor und beginnen Sie mit dem Codieren! Machen Sie eine Verpflichtung zu sich selbst, um es zu vervollständigen.
Kostenloser PDF-Download: Python 3 Spickzettel
(13) Fahrrad fahren
Codieren ist wie Fahrradfahren: Man kann Leute beobachten, um zu sehen, wie es gemacht wird, und manchmal kann man einen Push bekommen, aber am Ende ist es ein Solo-Event. Wenn ich nicht weiterkomme oder ein neues Konzept auffrischen muss, gehe ich zuerst zu Google. Wenn ich eine Fehlermeldung erhalte, wird durch Eingabe der genauen Fehlermeldung in Google häufig ein Ergebnis auf der ersten Seite angezeigt, das mein Problem löst.
Schauen Sie sich auch diese Ressourcen an:
-
Die offiziellen Python-Dokumente -Python 2.7 oderPython 3
-
Tutorials Point hat einige sehr einfache und leicht zu befolgende Beispiele, wenn ich eine schnelle Aktualisierung benötige.
-
Jeff Knupp’s Website (der Autor der Idiomatic Python-Reihe von Tutorials und Büchern)
-
DasReal Python Tutorials section enthält spezifischere Themen und fortgeschrittene Themen wie Pythons Web Frameworks, Django und Flask.
-
Bernd KleinsPython Course enthält eine hervorragende Abdeckung von Python; Seine Diskussion über fortgeschrittene Themen ist wirklich hilfreich.
-
Stack Overflow, die Fragen und Antworten zum Codieren, enthält einige großartige Erklärungen zu Python-Themen. WiePython can slice a string ist ein wirklich hervorragendes Beispiel.
Wenn Sie bei einem Problem stecken bleiben, versuchen Sie diese einfachen Vorschläge:
-
Hör auf zu codieren!
-
Nehmen Sie ein Blatt Papier heraus und finden Sie heraus, wie Sie das Problem mit einfachen Worten (Pseudocode) lösen können. Verwenden Sie gegebenenfalls ein Flussdiagramm. Sieheexample above.
-
Irgendwann werden Sie in Pythonsexception handling eingeführt - den
try/except
-Block. Verwenden Sie keintry
, bis Ihr Code funktioniert. Dietry
können wertvolle Fehlermeldungen unterdrücken, mit deren Hilfe Probleme im Code identifiziert werden können. -
Wenn Sie keine erwartete Ausgabe erhalten - d. H. Vielleicht zeigt Python ein Wort anstelle einer Zahl an (falscher Datentyp) - fügen Sie direkt nach der Variablenzuweisung und dann direkt vor der erwarteten Ausgabe eine Druckanweisung hinzu. Dies ist ein effektiver, schneller und schmutziger Problemlöser.
-
Wenn Sie immer noch ratlos sind, istPython Visualizer ein großartiges Werkzeug. Mit diesem Tool können Sie Ihren Code während der Ausführung "durchgehen". Der Python Visualizer enthält Beispiele, die Ihnen bei Bedarf helfen.
-
Eine letzte Anmerkung - und das ist sehr wichtig - ist, dass ein frustriertes Gehirn nicht helfen wird. Wenn Sie anfangen, sich zu ärgern, weil etwas nicht funktioniert, machen Sie eine Pause und klären Sie Ihr Gehirn. Laufen gehen. Mach etwas anderes. Sie werden erstaunt sein, wie effektiv dies sein kann. Oft kommen Sie mit klaren Augen zurück und sehen einen einfachen Tippfehler, ein falsch geschriebenes Schlüsselwort usw.
(14) Einfacher Rat für neue Python-Codierer
Ich sage das auf die schönste Art -no one is going to spoon feed you. Codierer erwarten von anderen Codierern - ja sogar von Anfängern -, dass sie versuchen, das Problem selbst zu lösen. Irgendwann brauchen wir jedoch alle Anleitung.
Wenn Sie versucht haben, wirklich gegen die Wand zu stoßen, bitten Sie um Hilfe, bevor Sie Ihre Tastatur oder andere leblose Objekte zerschlagen. Es gibt eine Reihe von Orten, an denen Sie Hilfe erhalten können -code forums, Facebook-Gruppen,IRC channel #python, um nur einige zu nennen. Nehmen Sie sich eine Minute Zeit, um die Regeln oder Richtlinien für eine der von Ihnen verwendeten Gruppen zu lesen. Machen Sie es anderen leicht, Ihnen zu helfen, indem Sie das Problem und Ihre Versuche erläutern. Wenn ein Fehler auftritt, geben Sie diese Informationen ebenfalls an.
Viel Spaß beim Codieren!
(15) Testen Sie Ihr Wissen
-
Was bedeutet es, dass Python eine starke, dynamisch typisierte Sprache ist?
-
Wie greifen Sie auf die Python-Shell zu?
-
Wie deklariert man eine Variable?
-
Was ist der Unterschied zwischen einem Variablennamen und einem Variablenwert?
-
Was sind die in Python integrierten Datentypen?
-
Was ist der Unterschied zwischen einer Ganzzahl und einer Gleitkommazahl?
-
Was sind boolesche Werte?
-
Was macht der Operator
%
? -
Was ist der Unterschied zwischen einer Liste und einem Tupel?
-
Was ist ein Wörterbuch?
-
Warum sollten Sie Kommentare in Ihrem Code verwenden?
-
Testen Sie die Funktion
help()
. Was hast du gelernt? -
Übergeben Sie
float
an die Funktiondir()
. Was hast du gelernt? -
Ein Grundelement, das wir nicht besprochen haben, ist
None
. Was stellt es dar? -
Sie können den Datentyp einer Variablen oder eines Werts mit der Funktion
type()
überprüfen. Testen Sie dies mit verschiedenen Datentypen und Variablen. Was hast du gelernt?
Öffnen Sie Ihren Texteditor und erstellen Sie eine neue Datei mit dem Namenexercise.py. Kopieren Sie den folgenden Code und fügen Sie ihn in die Datei ein:
##########################################################################
## Modify the variables so that all of the statements evaluate to True. ##
##########################################################################
var1 =
var6 =
var2 =
var3 =
var4 =
var5 =
############################################
## Don't edit anything below this comment ##
############################################
# integers
print(type(var1) is int)
print(type(var6) is float)
print(var1 < 35)
print(var1 <= var6)
# strings
print(type(var2) is str)
print(var2[5] == 'n' and var2[0] == "p")
# lists
print(type(var3) is list)
print(len(var3) == 5)
# tuples
print(type(var4) is tuple)
print(var4[2] == "Hello, Python!")
# dictionaries
print(type(var5) is dict)
print("happy" in var5)
print(7 in var5.values())
print(var5.get("egg") == "salad")
print(len(var5) == 3)
var5["tuna"] = "fish"
print(len(var5) == 3)
Aktualisieren Sie den Code, indem Sie den Anweisungen folgen. Wenn Sie fertig sind, führen Sie den Code von Ihrem Terminal aus aus, um ihn mit dem Befehlpython exercise.py
zu testen. Viel Glück!
Nachdem Sie die Grundlagen der Python-Programmierung kennen, lesen Sie unbedingt die zahlreichen Python-Tutorials hier bei Real Python, um Ihre Fähigkeiten weiter auszubauen. Sie finden alle unsere Tutorialsby clicking here.