Eine einfache Sprache zum Programmieren in Python 3. Die Programmiersprache Python für Anfänger. Anweisungen zur Flusssteuerung - wenn, für, während

Vor ein paar Jahrzehnten schienen Programmierer eine Art Schamane zu sein, die wussten, was anderen nicht zur Verfügung stand. Manchmal lernten die Leute das Programmieren auf den Knien und schrieben Code auf ein Stück Papier, weil die "Konzentration von Computergeräten pro Kopf" extrem niedrig war. Jetzt ist es schwierig, eine Person zu finden, die keinen Desktop-Computer oder Laptop zu Hause hat. Auch Bildungstechnologien stehen nicht still.

Ein bisschen Geschichte

Die Programmiersprache Python wurde Ende der achtziger Jahre von Guido van Rossum entwickelt. Guido war damals Angestellter des niederländischen CWI-Instituts. Er schrieb diese Sprache in seiner Freizeit und brachte dort einige Ideen über die ABC-Sprache ein, zu der er beigetragen hat.

Die Sprache wurde nicht zu Ehren des Reptils benannt. Tatsächlich war die Idee für den Namen eine beliebte britische Comedy-Show der siebziger Jahre namens "Monty Python's Flying Circus", obwohl Python immer noch viel häufiger mit einer Schlange verglichen wird, als sogar das Emblem auf der offiziellen Website (es zeigt zwei Schlangen Köpfe) zeigt.

Nicht nur van Rossums Designintuition wird als Grund dafür genannt, warum die Programmiersprache Python so beliebt ist. Das Lernen von Grund auf wird durch das Vorhandensein einer freundlichen Benutzergemeinschaft zu einer angenehmen und einfachen Erfahrung.

Vor nicht allzu langer Zeit, im Jahr 2008, wurde die erste Version des lange getesteten Python 3000 (3.0) veröffentlicht, in der viele Architekturfehler beseitigt wurden. Gleichzeitig versuchten die Entwickler, die Kompatibilität mit früheren Versionen der Sprache aufrechtzuerhalten. Obwohl es eine neuere Version gibt, werden beide Zweige (2.x und 3.x) unterstützt.

Prägnante Programmiersprache

Python hat gegenüber anderen Sprachen eine Reihe von Vorteilen. Es ist fast intuitiv verständlich, hat eine "transparente" Syntax. Dadurch ist der Programmcode in dieser Sprache viel besser lesbar, was die Zeit nicht nur für das Schreiben, sondern auch für diverse Verbesserungen und Überprüfungen reduziert.

Natürlich wird der Programmierer der "alten Schule" sagen, dass Sie unbedingt mehrere Sprachen beherrschen müssen, oder Sie können sogar mit dem Erlernen von Maschinencode beginnen. Aber nach Abschluss eines Programmierkurses in der Sprache Python erhält eine Person nicht nur spezifisches Wissen, sondern auch die Möglichkeit, ihre kreative Natur zu verwirklichen, indem sie Anwendungen und Programme erstellt, die für sie selbst nützlich sind. Vielleicht ist Programmieren bald genauso notwendig wie Fremdsprachenkenntnisse.

Selbstzweifel

Es lohnt sich, das Missverständnis zu verwerfen, dass Programmieren schwierig ist. Nein, Programmieren ist viel interessanter als es aussieht; andere Tätigkeiten und der sogenannte "Zeitmangel" oder Faulheit können stören.

Grundlegende Literatur hilft Ihnen, das Programmieren in der Sprache Python schnell zu erlernen. Die Schulung sollte mit der Lektüre von zwei Büchern beginnen, aus denen Sie die Grundlagen lernen können. Das erste ist „Python Programming“ von Mark Lutz und das zweite „Python 3 Programming“ von Mark Summerfield. Lutz' Buch beschreibt ausführlich, manchmal sogar zu ausführlich, alle Grundprinzipien, auf denen die Sprache aufbaut. Manche raten, Mark Lutz nicht zum Mastern, sondern zum Vertiefen von Grundkenntnissen zu lesen. Summerfields Buch erklärt alles prägnanter, der Autor erschreckt den Leser nicht mit irgendwelchen Schwierigkeiten. Es gibt andere Literatur, aber diese Lehrbücher sind die nützlichsten und informativsten.

Einführungskurs

Denken wir zurück an die Grundschule. In der Regel kommt sogar ein Kind mit minimalem Wissen in die erste Klasse: Eltern haben mit jemandem studiert, jemand ist auf die "Null" gegangen. Gleiches gilt für das Erlernen der Programmiersprache Python. Es ist wirklich bequem und "transparent", aber ohne ein Mindestwissen über die Grundprinzipien der Programme wird das Training schwierig sein. Es ist, als würde man Musik lernen, ohne die Musik zu hören. Daher sollten sich diejenigen, die noch nie mit Programmieren in Berührung gekommen sind, mit dem "Einführungsminimum" vertraut machen.

Die CS50-Vorträge werden eine nützliche Hilfe sein. Dies ist ein Kurs der Harvard University über Java-Script-Programmierung, aber die ersten Vorlesungen erklären die Interaktion zwischen einem Computer und Programmen im Allgemeinen auf zugängliche und verständliche Weise. Ein russischsprachiger Benutzer hat Zugriff auf Videoaufzeichnungen dieses Kurses mit Übersetzung, zusätzliche Materialien, Textversionen von Vorlesungen und praktischen Aufgaben. Videos können fast überall gefunden werden, wie YouTube, aber der gesamte Inhalt befindet sich auf der Java-Script-Site.

Im Internet

Die Programmiersprache Python wird immer beliebter, daher gibt es seit langem mehrere Portale mit vielen Selbstlernmaterialien. Zum Beispiel „Python 3 für Anfänger“. Diese Seite hat viele Materialien für Anfänger, sie kann als Spickzettel verwendet werden. Auch zu diesem Thema gibt es auf der Website der Codecademy viele Informationen zum kostenlosen Zugriff.

Forumskommunikation ist wichtig. Alleine zu lernen ist immer schwieriger, also vernachlässigen Sie nicht verschiedene Gemeinschaften.

Bezahlte Kurse

Sie können immer kostenpflichtige Kurse nutzen, aber manchmal kostet es viel Geld und das Ergebnis kann unbefriedigend sein. Daher ist es natürlich ratsam, Kurse zu wählen, die eine kostenlose Einführungsaufgabe anbieten. Beispielsweise gibt es auf GeekBrains einen Intensivkurs zum Thema „Python Programming Fundamentals“. Der Kurs ist kostenlos und findet alle 10 Tage statt. Um sich zu registrieren, müssen Sie sich auf der Website anmelden.

Tipp: Welchen Kurs Sie auch wählen, machen Sie sich zuerst mit den Grundlagen der Sprache vertraut, damit Sie keine Zeit mit etwas verschwenden, das Sie sich leicht selbst aneignen können. Es reicht aus, die oben genannten Bücher zu lesen.

Wenn die Theorie gemeistert ist, will ich natürlich üben. Hier sind die Vorlesungen von Nick Parlante zu nennen. Sie sind auf Englisch, obwohl es im Allgemeinen viel gute pädagogische Literatur auf Englisch gibt, und das sollte nicht überraschen. In Vorlesungen vermittelt Nick nicht nur die Programmiersprache Python, sondern gibt auch hervorragende praktische Aufgaben.

Verwendungszweck

Die Programmiersprache Python wurde verwendet, um viele Anwendungen zu erstellen, die viele Menschen täglich verwenden. Dies ist beispielsweise die sechste Version des Torrent-Clients BitTorrent. Auch "Python" ("Pyton") wird im Bitmap-Grafikeditor Gimp verwendet. Damit werden zusätzliche Module, zum Beispiel Filter, erstellt. Ein Großteil von Civilization IV und Batterfield 2 sind in dieser Sprache geschrieben.

Python wird von Unternehmen wie Google, Facebook, Instagram, Dropbox, Pinterest verwendet. Es funktioniert auch im Kern der Yandex Disk-Anwendung. Etwa 10 % der Mitarbeiter des Unternehmens schreiben in Python, und viele Programmierer nennen es ihre Lieblingssprache.

Wie man anfängt

Kein Code kann „in der Luft“ funktionieren, auch die Programmiersprache Python gehorcht dieser Regel. Lernen von Grund auf, obwohl es mit der Theorie beginnt, kann man sagen, es beginnt mit der Installation einer Arbeitsumgebung auf einem Personal Computer. Wie kann man es machen? Es ist ganz einfach: Sie müssen dem Link der offiziellen Python-Website folgen, das Installationsprogramm herunterladen und ausführen und dann die von ihm vorgeschlagenen Schritte sorgfältig befolgen.

Bitte beachten Sie, dass Sie eine Datei herunterladen müssen, die für das auf Ihrem Computer installierte Betriebssystem geeignet ist!

Wenn die Installation erfolgreich war, öffnen Sie die Konsole (normalerweise geht dies mit der Tastenkombination „Strg + Alt + T“). Jetzt können Sie Ihr erstes Programm schreiben. Geben Sie beispielsweise „python3“ ein. Wenn die Konsole einen "Gruß" anzeigt, in dem die Version des Programms angegeben ist (z. B. 3.4.0), ist alles in Ordnung, wenn nicht, müssen Sie die dritte Version von "Python" mit dem Befehl installieren: "sudo apt-get install python3".
Dies ist jedoch nicht erforderlich. Sie können Code in jedem geeigneten Texteditor schreiben und ihn dann über die Konsole ausführen, oder Sie können die IDLE-Entwicklungsumgebung verwenden, die mit der Distribution geliefert wird.

IDLE starten. Es ist nur eine Codezeile erforderlich, um ein winziges Programm zu erstellen.

print("Hallo Welt!")

Geben Sie diesen Code in das IDLE-Fenster ein und drücken Sie die Eingabetaste. Die Umgebung reagiert sofort mit einer Aktion – sie zeigt den erforderlichen Text auf dem Bildschirm an. Das erste Programm ist fertig.

Programmierung in Python

Teil 1. Sprachmerkmale und grundlegende Syntax

Inhaltsserie:

Lohnt es sich, Python zu lernen?

Python ist eine der beliebtesten modernen Programmiersprachen. Sie eignet sich zur Lösung vielfältiger Aufgaben und bietet die gleichen Features wie andere Programmiersprachen: Dynamik, Unterstützung für OOP und plattformübergreifend. Die Python-Entwicklung wurde Mitte der 1990er Jahre von Guido Van Rossum begonnen, so dass es ihr inzwischen gelungen ist, die üblichen "Kinderkrankheiten" loszuwerden, die besten Aspekte der Sprache deutlich zu entwickeln und viele Programmierer anzuziehen, die Python verwenden, um ihre zu implementieren Projekte.

Viele Programmierer halten es für notwendig, nur „klassische“ Programmiersprachen wie Java oder C++ zu lernen, da andere Sprachen sowieso nicht in der Lage sein werden, die gleichen Fähigkeiten bereitzustellen. In letzter Zeit hat sich jedoch die Überzeugung durchgesetzt, dass es für einen Programmierer wünschenswert ist, mehr als eine Sprache zu beherrschen, da dies seinen Horizont erweitert, Aufgaben kreativer lösen und seine Wettbewerbsfähigkeit auf dem Arbeitsmarkt steigern kann.

Zwei Sprachen wie Java und C++ bis zur Perfektion zu lernen ist ziemlich schwierig und würde viel Zeit in Anspruch nehmen; Darüber hinaus widersprechen sich viele Aspekte dieser Sprachen. Gleichzeitig ist Python ideal für die Rolle einer Zweitsprache, da es aufgrund des bereits vorhandenen Wissens in OOP sofort assimiliert wird und seine Fähigkeiten nicht im Widerspruch zu den Erfahrungen stehen, die beim Arbeiten mit einer anderen Programmierung gesammelt wurden, sondern ergänzen Sprache.

Wenn ein Programmierer gerade erst im Bereich der Softwareentwicklung anfängt, dann ist Python eine ideale „Einstiegs“-Programmiersprache. Aufgrund seiner Prägnanz ermöglicht es Ihnen, die Syntax der Sprache schnell zu beherrschen, und das Fehlen eines „Erbes“ in Form von Axiomen, die sich im Laufe der Jahre gebildet haben, wird Ihnen helfen, OOP schnell zu beherrschen. Aufgrund dieser Faktoren wird die Lernkurve von Python ziemlich kurz sein und der Programmierer wird in der Lage sein, von Fallstudien zu kommerziellen Projekten überzugehen.

Unabhängig davon, ob der Leser dieses Artikels ein erfahrener Programmierer oder ein Anfänger auf dem Gebiet der Softwareentwicklung ist, sollte die Antwort auf die Frage, die den Titel dieses Abschnitts bildet, ein klares Ja sein.

Diese Artikelserie soll Ihnen dabei helfen, die Lernkurve erfolgreich zu bewältigen, indem sie konsistent Informationen von den grundlegendsten Prinzipien der Sprache bis zu ihren fortgeschrittenen Fähigkeiten in Bezug auf die Integration mit anderen Technologien bereitstellt. Im ersten Artikel werden wir über die Hauptfunktionen und die Syntax von Python sprechen. In Zukunft werden wir uns mit komplexeren Aspekten der Arbeit mit dieser beliebten Sprache befassen, insbesondere mit der objektorientierten Programmierung in Python.

Python-Architektur

Jede Programmier- oder Kommunikationssprache besteht aus mindestens zwei Teilen – Vokabular und Syntax. Die Python-Sprache ist auf die gleiche Weise organisiert und bietet eine Syntax zum Generieren von Ausdrücken, die ausführbare Programme bilden, sowie ein Wörterbuch, eine Reihe von Funktionen in Form einer Standardbibliothek und Plug-Ins.

Wie bereits erwähnt, ist die Syntax von Python recht prägnant, insbesondere im Vergleich zu Java oder C++. Das ist einerseits gut, denn je einfacher die Syntax ist, desto leichter ist sie zu lernen und desto weniger Fehler kann man bei der Anwendung machen. Solche Sprachen haben jedoch einen Nachteil - sie können zur Übermittlung einfachster Informationen verwendet werden und können keine komplexen Strukturen ausdrücken.

Dies gilt nicht für Python, da es sich um eine einfache, aber vereinfachte Sprache handelt. Tatsache ist, dass Python eine Sprache mit einem höheren Abstraktionsgrad ist, höher als beispielsweise Java und C ++, und es Ihnen ermöglicht, die gleiche Menge an Informationen in einer geringeren Menge an Quellcode zu übertragen.

Außerdem ist Python eine Allzwecksprache, sodass sie in nahezu jedem Bereich der Softwareentwicklung (Standalone, Client-Server, Webanwendungen) und in jedem Fachgebiet eingesetzt werden kann. Darüber hinaus lässt sich Python leicht in vorhandene Komponenten integrieren, was es ermöglicht, Python in bereits geschriebene Anwendungen einzubetten.

Ein weiterer Teil des Erfolgs von Python sind seine Erweiterungsmodule, sowohl standardmäßige als auch spezifische. Standard-Python-Erweiterungsmodule sind gut konzipierte und bewährte Funktionen zur Lösung von Problemen, die in jedem Softwareentwicklungsprojekt auftreten, Zeichenfolgen- und Textverarbeitung, Interaktion mit dem Betriebssystem, Unterstützung für Webanwendungen. Diese Module sind auch in Python geschrieben, daher haben sie ihre wichtigste Eigenschaft - plattformübergreifend, was es Ihnen ermöglicht, Projekte schnell und problemlos von einem Betriebssystem auf ein anderes zu übertragen.

Wenn die erforderliche Funktionalität nicht in der Python-Standardbibliothek enthalten war, können Sie Ihr eigenes Erweiterungsmodul für die spätere wiederholte Verwendung erstellen. An dieser Stelle sei angemerkt, dass Erweiterungsmodule für Python nicht nur in Python selbst, sondern auch mit anderen Programmiersprachen erstellt werden können. In diesem Fall wird es möglich, ressourcenintensive Aufgaben wie komplexe wissenschaftliche Berechnungen effizienter zu implementieren, aber der Vorteil der Cross-Plattform geht verloren, wenn die Sprache des Erweiterungsmoduls nicht selbst Cross-Plattform ist, wie Python.

Python-Laufzeit

Wie Sie wissen, sind alle plattformübergreifenden Programmiersprachen nach demselben Modell aufgebaut: Dies ist ein wirklich portabler Quellcode und eine Laufzeitumgebung, die nicht portabel und plattformspezifisch ist. Diese Laufzeit umfasst normalerweise einen Interpreter, der den Quellcode ausführt, und verschiedene Dienstprogramme, die zur Wartung der Anwendung erforderlich sind – einen Debugger, einen Reverse-Assembler usw.

Das Java Runtime Environment enthält zusätzlich einen Compiler, da der Quellcode in Bytecode für die Java Virtual Machine kompiliert werden muss. Die Python-Laufzeit enthält nur einen Interpreter, der auch ein Compiler ist, aber den Python-Quellcode direkt in den nativen Code der Zielplattform kompiliert.

Derzeit gibt es drei bekannte Laufzeitimplementierungen für Python: CPython, Jython und Python.NET. Wie der Name schon sagt, ist die erste Umgebung in C implementiert, die zweite in Java und die letzte in .NET.

Die CPython-Laufzeit wird normalerweise einfach als Python bezeichnet, und wenn Leute über Python sprechen, wird am häufigsten auf diese Implementierung Bezug genommen. Diese Implementierung besteht aus einem in C geschriebenen Interpreter und Erweiterungsmodulen und kann auf jeder Plattform verwendet werden, für die ein Standard-C-Compiler verfügbar ist.Darüber hinaus gibt es bereits kompilierte Versionen der Laufzeit für verschiedene Betriebssysteme, einschließlich verschiedener Versionen von OC Windows und verschiedene Distributionen linux. In diesem und den folgenden Artikeln wird CPython berücksichtigt, sofern nicht gesondert anders angegeben.

Die Jython-Laufzeitumgebung ist eine Python-Implementierung für die Arbeit mit der Java Virtual Machine (JVM). Jede Version der JVM wird unterstützt, beginnend mit Version 1.2.2 (die aktuelle Version von Java ist 1.6). Jython erfordert eine installierte Java-Maschine (Java-Laufzeitumgebung) und einige Kenntnisse der Programmiersprache Java. Sie müssen nicht wissen, wie man Java-Quellcode schreibt, aber Sie müssen mit JAR-Dateien und Java-Applets sowie mit der Dokumentation im JavaDOC-Format vertraut sein.

Welche Version der Umgebung gewählt wird, hängt allein von den Vorlieben des Programmierers ab, im Allgemeinen wird empfohlen, sowohl CPython als auch Jython auf dem Computer zu belassen, da sie sich nicht widersprechen, sondern ergänzen. Die CPython-Umgebung ist schneller, weil es keine Zwischenschicht in Form einer JVM gibt; Darüber hinaus werden aktualisierte Versionen von Python zunächst als CPython-Umgebung veröffentlicht. Jython kann jedoch jede Java-Klasse als Erweiterungsmodul verwenden und auf jeder Plattform laufen, für die eine JVM-Implementierung existiert.

Beide Laufzeiten werden unter einer mit der bekannten GPL kompatiblen Lizenz veröffentlicht, sodass sie zur Entwicklung sowohl kommerzieller als auch freier/freier Software verwendet werden können. Die meisten Erweiterungsmodule für Python sind ebenfalls unter der GPL-Lizenz veröffentlicht und können in jedem Projekt frei verwendet werden, aber es gibt auch kommerzielle Erweiterungen oder Erweiterungen mit strengeren Lizenzen. Wenn Sie Python in einem kommerziellen Projekt verwenden, müssen Sie sich daher darüber im Klaren sein, welche Einschränkungen in den Plug-in-Lizenzen der Erweiterung bestehen.

Erste Schritte mit Python

Bevor Sie mit der Verwendung von Python beginnen können, müssen Sie dessen Laufzeitumgebung installieren – in diesem Artikel ist es CPython und dementsprechend der Python-Interpreter. Es gibt verschiedene Installationsmethoden: Fortgeschrittene können Python selbst aus seinem öffentlichen Quellcode kompilieren, Sie können auch fertige ausführbare Dateien für ein bestimmtes Betriebssystem von der Website www.python.org herunterladen, und schließlich werden viele Linux-Distributionen mit einem Python-Interpreter bereits vorinstalliert. Dieser Artikel verwendet die Windows-Version von Python 2.x, aber die bereitgestellten Beispiele können auf jeder Version von Python ausgeführt werden.

Nachdem das Installationsprogramm die ausführbaren Python-Dateien im angegebenen Verzeichnis bereitgestellt hat, müssen Sie die Werte der folgenden Systemvariablen überprüfen:

  • WEG. Diese Variable muss den Pfad zu dem Verzeichnis enthalten, in dem Python installiert ist, damit das Betriebssystem es finden kann.
  • PYTHONHAUS. Diese Variable sollte nur den Pfad zu dem Verzeichnis enthalten, in dem Python installiert ist. Dieses Verzeichnis sollte auch ein lib-Unterverzeichnis enthalten, das nach Standard-Python-Modulen durchsucht wird.
  • PYTHONPFAD. Eine Variable mit einer Liste von Verzeichnissen, die Erweiterungsmodule enthalten, die mit Python verbunden werden (die Elemente der Liste müssen durch ein Systemtrennzeichen getrennt werden).
  • PYTHONSTARTUP . Eine optionale Variable, die den Pfad zu einem Python-Skript definiert, das jedes Mal ausgeführt werden soll, wenn eine interaktive Python-Interpretersitzung gestartet wird.

Die Kommandozeile für die Arbeit mit dem Interpreter hat folgenden Aufbau.

PYTHONHOME\python (Optionen) [ -c Befehl | Skriptdatei | - ] (Argumente)

Interaktiver Python-Modus

Wenn Sie den Interpreter starten, ohne einen Befehl oder eine Skriptdatei anzugeben, wird er im interaktiven Modus ausgeführt. In diesem Modus wird eine spezielle Python-Shell gestartet, in die Sie einzelne Befehle oder Ausdrücke eingeben können, deren Wert sofort berechnet wird. Dies ist beim Erlernen von Python sehr praktisch, da Sie sofort die Korrektheit einer bestimmten Konstruktion überprüfen können.

Der Wert des ausgewerteten Ausdrucks wird in einer speziellen Variablen namens Single Underscore (_) gespeichert, sodass er in nachfolgenden Ausdrücken verwendet werden kann. Sie können eine interaktive Sitzung beenden, indem Sie Strg-Z unter Windows oder Strg-D unter Linux drücken.

Optionen sind optionale Zeichenfolgenwerte, die das Verhalten des Interpreters während einer Sitzung ändern können; Ihre Bedeutung wird in diesem und den folgenden Artikeln erörtert. Auf die Optionen folgt entweder ein einzelner Befehl, den der Interpreter ausführen soll, oder der Pfad zu einer Datei, die ein auszuführendes Skript enthält. Es ist erwähnenswert, dass ein Befehl aus mehreren Ausdrücken bestehen kann, die durch Semikolons getrennt sind und in Anführungszeichen eingeschlossen werden müssen, damit das Betriebssystem ihn korrekt an den Interpreter weitergeben kann. Argumente sind jene Parameter, die zur weiteren Verarbeitung an das ausführbare Skript übergeben werden; sie werden dem Programm als Strings übergeben und durch Leerzeichen getrennt.

Sie können die folgenden Befehle ausführen, um zu überprüfen, ob Python ordnungsgemäß installiert ist und funktioniert:

c:\>python-v
c:\> python –c „Importzeit; Druckzeit.asctime()”

Die Option -v zeigt die Version der verwendeten Python-Implementierung an und wird beendet, während der zweite Befehl den Wert der Systemzeit auf dem Bildschirm ausgibt.

Sie können Python-Skripte in jedem Texteditor schreiben, da es sich um reine Textdateien handelt, aber es gibt spezielle Entwicklungsumgebungen, die für die Arbeit mit Python ausgelegt sind.

Grundlagen der Python-Syntax

Python-Quellcodeskripte bestehen aus sog logische Zeichenfolgen, die wiederum jeweils aus bestehen physische Saiten. Das #-Symbol wird verwendet, um Kommentare zu kennzeichnen. Kommentare und Leerzeilen werden vom Interpreter ignoriert.

Das Folgende ist ein sehr wichtiger Aspekt, der Programmierern, die Python als zweite Programmiersprache lernen, seltsam erscheinen mag. Der Punkt ist, dass es in Python kein Symbol gibt, das dafür zuständig ist, Ausdrücke im Quellcode voneinander zu trennen, wie beispielsweise ein Semikolon (;) in C++ oder Java. Mit dem Semikolon können Sie mehrere Anweisungen trennen, wenn sie sich auf derselben physischen Zeile befinden. Es gibt auch keine Konstruktion wie geschweifte Klammern (), mit denen Sie eine Gruppe von Anweisungen zu einem einzigen Block zusammenfassen können.

Physische Zeichenfolgen werden durch das Zeilenendezeichen selbst getrennt, aber wenn der Ausdruck zu lang für eine Zeichenfolge ist, können die beiden physischen Zeichenfolgen zu einer logischen kombiniert werden. Dazu müssen Sie am Ende der ersten Zeile einen Backslash (\) eingeben, und dann wird die nächste Zeile vom Interpreter als Fortsetzung der ersten interpretiert, andere Zeichen können dies jedoch nicht In der ersten Zeile nach dem \-Zeichen kann beispielsweise ein Kommentar mit # stehen. Einrückungen werden verwendet, um Codeblöcke hervorzuheben. Logische Zeilen mit der gleichen Einrückungsgröße bilden einen Block, und der Block endet, wenn eine logische Zeile mit einer kleineren Einrückung erscheint. Aus diesem Grund sollte die erste Zeile in einem Python-Skript nicht eingerückt werden. Wenn Sie diese einfachen Regeln beherrschen, können Sie die meisten Fehler vermeiden, die mit dem Erlernen einer neuen Sprache verbunden sind.

Weitere radikale Unterschiede zu anderen Programmiersprachen gibt es in der Syntax von Python nicht. Es gibt einen Standardsatz von Operatoren und Schlüsselwörtern, von denen die meisten Programmierern bereits vertraut sind, aber Python-spezifische werden in diesem und nachfolgenden Artikeln behandelt. Es werden auch die Standardregeln zum Setzen von Bezeichnern von Variablen, Methoden und Klassen verwendet – der Name muss auf jeden Fall mit einem Unterstrich oder einem lateinischen Zeichen beginnen und darf nicht @, $, % enthalten. Außerdem darf nicht nur ein Unterstrich als Bezeichner verwendet werden (siehe Fußnote zum interaktiven Modus).

In Python verwendete Datentypen

Die in Python verwendeten Datentypen sind auch die gleichen wie in anderen Sprachen - ganzzahlige und reelle Datentypen; zusätzlich wird ein komplexer Datentyp unterstützt - mit Real- und Imaginärteil (ein Beispiel für eine solche Zahl ist 1,5J oder 2j, wobei J die Quadratwurzel von -1 ist). Python unterstützt Strings, die in einfache, doppelte oder dreifache Anführungszeichen eingeschlossen werden können, während Strings, wie in Java, unveränderliche Objekte sind, d.h. können ihren Wert nach der Erstellung nicht ändern.

Es gibt auch einen logischen Bool-Datentyp in Python mit zwei Wertoptionen – True und False. Ältere Versionen von Python hatten diesen Datentyp jedoch nicht, und außerdem konnte jeder Datentyp in den booleschen Wert True oder False umgewandelt werden. Alle Nicht-Null-Zahlen und nicht-leeren Zeichenfolgen oder Datensammlungen wurden als True behandelt, während leere und Nullwerte als False behandelt wurden. Diese Funktion wurde in neuen Versionen von Python beibehalten, aber um die Lesbarkeit des Codes zu verbessern, wird empfohlen, den Typ bool für boolesche Variablen zu verwenden. Wenn Sie gleichzeitig die Abwärtskompatibilität mit älteren Implementierungen von Python aufrechterhalten müssen, sollten Sie 1 (Wahr) oder 0 (Falsch) als boolesche Variablen verwenden.

Funktionalität zum Arbeiten mit Datensätzen

Python definiert drei Arten von Sammlungen zum Speichern von Datensätzen:

  • Tupel;
  • Liste (Liste);
  • Wörterbuch.

Ein Tupel ist eine unveränderliche geordnete Folge von Daten. Es kann Elemente verschiedener Typen enthalten, wie z. B. andere Tupel. Ein Tupel wird in Klammern definiert, und seine Elemente werden durch Kommas getrennt. Mit der speziellen eingebauten Funktion tuple() können Sie Tupel aus einer gegebenen Datenfolge erstellen.

Eine Liste ist eine veränderliche geordnete Folge von Elementen. Die Elemente der Liste werden ebenfalls durch Kommas getrennt, sind aber bereits in eckige Klammern gesetzt. Die Funktion list() dient zum Erstellen von Listen.

Ein Wörterbuch ist eine Hash-Tabelle, die ein Element zusammen mit seiner Schlüsselkennung speichert. Der nachfolgende Zugriff auf Elemente erfolgt ebenfalls über den Schlüssel, sodass die Speichereinheit in einem Wörterbuch ein Schlüsselobjektpaar und ein zugehöriges Wertobjekt ist. Ein Wörterbuch ist eine veränderliche, aber nicht geordnete Sammlung, sodass sich die Reihenfolge der Elemente im Wörterbuch im Laufe der Zeit ändern kann. Das Wörterbuch wird in geschweiften Klammern angegeben, der Schlüssel wird durch einen Doppelpunkt vom Wert getrennt, und die Schlüssel/Wert-Paare selbst werden durch Kommas getrennt. Zum Erstellen von Wörterbüchern steht die Funktion dict() zur Verfügung.

Listing 1 zeigt Beispiele für die verschiedenen Sammlungen, die in Python verfügbar sind.

Auflistung 1. In Python verfügbare Sammlungstypen
('w','o','r','l','d') # Tupel aus fünf Elementen (2.62,) # Tupel aus einem Element [„test“, „me“] # Liste aus zwei Elementen # leere Liste ( 5:'a', 6:'b', 7:'c' ) # Wörterbuch mit 3 Elementen und int-Schlüsseln

Funktionen in Python definieren

Obwohl Python OOP unterstützt, sind viele seiner Features als separate Funktionen implementiert; Darüber hinaus werden Erweiterungsmodule meistens auch in Form einer Funktionsbibliothek erstellt. Funktionen werden auch in Klassen verwendet, wo sie traditionell als Methoden bezeichnet werden.

Die Syntax zum Definieren von Funktionen in Python ist extrem einfach; unter den oben genannten Voraussetzungen:

def FUNCTION_NAME(Parameter): Ausdruck Nr. 1 Ausdruck Nr. 2 ...

Wie Sie sehen können, müssen das Schlüsselwort def, der Doppelpunkt und die Einrückung verwendet werden. Der Aufruf einer Funktion ist ebenfalls sehr einfach:

FUNCTION_NAME (Parameter)

Es gibt nur ein paar Python-spezifische Dinge zu beachten. Wie in Java werden primitive Werte als Wert übergeben (eine Kopie des Parameters gelangt in die Funktion und kann den vor dem Aufruf der Funktion festgelegten Wert nicht ändern), und komplexe Objekttypen werden per Referenz übergeben (eine Referenz wird übergeben zur Funktion und es kann durchaus das Objekt verändern).

Parameter können entweder einfach nach Aufzählungsreihenfolge oder nach Namen übergeben werden, in diesem Fall müssen Sie beim Aufrufen nicht die Parameter angeben, für die es Standardwerte gibt, sondern nur obligatorische übergeben oder die Reihenfolge der Parameter beim Aufrufen ändern Funktion:

#eine Funktion, die eine ganzzahlige Division durchführt – mit dem Operator // def foo(delitel, delitel): return delime // delitel print divide(50,5) # result: 10 print divide(delitel=5, delitel=50) # result Werke: 10

Eine Funktion in Python muss einen Wert zurückgeben, entweder explizit durch Verwendung einer return-Anweisung, gefolgt vom Rückgabewert, oder, wenn keine return-Anweisung vorhanden ist, durch Rückgabe der Konstante None, wenn das Ende der Funktion erreicht ist. Wie Sie an den Beispielen für Funktionsdeklarationen sehen können, ist es in Python nicht erforderlich, anzugeben, ob etwas von einer Funktion zurückgegeben wird oder nicht. Wenn es jedoch eine return-Anweisung in der Funktion gibt, die einen Wert zurückgibt, dann andere return-Anweisungen Diese Funktion muss Werte zurückgeben, und wenn es einen solchen Wert no gibt, müssen Sie explizit return None schreiben.

Wenn die Funktion sehr einfach ist und aus einer Zeile besteht, dann kann sie gleich am Einsatzort definiert werden, in Python heißt eine solche Konstruktion Lambda-Funktion (Lambda). Eine Lambda-Funktion ist eine anonyme Funktion (ohne eigenen Namen), deren Hauptteil eine return-Anweisung ist, die den Wert eines Ausdrucks zurückgibt. Dieser Ansatz kann in manchen Situationen praktisch sein, aber es ist erwähnenswert, dass die Wiederverwendung solcher Funktionen unmöglich ist („wo Sie geboren wurden, war es praktisch“).

Es lohnt sich auch, Pythons Haltung gegenüber der Verwendung von Rekursion zu beschreiben. Standardmäßig ist die Rekursionstiefe auf 1000 Ebenen begrenzt, und wenn diese Ebene überschritten wird, wird eine Ausnahme ausgelöst und das Programm beendet. Diese Grenze kann jedoch bei Bedarf geändert werden.

Funktionen in Python haben andere interessante Features, wie Dokumentation oder die Möglichkeit, verschachtelte Funktionen zu definieren, aber diese werden in den folgenden Artikeln der Serie mit komplexeren Beispielen besprochen.

Ö Python(besser "Python" sagen, obwohl manche "Python" sagen) - das Thema dieser Studie, der Schöpfer dieser Programmiersprache, der Niederländer Guido van Rossum, sagt am besten:

"Python ist eine interpretierte, objektorientierte High-Level-Programmiersprache mit dynamischer Semantik. Eingebaute High-Level-Datenstrukturen, kombiniert mit dynamische Eingabe und Bindung machen die Sprache attraktiv für die schnelle Anwendungsentwicklung (RAD, Rapid Application Development). Darüber hinaus kann es als Skriptsprache zur Verknüpfung von Softwarekomponenten verwendet werden. Die Syntax von Python ist leicht zu erlernen und betont die Lesbarkeit des Codes, wodurch die Kosten für die Wartung von Softwareprodukten gesenkt werden. Python unterstützt Module und Pakete und fördert die Modularität und Wiederverwendung von Code. Der Python-Interpreter und die große Standardbibliothek sind kostenlos als Quell- und ausführbarer Code für alle wichtigen Plattformen erhältlich und können kostenlos weitergegeben werden."

Während des Studiums wird die Bedeutung dieser Definition aufgedeckt, aber jetzt reicht es zu wissen, dass Python eine universelle Programmiersprache ist. Es hat seine Vor- und Nachteile, sowie Einsatzgebiete. Python bringt eine umfangreiche Standardbibliothek für vielfältige Aufgaben mit. Hochwertige Bibliotheken für Python sind im Internet in verschiedenen Fachgebieten verfügbar: Textverarbeitungswerkzeuge und Internettechnologien, Bildverarbeitung, Werkzeuge zum Erstellen von Anwendungen, Datenbankzugriffsmechanismen, Pakete für wissenschaftliche Berechnungen, Bibliotheken zum Erstellen von GUIs usw. Darüber hinaus verfügt Python über ziemlich einfache Mittel zur Integration mit C, C++ (und Java), sowohl durch Einbetten des Interpreters in Programme in diesen Sprachen als auch umgekehrt durch die Verwendung von in diesen Sprachen geschriebenen Bibliotheken in Python-Programmen. Die Python-Sprache unterstützt mehrere Paradigmen Programmierung: Imperative (prozedurale, strukturelle, modulare Ansätze), objektorientierte und funktionale Programmierung.

Wir können davon ausgehen, dass Python eine ganze Technologie zum Erstellen von Softwareprodukten (und deren Prototypen) ist. Es ist auf fast allen modernen Plattformen (sowohl 32-Bit als auch 64-Bit) mit einem C-Compiler und auf der Java-Plattform verfügbar.

Es mag den Anschein haben, als gäbe es in der Softwareindustrie keinen Platz für etwas anderes als C/C++, Java, Visual Basic, C#. Dies ist jedoch nicht der Fall. Vielleicht findet Python dank dieser Vorlesungen und praktischen Übungen neue Anhänger, für die es zu einem unverzichtbaren Werkzeug wird.

Wie kann man Sprache beschreiben?

Es ist nicht die Absicht dieser Vorlesung, Python systematisch zu beschreiben: Dafür gibt es ein Original-Referenzhandbuch. Hier wird vorgeschlagen, die Sprache gleichzeitig in mehreren Aspekten zu betrachten, was durch eine Reihe von Beispielen erreicht wird, die es Ihnen ermöglichen, schneller in die reale Programmierung einzusteigen als bei einem streng akademischen Ansatz.

Es lohnt sich jedoch, auf die richtige Herangehensweise an die Beschreibung der Sprache zu achten. Die Erstellung eines Programms ist immer eine Kommunikation, bei der der Programmierer dem Computer die Informationen übermittelt, die dieser benötigt, um Aktionen auszuführen. Die Art und Weise, wie der Programmierer diese Aktionen versteht (dh die "Bedeutung"), kann aufgerufen werden Semantik. Das Mittel zur Vermittlung dieser Bedeutung ist Syntax Programmiersprache. Nun, was der Dolmetscher auf der Grundlage des Bestehens tut, wird normalerweise genannt Pragmatik. Beim Schreiben eines Programms ist es sehr wichtig, dass es in dieser Kette keine Fehler gibt.

Die Syntax ist ein vollständig formalisierter Teil: Sie kann in beschrieben werden formelle Sprache Syntaxdiagramme (was in den Referenzhandbüchern gemacht wird). Der Ausdruck der Pragmatik ist der Sprachdolmetscher selbst. Er liest die gemäß der Syntax geschriebene „Nachricht“ und setzt sie gemäß dem darin eingebetteten Algorithmus in Aktionen um. Lediglich die Semantik bleibt eine informelle Komponente. In der Übersetzung von Bedeutung in eine formale Beschreibung liegt die größte Komplexität der Programmierung. Die Syntax der Python-Sprache verfügt über leistungsstarke Funktionen, die helfen, das Verständnis des Programmierers für ein Problem näher an sein „Verständnis“ durch den Interpreter zu bringen. Die interne Struktur von Python wird in einer der Abschlussvorlesungen besprochen.

Geschichte der Python-Sprache

Python wurde 1991 von Guido van Rossum gestartet, als er an dem verteilten Betriebssystem Amoeba arbeitete. Er brauchte eine erweiterbare Sprache, die Systemaufrufe unterstützt. ABC und Modula-3 wurden zugrunde gelegt. Er wählte Python als Namen nach der BBC-Comedyserie Monty Python's Flying Circus und nicht nach dem Namen der Schlange. Seitdem hat sich Python mit der Unterstützung der Organisationen, für die Guido gearbeitet hat, weiterentwickelt. Die Sprache wird derzeit besonders aktiv verbessert, wenn nicht nur ein Team von Entwicklern, sondern eine ganze Gemeinschaft von Programmierern aus der ganzen Welt daran arbeitet. Und doch bleibt das letzte Wort über die Richtung der Sprachentwicklung bei Guido van Rossum.

Dieses Material ist für diejenigen gedacht, die bereits mit dem Programmieren vertraut sind und die Programmiersprache Python lernen möchten. Es soll Ihnen in 10 Minuten anhand von Beispielen die Funktionen der Python-Sprache, die Syntaxfunktionen und die Grundprinzipien der Arbeit mit Python zeigen. Hier gibt es kein „Wasser“ – Informationen, die nicht direkt mit der Programmiersprache zu tun haben. Lasst uns beginnen!

Die Programmiersprache Python zeichnet sich durch starke Typisierung aus (Strong Typing zeichnet sich dadurch aus, dass die Sprache das Mischen verschiedener Typen in Ausdrücken nicht zulässt und keine automatischen impliziten Konvertierungen durchführt, z. B. ist es unmöglich, eine Menge von einem String zu subtrahieren) , wird dynamische Typisierung verwendet - alle Typen werden bereits während der Programmausführung ermittelt.

Die Variablendeklaration ist optional, bei Namen wird zwischen Groß- und Kleinschreibung unterschieden (var und VAR sind zwei verschiedene Variablen).

Python ist eine objektorientierte Sprache, alles in der Sprache ist ein Objekt.

Hilfe erhalten

Hilfe (Hilfe) in Python ist immer direkt im Interpreter verfügbar. Wenn Sie wissen möchten, wie ein Objekt funktioniert, rufen Sie help( ). Eine weitere nützliche Anweisung ist dir() , die alle Methoden eines Objekts und die Eigenschaften von Objekten anzeigt .__doc__ , das Ihnen den Docstring zeigt:

>>> help(5) Hilfe zum int-Objekt: (etc etc) >>> dir(5) ["__abs__", "__add__", ...] >>> abs.__doc__ "abs(number) -> number Gibt den absoluten Wert des Arguments zurück."

Python-Syntax

Python hat keine Blockendekonstrukte (wie zum Beispiel eine Klassen- oder Funktionsdeklaration) – Blöcke werden durch Einrücken definiert. Erhöhen Sie den Einzug am Anfang des Blocks, verringern Sie ihn am Ende des Blocks. Anweisungen, die eine Einrückung erfordern, werden mit einem Doppelpunkt (:) abgeschlossen. Wenn Sie nach der Blockstartanweisung keinen Code haben, fügen Sie eine pass-Anweisung ein, um die Syntaxprüfung zu bestehen.

Während Rangelist == 1: pass

Einzeilige Kommentare beginnen mit einem Nummernzeichen (#), mehrzeilige Kommentare verwenden (""") am Anfang und am Ende des Kommentars.

Werte werden mit einem Gleichheitszeichen ("=") zugewiesen (tatsächlich werden Objekten dabei Namen zugewiesen).

Die Differenzprüfung wird mit zwei Gleichheitszeichen ("==") durchgeführt.

Sie können den Wert mit dem Operator += erhöhen und mit -= verringern, wobei Sie auf der linken Seite die Variable und auf der rechten Seite den Wert angeben, um den die Erhöhung / Verringerung erfolgen wird. Dies funktioniert mit vielen Datentypen in Python, einschließlich Zeichenfolgen.

Sie können mehreren Variablen in derselben Zeile einen Wert zuweisen. Beispiele:

>>> myvar = 3 >>> myvar += 2 >>> myvar 5 >>> myvar -= 1 >>> myvar 4 """Dies ist ein mehrzeiliger Kommentar. Die folgenden Zeilen verketten die beiden Strings.""" >>> mystring = "Hallo" >>> mystring += "world." >>> mystring drucken Hallo Welt. # Dadurch werden die Variablen in einer Zeile(!) vertauscht. # Es verstößt nicht gegen die starke Typisierung, weil Werte nicht # tatsächlich zugewiesen werden, sondern neue Objekte an # die alten Namen gebunden werden. >>> myvar, mystring = mystring, myvar

Datentypen in Python

In Python stehen Datentypen wie Listen (Listen), Tupel (Tupel) und Dictionaries (Wörterbücher) zur Verfügung. Sets sind auch verfügbar, wobei das Sets-Modul in Versionen vor Python 2.5 verwendet und in späteren Versionen in die Sprache integriert wird.

Listen ähneln eindimensionalen Arrays. Es ist möglich, eine Liste zu haben, die aus anderen Listen besteht.

Wörterbücher sind assoziative Arrays, in denen über Schlüssel auf Daten zugegriffen wird.

Tupel sind unveränderliche eindimensionale Arrays.

"Arrays" in Python können jeden Typs haben, was bedeutet, dass Sie Zahlen, Zeichenfolgen und andere Datentypen in Listen/Wörterbüchern/Tupeln kombinieren können.

Der Index des ersten Elements ist 0. Ein negativer Indexwert beginnt vom letzten zum ersten zu zählen, [-1] zeigt auf das letzte Element.

Variablen können auf Funktionen zeigen.

>>> sample = , ("a", "tuple")] >>> mylist = ["Element 1 auflisten", 2, 3.14] >>> mylist = "Element 1 erneut auflisten" # Wir ändern das Element >>> mylist[-1] = 3.21 # Hier verweisen wir auf den letzten Punkt >>> mydict = ("Key 1": "Value 1", 2: 3, "pi": 3.14) >>> mydict[ "pi"] = 3.15 # So ändern Sie Dictionary-Werte >>> mytuple = (1, 2, 3) >>> myfunction = len >>> print myfunction(mylist) 3

Sie können ein Array (Liste oder Tupel) mit einem Doppelpunkt (:) aufteilen. Wenn Sie den Anfangswert des Index leer lassen, werden Sie aufgefordert, beim ersten Wert zu beginnen, der leere Wert am Ende des Index nimmt das letzte Element des Arrays an. Negative Indizes werden vom Ende des Arrays rückwärts gezählt (-1 zeigt das letzte Element an).

Siehe Beispiele:

>>> mylist = ["Listeneintrag 1", 2, 3.14] >>> print mylist[:] ["Listeneintrag 1", 2, 3.1400000000000001] >>> print mylist ["Listeneintrag 1", 2] > >> print mylist[-3:-1] ["Listenelement 1", 2] >>> print mylist # Wenn man einen dritten Parameter hinzufügt, wird "step" einen Python-Schritt in # N Elementschritten statt 1 haben. # Z.B. , dies gibt das erste Element zurück, geht dann zum dritten und # gibt dieses zurück (also die Elemente 0 und 2 in 0-Indizierung). >>> print mylist[::2] ["Listeneintrag 1", 3.14]

Zeichenfolgen in Python

Ein Apostroph (‘) oder doppelte Anführungszeichen (doppeltes Anführungszeichen - “) können verwendet werden, um eine Zeichenfolge zu bezeichnen. Aus diesem Grund können Sie Anführungszeichen innerhalb einer Zeichenfolge haben, die mit Apostrophen gekennzeichnet ist (z. B. 'Er sagte "Hallo.'" ist eine gültige Zeichenfolge).

Mehrzeilige Zeichenfolgen werden mit einem dreifachen Apostroph oder Anführungszeichen (""") gekennzeichnet. Python unterstützt Unicode standardmäßig. Die zweite Version von Python verwendet jedoch das Zeichen (u), um eine Zeichenfolge zu bezeichnen, die Unicode enthält: u"This is a Unicode-String". Python3 alle Strings sind Unicode. Wenn Sie in Python3 eine Folge von Bytes wünschen, die in früheren Versionen im Wesentlichen ein String war, verwenden Sie das Zeichen (b): b"This is a byte string".

Der Operator (%) und ein Tupel werden verwendet, um Parameterwerte in einer Zeichenfolge zu ersetzen. Jedes %s wird von links nach rechts durch ein Element aus dem Tupel ersetzt. Sie können auch ein Wörterbuch verwenden, um benannte Parameter zu ersetzen:

>>>print "Name: %s\ Nummer: %s\ String: %s" % (myclass.name, 3, 3 * "-") Name: Poromenos Nummer: 3 String: --- strString = """ Dies ist ein mehrzeiliger String.""" # WARNUNG: Achten Sie auf das nachgestellte s in "%(key)s". >>> print "Dieses %(Verb) ist ein %(Substantiv)s." % ("Substantiv": "Test", "Verb": "ist") Dies ist ein Test.

Anweisungen zur Flusssteuerung - wenn, für, während

Die Anweisungen if , for und while steuern die Reihenfolge, in der das Programm ausgeführt wird. Es gibt keinen Schalter oder Fall in Python, wenn stattdessen verwendet wird. For wird verwendet, um die Elemente einer Liste (oder eines Tupels) zu durchlaufen. Um eine Zahlenfolge zu erhalten, verwenden Sie range( ) . Break wird verwendet, um die Ausführung der Schleife zu unterbrechen.

Die Syntax für dieses Konstrukt lautet:

Rangelist = range(10) >>> Rangelist für Zahl in Rangelist drucken: # Prüfe, ob Zahl eine der # Zahlen im Tupel ist. if number in (3, 4, 7, 9): # "Break" beendet ein for, ohne # die "else"-Klausel auszuführen. break else: # "Continue" startet die nächste Iteration # der Schleife. Es ist hier ziemlich nutzlos, # da es die letzte Anweisung der Schleife ist. Continue else: # Die "else"-Klausel ist optional und wird # nur ausgeführt, wenn die Schleife nicht "unterbrochen" wurde. pass # Do nothing if rangelist == 2: print "The second item (lists are 0-based) is 2 " elif rangelist == 3: print "Das zweite Element (Listen sind 0-basiert) ist 3" else: print "Dunno" while rangelist == 1: pass

Funktionen in Python

Funktionen werden mit dem Schlüsselwort „def“ deklariert. Optionale Argumente folgen den obligatorischen Argumenten in der Funktionsdeklaration und ihnen wird ein Standardwert zugewiesen. Wenn Sie eine Funktion aufrufen, können Sie Argumente übergeben, indem Sie ihren Namen und Wert angeben, während Sie einige der optionalen Argumente überspringen oder sie in einer anderen Reihenfolge als der in der Funktion deklarierten platzieren.

Funktionen können ein Tupel zurückgeben, und mit dem Entpacken von Tupeln können Sie mehrere Werte zurückgeben.

Lambda-Funktionen sind spezielle Funktionen, die ein einzelnes Argument verarbeiten.

Parameter werden über einen Link übergeben. Durch Hinzufügen von Elementen zur übergebenen Liste erhalten Sie eine aktualisierte Liste außerhalb der Funktion. In diesem Fall bleibt die Zuweisung eines neuen Werts zu Parametern innerhalb der Funktion eine lokale Aktion. Da nur der Speicherort übergeben wird, führt die Zuweisung eines neuen Objekts zu einem Parameter als Variable dazu, dass ein neues Objekt erstellt wird.

Codebeispiele:

# Gleich wie def funcvar(x): return x + 1 funcvar = lambda x: x + 1 >>> print funcvar(1) 2 # an_int und a_string sind optional, sie haben Standardwerte # wenn einer nicht übergeben wird ( 2 bzw. "Ein Standard-String"). def passing_example(a_list, an_int=2, a_string="A default string"): a_list.append("A new item") an_int = 4 return a_list, an_int, a_string >>> my_list = >>> my_int = 10 >> > print passing_example(my_list, my_int) (, 4, "A default string") >>> my_list >>> my_int 10

Python-Klassen

Python unterstützt eine eingeschränkte Form der Mehrfachvererbung in Klassen.

Private Variablen und Methoden können (konventionell, wird vom Interpreter nicht überprüft) mit zwei Unterstrichen am Anfang und höchstens einem am Ende des Namens deklariert werden (zB: "__spam").

Wir können Klasseninstanzen auch beliebige Namen zuweisen. Beispiele ansehen:

Class MyClass(object): common = 10 def __init__(self): self.myvariable = 3 def myfunction(self, arg1, arg2): return self.myvariable # Dies ist die Instanziierung der Klasse >>> classinstance = MyClass() >> > classinstance.myfunction(1, 2) 3 # Diese Variable wird von allen Klassen geteilt. >>> classinstance2 = MyClass() >>> classinstance.common 10 >>> classinstance2.common 10 # Beachten Sie, wie wir den Klassennamen # anstelle der Instanz verwenden. >>> MyClass.common = 30 >>> classinstance.common 30 >>> classinstance2.common 30 # Dadurch wird die Variable in der Klasse nicht aktualisiert, # stattdessen wird ein neues Objekt an den alten # Variablennamen gebunden. >>> classinstance.common = 10 >>> classinstance.common 10 >>> classinstance2.common 30 >>> MyClass.common = 50 # Das hat sich nicht geändert, weil "common" jetzt # eine Instanzvariable ist. >>> classinstance.common 10 >>> classinstance2.common 50 # Diese Klasse erbt von MyClass. Die obige Beispielklasse # erbt von "object", was # sie zu einer sogenannten "Klasse neuen Stils" macht. # Mehrfachvererbung wird wie folgt deklariert: # class OtherClass(MyClass1, MyClass2, MyClassN) class OtherClass(MyClass): # Das "self"-Argument wird automatisch # übergeben und bezieht sich auf die Klasseninstanz, Sie können also # Instanzvariablen wie oben setzen, aber innerhalb der class.def __init__(self, arg1): self.myvariable = 3 print arg1 >> > classinstance = OtherClass("hello") hallo >>> classinstance.myfunction(1, 2) 3 # Diese Klasse hat kein .test-Member, aber # wir können der Instanz trotzdem eines hinzufügen. Beachten Sie #, dass dies nur ein Mitglied von classinstance sein wird. >>> classinstance.test = 10 >>> classinstance.test 10

Ausnahmen in Python

Ausnahmen in Python werden in Try-Exception-Blöcken behandelt:

Def some_function(): try: # Division durch Null löst eine Ausnahme aus 10 / 0 außer ZeroDivisionError: print "Oops, invalid." sonst: # Ausnahme ist nicht aufgetreten, wir sind gut. pass final: # Dies wird ausgeführt, nachdem der Codeblock ausgeführt wurde # und alle Ausnahmen behandelt wurden, auch # wenn während der Behandlung eine neue Ausnahme ausgelöst wird. print "Damit sind wir fertig." >>> some_function() Hoppla, ungültig. Damit sind wir fertig.

Importieren von Modulen in Python

Externe Bibliotheken werden nach dem Import mit dem Schlüsselwort import verwendet. Sie können from import auch verwenden, um einzelne Funktionen zu importieren.

Importieren Sie zufällig von Zeit Importuhr randomint = random.randint(1, 100) >>> print randomint 64

Arbeiten mit Dateien in Python

Python verfügt über eine große Anzahl von Bibliotheken zum Arbeiten mit Dateien. Zum Beispiel Serialisierung (Konvertieren von Daten in Strings mit der Pickle-Bibliothek):

Import pickle mylist = ["This", "is", 4, 13327] # Öffnen Sie die Datei C:\\binary.dat zum Schreiben. Der Buchstabe r vor der Zeichenkette # filename wird verwendet, um zu verhindern, dass ein Backslash maskiert wird. myfile = open(r"C:\\binary.dat", "w") pickle.dump(mylist, myfile) myfile.close() myfile = open(r"C:\\text.txt", "w" ) myfile.write("Dies ist ein Beispielstring") myfile.close() myfile = open(r"C:\\text.txt") >>> print myfile.read() "Dies ist ein Beispielstring" myfile .close() # Datei zum Lesen öffnen. myfile = open(r"C:\\binary.dat") loadlist = pickle.load(myfile) myfile.close() >>> print selectedlist ["This", "is", 4, 13327]

Sonstig

  • Bedingungen können zusammenhalten, zum Beispiel 1< a < 3 проверит, что a одновременно меньше 3 и больше 1.
  • Sie können del verwenden, um Variablen oder Elemente in Arrays zu entfernen.
  • Listen bieten sehr leistungsfähige Datenbearbeitungsfunktionen. Sie können einen Ausdruck mit for gefolgt von if- oder for-Anweisungen erstellen:
>>> lst1 = >>> lst2 = >>> print >>> print # Prüfen, ob eine Bedingung für irgendeinen Artikel wahr ist. # "any" gibt true zurück, wenn irgendein Element in der Liste wahr ist. >>> any(]) True # Das liegt daran, dass 4 % 3 = 1 ist und 1 wahr ist, also gibt any() # True zurück. # Überprüfen Sie, für wie viele Elemente eine Bedingung wahr ist. >>> sum(1 for i in if i == 4) 2 >>> del lst1 >>> print lst1 >>> del lst1
  • Globale Variablen werden außerhalb von Funktionen deklariert und können ohne spezielle Deklarationen im Inneren gelesen werden, aber wenn Sie sie ausschreiben möchten, müssen Sie sie am Anfang der Funktion mit dem speziellen Schlüsselwort "global" deklarieren, sonst weist Python einen neuen Wert zu auf die lokale Variable:
number = 5 def myfunc(): # Dies wird 5 drucken. print number def anotherfunc(): # Dies löst eine Ausnahme aus, da die Variable # vor dem Drucken nicht gebunden wurde. Python weiß, dass später ein #-Objekt daran gebunden wird und erstellt ein neues, lokales #-Objekt, anstatt auf das globale zuzugreifen. print number number = 3 def yetanotherfunc(): global number # Dadurch wird die globale korrekt geändert. Zahl = 3

So lernen Sie die Programmiersprache Python

Dieses Material erhebt nicht den Anspruch, eine umfassende Anleitung zu Python zu sein. Die Programmiersprache Python verfügt über eine Vielzahl von Bibliotheken und verschiedene Funktionalitäten, die Sie kennenlernen werden, wenn Sie sich weiter mit der Sprache beschäftigen und zusätzliche Quellen studieren.

Wenn Ihnen die obigen Informationen nicht ausreichen - sehen Sie sich das erweiterte Material an, das die Programmiersprache Python beschreibt - - es enthält detailliertere Informationen über die Sprache.

Unter anderem empfehle ich Learn Python The Hard Way. Und natürlich The Python 2 Tutorial und The Python 3 Tutorial .

Vielen Dank an Stavros Korokithakis für sein hervorragendes Tutorial „Learn Python in 10 minutes“.

Wenn Sie etwas an diesem Material verbessern möchten, schreiben Sie es bitte in die Kommentare.

Sprachsyntax Pythonähnelt in vielerlei Hinsicht der Syntax von Sprachen wie Perl, C und Java, weist aber gleichzeitig eine Reihe von Unterschieden zu diesen Programmiersprachen auf. In diesem Artikel werden wir uns das Notwendige ansehen Grundlagen diese Programmiersprache.

Erstes Python-Programm:

Zunächst ist darauf hinzuweisen, dass auf Python Sie können in zwei Modi programmieren: interaktiv und geschrieben

Interaktiver Programmiermodus:

Ohne einen Dateinamen als Argument zu übergeben, wird es ausgeführt Python-Interpreter:

Geben Sie nach der Eingabeaufforderungszeile den folgenden Text ein Python und drücken Sie die Eingabetaste:

>>> print "Hallo, Python!"

Wenn Sie alles richtig gemacht haben, gibt der Interpreter die Zeile aus:

Wenn Sie eine Fehlermeldung erhalten, vergewissern Sie sich, dass Sie den Code korrekt umgeschrieben haben und dass Sie den 2.x-Interpreter verwenden (für Version 3.x sollten Sie den Befehl print ("Hello, Python") verwenden)

Skript-Programmiermodus:

In der Python-Befehlszeile ausführen mit dem Namen der Datei (auch Skript genannt) als Parameter, startet die Ausführung des in dieser Datei geschriebenen Codes. Nach Abschluss der Skriptausführung ist der Interpreter wieder inaktiv.

Erstellen wir ein einfaches Skriptprogramm in Python. Öffnen Sie einen beliebigen Texteditor (Sublime, Notepad++, gedit...), erstellen Sie darin eine Datei mit dem Namen test und der Erweiterung .py (alle Dateien, die Code in .py enthalten). Python muss eine Verlängerung haben .py) und schreiben den uns bereits bekannten Code in diese Datei und speichern die Datei:

"Hallo, Python!" drucken

(Es wird angenommen dass Python-Interpreter Sie haben es in der PATH-Variablen festgelegt, d.h. Sie können in jedem Verzeichnis python eingeben, um den Interpreter zu starten)

Geben Sie danach an der Eingabeaufforderung die folgende Zeile ein und drücken Sie die Eingabetaste:

Bezeichner in Python:

Bezeichner in Python sind Namen, die verwendet werden, um auf eine Variable, Funktion, Klasse, ein Modul oder ein anderes Objekt zu verweisen. Der Bezeichner muss mit einem Buchstaben (a bis Z) oder einem Unterstrich (_) beginnen, gefolgt von einer beliebigen Anzahl von Buchstaben, Unterstrichen und Zahlen (0 bis 9).

BEIM Python Satzzeichen oder Sonderzeichen wie @, $ oder % sind als Bezeichner nicht erlaubt. Außerdem, Python case sensitive, das heißt Katze und Katze das sind zwei verschiedene namen.

Python hat die folgende Konvention für die Benennung von Bezeichnern:

  • Klassennamen beginnen mit einem Großbuchstaben, alle anderen Bezeichner beginnen mit einem Kleinbuchstaben.
  • Die Verwendung eines Unterstrichs als erstes Zeichen eines Bezeichners bedeutet, dass der angegebene Bezeichner privat ist (vor Verwendung außerhalb der Klasse geschützt).
  • Wenn ein Bezeichner mit zwei Unterstrichen beginnt und endet (z. B. __init__), bedeutet dies, dass es sich um einen speziellen Namen handelt, der innerhalb der Sprache definiert ist.

Reservierte (Schlüsselwort-)Wörter in Python:

Diese Tabelle enthält alle Python-Schlüsselwörter.

und elf Wenn drucken
als anders importieren erziehen
behaupten außer in Rückkehr
brechen Exekutive ist Versuchen
Klasse schließlich Lambda während
fortsetzen zum nicht welche
def aus oder Ertrag
lösch global passieren

Diese reservierten Wörter können nicht als Variablenname oder andere Kennung verwendet werden. Alles Python-Schlüsselwörter bestehen nur aus Kleinbuchstaben. Es ist möglich, mit dem Befehl eine Liste von Schlüsselwörtern im Interpreter zu erhalten

Hilfe ("Schlüsselwörter")

Zeilen und Einzüge:

Eines der ersten Features Python Was Programmierern auffällt, die mit dem Erlernen dieser Programmiersprache beginnen, ist, dass sie keine Klammern verwendet, um einzelne Codeblöcke zu kennzeichnen. Statt sie rein Python Doppelpunkte und Einrückungen werden verwendet.

Die Anzahl der Leerzeichen in den Einzügen ist beliebig und wird von jedem nach eigenem Ermessen gewählt, beträgt jedoch nach Vereinbarung vier Leerzeichen. In diesem Fall sollte die Einrückung des gesamten Blocks gleich sein.

Zum Beispiel funktioniert dieser Codeblock (obwohl Sie ihn nicht so schreiben sollten):

Wenn wahr: "Hi" ausgeben, sonst: "Tschüss" ausgeben

Dieser wird einen Fehler auslösen:

Wenn wahr: "Hallo" drucken, "Tschüss" drucken

Also hinein Python Mehrere Codezeilen mit derselben Einrückung bilden einen separaten Codeblock. Dank eines solchen Systems wird die Lesbarkeit des Codes stark erhöht und die Schreibgewohnheit ist klar und strukturiert.

Mehrzeilige Ausdrücke:

Ausdrücke in Python normalerweise mit einem Zeilenumbruch enden. In dieser Programmiersprache gibt es jedoch ein spezielles Zeilenumbruchzeichen (\), das anzeigt, dass der Code nicht mit dem Zeilenende endet. Zum Beispiel:

Gesamt = Artikel1 + \Artikel2 + \Artikel3

Ausdrücke, die in eckigen Klammern (()), geschweiften Klammern (( )) oder runden Klammern (()) stehen, benötigen keinen Zeilenumbruch. Zum Beispiel:

Tage = ["Sonntag", "Montag", "Dienstag", "Mittwoch", "Donnerstag", "Freitag", "Samstag"]

Zitate in Python:

BEIM Python Sie können einfache ("), doppelte ("") und dreifache (""" oder "") Anführungszeichen verwenden, um einen String-Datentyp zu kennzeichnen, und der String muss mit denselben Anführungszeichen beginnen und enden. Eine Zeichenfolge, die sich über mehrere Codezeilen erstreckt, muss in dreifache Anführungszeichen gesetzt werden. Zum Beispiel:

Name = "wasd" description = "Some text" biography = """ Etwas langer Text für wenige Codezeilen """

Habe Fragen?

Tippfehler melden

Text, der an unsere Redaktion gesendet werden soll: