Category: anfänger
Einleitung
Python ist eine Programmiersprache. Im Vergleich mit die Programmiersprache C++ und Java ist die deutlich kürzer.
Zum Beispiel, das „Hello Welt“ Programm Links das Programm in die Programmiersprache C, rechts in Python:
Python Programming Bootcamp: Go from zero to hero
Python herunterladen? Python funktioniert auf viele Systeme so wie: Apple Mac OS X, Microsoft Windows, Linux/UNIX und Handy: Google Android und Apple iOS. Du kannst Python herunterladen von Python.org
Wenn du mehr Information über der Python Installation benutzt kannst du auf die englische Seite schauen.
Datentypen und Variablen
Strings
Lists
Eine Liste ist einer Sammlung. Liste können Zahlen, Strings (Zeichenkette) oder beides besitzen.
Beispiel
Zum beispiel:
|
Resultat:
['Drake', 'Derp', 'Derek', 'Dominique'] Drake Derp
Python Programming Bootcamp: Go from zero to hero
Hinzufügen und entfernen
Du kannst der Methode append() und remove() benutzen für List bearbeitung.
|
Resultat:
['Drake', 'Derp', 'Derek', 'Dominique'] ['Drake', 'Derp', 'Derek', 'Dominique', 'Victoria'] ['Derek', 'Dominique', 'Victoria']
Sortieren
Mit dem sort() Funktion kannst du einer List sortieren.
|
Wenn du das umkehren mochtest kannst du die reverse() Funktion benutzen.
|
python tuple
Das Tupel Datenstruktur wird verwendet, um eine Gruppe von Daten zu speichern.
Die Elemente in dieser Gruppe werden durch Komma getrennt. Einmal erstellt, ändern sich die Werte eines Tupels nicht.
Python Programming Bootcamp: Go from zero to hero
Beispiel
Ein leeres Tupel in Python würde definiert als:
|
Ein Komma ist benötigt für ein Tupel mit nur einen Wert:
|
Für mehrere Werte, müssen Sie kein Komma am Ende setzen. Dieser Tupel ist ein Beispiel:
|
Die Daten in einem Tupel können aus einem oder mehreren Datentypen bestehen.
|
und
|
Hinzufügen
Wenn sie an einem Tupel werte hinzufügen möchtest kannst du der plus (+) Operator benutzen.
|
Konvertieren
Konvertieren von einem Tupel zum einer List.
|
Konvertieren von einem List zum einer Tupel:
|
Konvertieren vom einem List zum einer String:
|
Sortieren
Tupels sind kein Arrays und kannst du deswegen nicht sortieren. Wenn du die Werte sortieren möchtest gibt es aber einer Option: konvertieren zum List, sortieren und zurück konvertieren zum einem Tupel.
|
dict python
Ein Dictionary (engl: Wörterbuch) kann als eine Gruppe von Schlüssel - Werte paare gesehen werden.
Jeder Schlüssel hat einen Wert. Ein Paar von Klammern macht ein leeres Dictionary: {}
Python Programming Bootcamp: Go from zero to hero
Beispiel
Zum bespiel:
|
Erstens wird den dictionairy definiert. In diesem Beispiel ist “Hello” Schlüssel und “Bonjour” ein wert. Am Ende Printn wir individuellen werten via Schlüssels.
Es gibt kein Wort Limit:
|
Manipulieren von einem dictionary
|
Bedingte Anweisungen
In Python können Sie bedingte Anweisungen, bekannt als if-statements definieren.
|
Wenn x größer ist als 10, wird es die zweite Codeblock ausgeführt. Wir verwenden Vertiefung (4 Spaces), um die Blöcke zu definieren.
Python Programming Bootcamp: Go from zero to hero
Ein kleines Spiel:
Eine Variable kann nicht immer durch den Benutzer definiert werden, betrachten dieses kleine Spiel:
|
Konditional Operators
Operator | Beschreibung |
!= | nicht gleich |
== | gleich |
> | grosser als |
< | kleiner als |
|
oder das gleiche:
|
Funktionen
Schleifen
Schleifen werden benutzt um einen Codeblock wiederholt auszuführen Python hat zwei schleifen: for und while.
Kurs:
Python Programming Bootcamp: Go from zero to hero
For Schleife
Wenn du schon vorher wie viel mal einen Codeblock wiederholt werden müsst, brauchst du einen for-schleife.
|
|
While schleife
Wenn du nicht vorher weißt wie viel mal ein Codeblock wiederholt müsst werden, gibt es der while-schleife. Meistens werden die while-schleife benutzt als du auf das Netzwerk oder etwas warten musst.
|
Zufallszahlen
Mit der Python Random Module können wir Zufallszahlen generieren. Der random() Funktion gibt Zufallszahlen zurück zwischen null und eins. [0, 0.1 .. 1], also kein integer sondern ein float.
Related course:
Python Programming Bootcamp: Go from zero to hero
Zufallszahlen null bis eins
Du kannst einer Zahl genieren zwischen 0 und 1 mit:
|
Zufallszahlen 0 bis 100
Du kannst einer Zahl genieren zwischen 0 und 100 mit:
|
oder
|
Dateien lesen
Sie können Datei (file) lesen mit dieser Python Code. Datei müsst im dieselbe Directory stehen als dem Python Programm, sonst musst du auch das ‘path’ schreiben.
Related Course:
Python Programming Bootcamp: Go from zero to hero
|
Das erste teil von dieser Code liest der Datei. Alle Setzen werden speichert in die variablen conent. Das zweite teil schreibt jeder Satz von dieser variablen.
Wenn Sie neu Satz nicht lesen möchtest, schreib dann einfach f.readlines() so wie:
|
Wir willen nur Datei lesen wenn das überhaupt existiert, das können wir so machen:
import os.path |
Dateien speichern
Für Dateien schreiben sind kein speziellen Modulen benötigt. Sie können einfach Dateien schreiben mit dem write() Methoden.
Dateien speichern
Diesen Code schreibt (oder überschreibt) Data.
|
Der ‘w’ Parameter überschreibt Data wenn es schon existiert.
Related Course:
Python Programming Bootcamp: Go from zero to hero
Hinzufugen
Dieser Code überschreibt Dateien nicht:
|
Klassen
Technologie evaluierst immer.
1. Statements
das meist einfache Programm besteht nur aus sogenannte Statements, also Kommando regeln.
2. Funktionen
einer Gruppe Statements, damit können Sie der Code strukturieren.
3. Klassen
mit dem Klassen können Sie virtuellen Objekten machen. Ein Objekt kann variablen und Methoden besitzen.
Python Programming Bootcamp: Go from zero to hero
Python Klass
Wir können virtuellen Objekten machen in Python. Ein virtuelles Objekt kann Methoden und variablen besitzen. Alle Objekten in Python werden durch ein klasse gemacht. Zum Beispiel:
|
In diesem Code haben wir drei virtuelles Objekten: James, David und Eric. Alle Objekten werden durch die klasse User gemacht.
In dieser Klasse haben wir der Methoden sayHello() definiert. Wir können dieser Methoden in jede Objekte anrufen. Der init Methode ist der sogenannte Konstruktor und wird immer angerufen als ein neues Objekt gemacht wird. Der variable in diesen klasse ist ‘name’ (nur eine). Jedes Objekt besitzt dieser variablen mit ein wert. Manchmal werden variablen Attributen genannt. Methoden können variablen von Objekten updaten.
Klasse variablen
Wir definieren einer Klasse genannt CoffeeMachine. Objekten besitzen der variablen ‘beans’ und ‘amount of water’. Beides sind von der Dateitypen integer. Wir definieren Methoden die diesen variablen verändern können
|
Für die variablen water machen wir dasselbe. Wir haben dieser Code:
|
Das erste teil von dieser Code definiert der Klasse. Wir machen ein virtuelles Objekten genannt ‘pythonBean’. Diesem Objekt besitzt Methoden und variablen. Als wir die Methoden anrufen können wir der interne variablen diesem Objekt verändern.
Datenkapselung
Datenkapselung in Python
Datenkapselung ist ein zentrales Konzept in der Programmierung, besonders in Python. Durch die Begrenzung des Zugriffs auf Methoden und Variablen in einem Python-Programm können wir sicherstellen, dass Daten nicht unabsichtlich geändert werden. Dies ist besonders wichtig in objektorientierter Programmierung und Klassen, während es bei Funktionen nicht direkt anwendbar ist.
Related Course: Python Programming Bootcamp: Go from zero to hero
Private Methoden in Python
Betrachten Sie das Beispiel einer Car
Klasse mit zwei Methoden: drive()
und __updateSoftware()
. Wenn wir ein Objekt dieser Klasse erstellen, wird automatisch die private Methode __updateSoftware()
aufgerufen.
Beachten Sie, dass private Methoden in Python mit zwei Unterstrichen vor dem Methodennamen gekennzeichnet sind. Diese Methoden können nicht direkt von einem Objekt aus aufgerufen werden, sondern nur innerhalb der Klasse selbst.
1 | #!/usr/bin/env python |
Die Methode __updateSoftware()
ist privat und kann nur innerhalb der Car
Klasse aufgerufen werden, nicht von außerhalb.
Private Variablen in Python
So wie es private Methoden gibt, gibt es auch private Variablen in Python. Diese Variablen können nur innerhalb der Klasse geändert werden, in der sie definiert sind.
Ein Hauptgrund für private Variablen ist die Sicherheit: Sie können wichtige Informationen speichern, die nicht ohne spezifische Klassenmethoden geändert werden sollten.
1 | #!/usr/bin/env python |
Wenn Sie den Wert einer privaten Variable ändern möchten, können Sie eine setter Methode verwenden. Ein setter ermöglicht es, den Wert einer privaten Variable sicher zu ändern.
1 | #!/usr/bin/env python |
Zusammenfassung der Datenkapselung in Python
In Python haben wir:
- Private Variablen
- Private Methoden
- Öffentliche Variablen
- Öffentliche Methoden
Es ist erwähnenswert, dass einige andere Programmiersprachen zusätzlich geschützte (“protected”) Methoden und Variablen haben, aber Python hat diese Unterscheidung nicht.
Vererbung
In der Python-Programmiersprache können Klassen Funktionen und Variablen von anderen Klassen durch das Prinzip der Vererbung (Englisch: Inheritance) übernehmen. Dies ist ein grundlegendes Konzept der objektorientierten Programmierung (OOP).
Related course: Python Programming Bootcamp: Go from zero to hero.
Wenn wir eine Klasse namens User
definieren:
class User: |
Mit dieser Klasse erstellen wir ein Objekt namens Brian. Danach definieren wir eine weitere Klasse namens Programmer
.
class Programmer(User): |
Diese Klasse sieht aus wie eine normale Klasse, aber sie erbt von der Klasse User
(angegeben durch User
in den Klammern). Das bedeutet, dass alle Funktionen und Variablen der Klasse User
auch in der Klasse Programmer
verfügbar sind.
Vererbungsbeispiel
Hier ist ein Beispiel für Vererbung:
class User: |
Brian ist eine Instanz der Klasse User
und hat Zugriff auf die Methode printName()
. Diana hingegen ist eine Instanz der Klasse Programmer
. Da die Klasse Programmer
von der Klasse User
erbt, hat Diana Zugriff auf die Methoden beider Klassen.
Polymorphie
Manchmal kommt ein Objekt in viele formen. Zum Beispiel, es gibt viele Sorten Schaltfläche aber sie haben dasselbe verhalten. Kurz: alle Schaltflächen haben ein onClick() Funktion aber die Schaltfläche sehen nicht alle dasselbe aus. Dieser Idee wird Polymorphie genannt.
Das Wort Polymorphie ist basiert auf Griechische Worten Poly (viele) und Morphism (formen).
Related Course:
Python Programming Bootcamp: Go from zero to hero
Polymorphie mit einer Funktion
Wir machen zwei Klassen: Bear und Dog, beiden können ‘sprechen’. Wir machen zwei Instanzen von diesen Klassen und rufen der Methode sound() an.
|
Polymorphie mit einer abstrakten Klasse
Als Sie einen editor macht wissen Sie nicht ob der User ein PDF oder Word Dokument offenen möchtest. Alle Dokumenten brauchen dasselbe Funktionalität: zeigen, schließen usw.
|
Wir definieren eine (abstrakte) Klasse genannt Dokument. Dieser Klasse ist abstrakt: es definiert nur die Struktur. Wir definieren einer Funktion show() das durch beide Klassen PdfDocument und WordDocument implementiert wird.
|
Wir haben ein abstrakten Struktur(document) und verschiedene Klassen die dieser Struktur implementieren. Wenn Sie ein neuen Type Dokument machen möchtest, kannst du einfach die Struktur von der Klasse Dokument benutzen.
Rekursive Programmierung
Einer Funktion ist rekursiv als es sich selbst wieder aufruft. Ein terminal Konditionen ist notwendig, sonst wird es immer dauern.
Python Programming Bootcamp: Go from zero to hero
Rekursion mit ein List
Wir können mit einem einfache Beispiel anfangen: nummern an einen liste hinzufügen Ohne Rekursive Methoden kann es so sein:
|
Dieser Methoden addiert alle Elementen und gibt die summe.
So können wir das rekursiv machen:
|
Als die List nur ein Element hat, gibt es direkt der Antwort. Sonst, ruft er die sum() Funktion minus ein Element der liste. Wenn alle anrufen vorbei sind, gibt dieser Funktion der Antwort.
Fakultät mit Rekursion
Der mathematische Definition von Fakultät ist: n! = n * (n-1)!, if n &gt; 1 and f(1) = 1. Zum Beispiel: 3! = 3 x 2 x 1 = 6. Wir können das in Python machen mit einer rekursiven Funktion.
|
Als wir der factorial Funktion anrufen mit n=3, Antwort der Funktion mit n * factorial(n-1). Dieser Prozess wiederholt sich bis n=1. Als n==1 wahr ist, gibt der Funktion der Losung.
Limit
Jeder Funktion Anruf speichert der Computer im Memory. Also, so einer Funktion benutzt mehr Memory. Python wird das Enden nach 1000 anrufen. Wenn Sie diesem Beispiel ausfuhrt:
|
Bekommst du der Fehler Meldung:
|
Wir können das Losen mit:
|
python log file
Python logging
Logdatei hilft beim debugging und Entwicklung. Nach der Entwicklung können wir Sie auschalten. Eine weitere Möglichkeit besteht darin, ihn in einer Datei zu speichern. Beginnen wir mit einem einfachen Beispiel.
Alternative kurs
Logging example
import logging |
Ausgabe:
WARNING:root:This is a warning! |
zu speichern:
import logging |
Es gibt sogennante ‘degrees of severity’, wie wichtig ist die Fehler meldung?.
Degrees of severity
Wir können den Schweregrad setzen mit dieser Zeile:
logging.basicConfig(level=logging.DEBUG) |
Diese logging gibt es:
Type | Beschreibung |
---|---|
DEBUG | Nur fur problemen aufspueren |
INFO | Normales Prozess |
WARNING | Etwas stimmt nicht |
ERROR | Fehler |
CRITICAL | Schwerer Fehler |
import logging |
Zeit im log
Sie können die Zeit Aktivieren mit der folgenden Codezeile:
logging.basicConfig(format='%(asctime)s %(message)s') |
Bespiel:
import logging |
Ausgabe:
2015-06-25 23:24:01,153 Logging app started |