Heim  >  Artikel  >  Backend-Entwicklung  >  11 Wissenspunkte für den Einstieg in Python

11 Wissenspunkte für den Einstieg in Python

小云云
小云云Original
2018-03-29 13:29:191401Durchsuche

Python gilt als die effizienteste Programmiersprache der Welt und wird auch als „Klebesprache“ bezeichnet. Warum ist sie so beliebt? Es ist so beliebt, dass dieser Artikel Ihnen hauptsächlich 11 Wissenspunkte für den Einstieg in Python vermittelt, in der Hoffnung, allen zu helfen.

Einführung in Python

Python ist eine High-Level-Skriptsprache, die Interpretation, Kompilierung, Interaktivität und Objektorientierung kombiniert.

Python ist im Vergleich zu anderen Sprachen so konzipiert, dass es häufig englische Schlüsselwörter und einige Satzzeichen verwendet. Es hat eine ausgeprägtere grammatikalische Struktur als andere Sprachen.

Python ist eine interpretierte Sprache: Das bedeutet, dass es im Entwicklungsprozess keinen Kompilierungsschritt gibt. Ähnlich wie die Sprachen PHP und Perl.

Python ist eine interaktive Sprache: Das bedeutet, dass Sie Ihr Programm direkt und interaktiv an einer Python-Eingabeaufforderung schreiben können.

Python ist eine objektorientierte Sprache: Das bedeutet, dass Python objektorientierte Stile oder Programmiertechniken unterstützt, bei denen Code in Objekten gekapselt wird.

Python ist eine Sprache für Anfänger: Python ist eine großartige Sprache für Programmieranfänger und unterstützt ein breites Spektrum an Anwendungsentwicklungen, von einfacher Textverarbeitung über WWW-Browser bis hin zu Spielen.

Geschichte der Python-Entwicklung

Python wurde von Guido van Rossum in den späten 1980er und frühen 1990er Jahren am National Institute of Mathematics and Computer Science in entwickelt Niederlande entworfen.
Python selbst wurde aus vielen anderen Sprachen entwickelt, darunter ABC, Modula-3, C, C++, Algol-68, SmallTalk, Unix-Shell und anderen Skriptsprachen usw.
Wie die Perl-Sprache unterliegt auch der Python-Quellcode der GPL-Vereinbarung (GNU General Public License).
Python wird jetzt von einem Kernentwicklungsteam gepflegt, wobei Guido van Rossum immer noch eine wichtige Rolle bei der Steuerung des Fortschritts spielt.

Python-Funktionen

1. Leicht zu erlernen: Python hat relativ wenige Schlüsselwörter, eine einfache Struktur und eine klar definierte Syntax, was es einfacher macht lernen. Einfach.

2. Leicht lesbar: Python-Code ist klarer definiert.

3. Einfach zu warten: Der Erfolg von Python liegt darin, dass sein Quellcode recht einfach zu warten ist.

4. Eine umfangreiche Standardbibliothek: Einer der größten Vorteile von Python ist seine umfangreiche Bibliothek, die plattformübergreifend und mit UNIX, Windows und Macintosh kompatibel ist.

5. Interaktiver Modus: Der interaktive Modus wird unterstützt. Sie können die Sprache eingeben, um den Code vom Terminal aus auszuführen und die Ergebnisse sowie interaktive Tests und Debugging-Codeausschnitte zu erhalten.

6. Portabel: Aufgrund seiner Open-Source-Natur wurde Python auf viele Plattformen portiert (d. h. funktionsfähig gemacht).

7. Erweiterbar: Wenn Sie einen wichtigen Teil des Codes benötigen, der sehr schnell läuft, oder einige Algorithmen schreiben möchten, die Sie nicht öffnen möchten, können Sie diesen Teil mit C oder C++ vervollständigen das Programm, und starten Sie es dann von Ihrem im Programm aufgerufenen Python aus.

8. Datenbank: Python bietet Schnittstellen zu allen wichtigen kommerziellen Datenbanken.

9.GUI-Programmierung: Python unterstützt GUI, die erstellt und auf viele Systemaufrufe portiert werden kann.

10. Einbettbar: Sie können Python in ein C/C++-Programm einbetten, sodass Benutzer Ihres Programms „Skripting“-Funktionen erhalten.

1. Für welche Anwendungsszenarien ist Python geeignet?

Es gibt keine eindeutige Antwort darauf. Viele Leute sagen, dass Python nicht für die Entwicklung von GUI-Programmen geeignet ist, aber Pythons eigene IDE – IDEL und Drittanbieter-IDE – Eric wurden in Python geschrieben.

Derzeit sehe ich mehr Leute, die für das Web schreiben und Frameworks wie Django und web.py verwenden, und ja, auch Flask.
Es gibt auch eine Situation, in der Python in Kombination mit verschiedenen Sprachen verwendet wird, um bestimmte Softwarefunktionen gemeinsam auszuführen. Achten Sie darauf, dass Python bei der Installation einiger Software verwendet wird.

Ich persönlich habe Python verwendet, um Portweiterleitung und DNS-Dienste usw. zu simulieren, es kommt also wirklich darauf an, wie es funktioniert, nicht darauf, wie es verwendet werden kann.

Darüber hinaus eignet sich Python auch besser für die Analyse großer Datenmengen. Vom Laden über die Analyse bis zum Speichern der Ergebnisse verfügt Python über einen vollständigen Satz von Modulen, um damit umzugehen.

2. Ist Python für Big Data geeignet?

Python eignet sich sehr gut für Big-Data-Analysen. Das integrierte C-kompilierte Modul kann gängige Operationen verarbeiten. Für einige extreme Algorithmen wird empfohlen, die relevanten Module in C neu zu schreiben.

Die Merkmale von Python selbst sind eine effizientere Entwicklung und eine einfache Wartung. Überlassen Sie die Geschwindigkeit C. Tatsächlich entstehen mehr Probleme durch die Leute, die den Code nicht besser verwenden, als durch unzureichende Effizienz. Zum Beispiel verfügt Python ursprünglich über ein sehr effizientes integriertes C-kompiliertes Modul, aber es muss den Algorithmus selbst schreiben. Es ist seltsam, dass das Ergebnis nicht langsam ist.

Es hängt auch davon ab, ob die Anforderung CPU-intensiv oder IO-intensiv ist. Wenn es CPU-intensiv ist, wird empfohlen, diesen Teil des Vorgangs in C zu implementieren. Die Effizienz von IO-intensiven Vorgängen wird sich wegen Python nicht viel ändern.

C ist hocheffizient, aber es ist auch schwierig, ein Framework zu erstellen, daher ist es besser, es zu kombinieren. Aus diesem Grund wird Python als Leimsprache bezeichnet.

3. Kann Python Shell vollständig ersetzen?

Python kann auf jeden Fall alle Funktionen von Shell realisieren, mit weniger Code, besserer Struktur und besserer Lesbarkeit. Die Funktionen, die Python realisieren kann, wie sie beispielsweise in Betrieb und Wartung verwendet werden, sind jedoch möglicherweise nicht möglich Modul für die Netzwerkkommunikation, das Django-Framework für WEB, das psutil-Modul für die Leistungserfassung usw. und Shell weist eine starke Abhängigkeit von Betriebssystembefehlen auf, die Python in größerem Maße vermeiden kann.

Die Verwendung einer Shell-IDE ist ein großes Problem. Obwohl die native IDE von Python nicht sehr gut ist, sind IDEs von Drittanbietern immer noch sehr leistungsfähig Entwicklungsanforderungen von Python.

Lassen Sie uns über die Effizienz von Python sprechen. Python unterstützt Multiprozesse, Multithreads und Coroutinen (eine Ebene kleiner als Threads) und die Programmparallelität ist höher als die von Shell. Die Kernmodule von Python sind grundsätzlich in C implementiert und daher effizienter. Bei Bedarf können die Python-Module, die in Python implementiert werden müssen, in C umgeschrieben werden, um die Effizienz zu verbessern. Natürlich können Sie auch direkt C Python verwenden, einen Python-Interpreter, der direkt vollständig in C implementiert ist.

4. Kann Python auf gängige Datenbanken zugreifen?

Ja, Python kann auf verschiedene gängige Datenbanken wie Oracle, MySQL, Vertica, SQLServer usw. zugreifen. Laden Sie einfach das entsprechende Modul:
Oracle: cx_Oracle
MySQL: MySQLdb

5. Ist die Python-Entwicklung auf Prozeduren, Funktionen oder Objekte ausgerichtet?

Obwohl Python eine interpretierte Sprache ist, war es von Anfang an eine objektorientierte Sprache. Für Python ist alles ein Objekt. Aus diesem Grund ist es sehr einfach, eine Klasse und ein Objekt in Python zu erstellen. Wenn Sie an prozessorientiertes oder funktionsorientiertes Schreiben gewöhnt sind, ist dies natürlich auch nicht möglich.

Die objektorientierten Funktionen von Python sind wie folgt:

Kapselung

Der Begriff Objekt im Objekt -orientierte Programmierung (Objekt) kann grundsätzlich als eine Sammlung von Daten (Eigenschaften) und eine Reihe von Methoden betrachtet werden, die auf diese Daten zugreifen und diese verarbeiten können. Im traditionellen Sinne wird „Programm = Datenstruktur + Algorithmus“ gekapselt, „verdeckt“ und vereinfacht zu „Programm = Objekt + Nachricht“. Objekte sind Instanzen von Klassen, und die Abstraktion von Klassen muss gekapselt werden. Durch die Kapselung kann der Aufrufer das Objekt direkt verwenden, ohne sich um die Konstruktion des Objekts kümmern zu müssen.

Vererbung

Klassenvererbung:

Vererbung gibt den Menschen das direkte Gefühl, dass es sich hierbei um ein Verhalten bei der Wiederverwendung von Code handelt. Unter Vererbung kann die Einrichtung eines speziellen Klassenobjekts basierend auf einer gewöhnlichen Klasse verstanden werden. Die Unterklasse hat eine IS-A-Beziehung mit der übergeordneten Klasse, die sie erbt.

Mehrfachvererbung:

Im Gegensatz zu C# unterstützt Python die Mehrfachklassenvererbung (C# kann von mehreren Schnittstellen erben, jedoch höchstens von einer Klasse). Der Mehrfachvererbungsmechanismus ist manchmal nützlich, kann die Dinge jedoch leicht komplizieren.

Polymorphismus

Polymorphismus bedeutet, dass dieselben Operationen auf verschiedene Objekte angewendet werden können, sie jedoch in unterschiedlichen Formen auftreten können. In Python wird Polymorphismus immer dann verwendet, wenn Sie nicht wissen, um welchen Typ es sich bei einem Objekt handelt, Sie das Objekt aber für eine bestimmte Aufgabe benötigen. Methoden sind polymorph, ebenso wie Operatoren.

6. Wie beherrscht man Python schnell?

Das Lesen der offiziellen Dokumente kann Ihren täglichen Bedarf decken. Die offiziellen Dokumente sind ins Chinesische übersetzt, was das Lernen erleichtert. Das Wichtigste beim Erlernen von Python ist jedoch, dass eine schnelle und effiziente Entwicklung auf den Schultern der Vorgänger beruht.

Aber das Wichtigste beim Erlernen von Python ist das Erlernen von Modulen, nicht die Grammatik selbst. Solange Sie C- oder Datenstrukturkurse im College studiert haben, ist dies auch für Leute der Fall, die sie noch nie gelernt haben kann es problemlos meistern. Durch die Beherrschung der Syntax können die Funktionen von Shell bereits realisiert werden, es ist jedoch wichtig, das Erlernen von Modulen zu verbessern. Beispielsweise verwenden Betriebs- und Wartungspersonal häufig:

psutil: Leistungsinformationen abrufen

Socket: grundlegende Netzwerkkommunikation

IPy: IP-Adressbezogene Verarbeitung

dnsptyhon: Domänennamenbezogene Verarbeitung

difflib: Dateivergleich

pexpect: Bildschirm Informationsbeschaffung, Wird häufig in der Automatisierung verwendet

paramiko: SSH-Client

XlsxWriter: Excel-bezogene Verarbeitung

Es gibt viele andere Funktionsmodule und es gibt neue Module, Frameworks und Komponenten Generation, wie PythonJS für die Überbrückung mit Java, und sogar Python kann Map und Reduce schreiben.

7. Verfügt Python über ein spezielles IDE-Tool?

Es gibt ein Python-IDE-Tool, das von IDEL in Python implementiert wurde, aber um ehrlich zu sein, ist die Funktionalität wirklich nicht so gut. Die IDEs, die ich persönlich häufig verwende, sind wie folgt:

PyCharm

PyCharm ist eine von JetBrains entwickelte Python-IDE. PyCharm wird für die Funktionen verwendet, über die allgemeine IDEs verfügen, z. B. Debugging, Syntaxhervorhebung, Projektverwaltung, Codesprünge, intelligente Eingabeaufforderungen, automatische Vervollständigung, Komponententests, Versionskontrolle ... Darüber hinaus bietet PyCharm auch einige gute Funktionen für Django Die Entwicklung unterstützt auch Google App Engine. Was noch cooler ist, ist, dass PyCharm IronPython unterstützt!

Wing IDE

Wingwares Python-IDE ist mit Python 2.x und 3.x kompatibel und kann mit Django, matplotlib, Zope, Plone, App Engine, PyQt, PySide, wxPython, PyGTK, Tkinter, mod_wsgi, pygame, Maya, kombiniert werden. MotionBuilder, NUKE, Wird von Blender und anderen Python-Frameworks verwendet. Wing unterstützt testgetriebene Entwicklung und integriert Unit-Tests, Nose- und Django-Framework-Ausführungs- und Debugging-Funktionen. Wing IDE startet und läuft sehr schnell und unterstützt Windows-, Linux-, OS X- und Python-Versionen.

NotePad++

Einfach und praktisch, aber nur für vorübergehende Änderungen geeignet.

Andere umfassen: Eclipse withPyDev, Sublime Text, Komodo Edit, Pyer, The Eric Python IDE, Interactive Editor for Python

8. Verwenden Sie Python, um die Systemautomatisierung zu realisieren sind die gängigen Überwachungsmethoden?

Um genau zu sein, welche Module sollten zur Gesundheitsüberwachung verwendet werden, um die Leistung zu überwachen, Paramiko und Telnetlib für die Anmeldung und ftplib für FTP.

Das Grundprinzip besteht darin, Daten zu sammeln – Daten lokal zu verarbeiten – Daten zu übertragen. Wenn es vollständiger ist, können Sie eine Präsentation der Daten erstellen oder die Daten an Open-Source-Tools wie Zabbix senden.

Ich verwende auch ein Open-Source-Überwachungsnetzwerk zum Ausspionieren. Wenn es die angegebene Anzahl überschreitet, wird es automatisch blockiert.

9. Auf welchen Plattformen kann Python ausgeführt werden? Wie ist es plattformübergreifend?

Unterstützt gängige Mainstream-Plattformen wie AIX, HPUX, Solaris, Linux, Windows usw. Gängige Unix- und Linux-Plattformen außer Windows verfügen alle über natives Python, die Version ist jedoch im Allgemeinen niedriger. Wie bei anderen plattformübergreifenden Sprachen ist auch bei plattformübergreifenden Sprachen zu beachten, dass einige einzelne Module nur für eine einzelne Plattform gelten, die plattformübergreifende Gesamtleistung jedoch immer noch sehr gut ist. Es besteht keine Notwendigkeit, mehrere Codesätze zu schreiben zur Anpassung an mehrere Plattformen.

Das bedeutet aber nicht, dass es überhaupt keine Einschränkungen gibt: Erstens sind die Zwischendateien .py, .pyc und .pyo derselben Version plattformübergreifend, zweitens PCs und mobile Endgeräte, wie z Mobiltelefone und Pads können nicht plattformübergreifend sein (den Grund finden Sie im nächsten Punkt).

10. Wie kann man mit Python die Entwicklungseffizienz verbessern?

Da Sie nicht viele Low-Level-Dinge in Python selbst schreiben müssen und die Modulressourcen reichhaltig sind, wird die Entwicklungseffizienz bei richtiger Verwendung natürlich verbessert, und verschiedene Frameworks bieten auch dies Grundlage für eine schnelle Entwicklung.

11. Wie schnell läuft Python?

Normalerweise ist Java schneller als Python. Mit Ausnahme von Python, das C-Erweiterungen aufruft (Sie können CPython auch direkt verwenden).
Zu der Kritik, dass Python zu langsam ist, sagte der Python-Sprachautor Guido van Rossum:

Wenn das von Ihnen entwickelte System einen Leistungsengpass feststellt, ist es normalerweise am effizientesten, den problematischen Codeblock zu finden und zu verwenden Anstatt das gesamte System in C oder C++ neu zu schreiben, schreiben Sie Code in einer schnelleren Sprache wie C oder C++, um diese Funktion oder dieses Modul zu ersetzen, da für den größten Teil des Codes die Geschwindigkeit der Sprache irrelevant ist.

Lernen ist die größte Errungenschaft eines Menschen. Durch Lernen können Sie nicht nur Ihr Wissen erweitern, sondern auch den Grundstein für zukünftige Beschäftigungen legen. Im Zeitalter der künstlichen Intelligenz ist es angekommen, und Python ist als Hauptkraft im Zeitalter der künstlichen Intelligenz sehr vielversprechend. Der Traum ist nicht verfallen, und es gibt immer noch Schweiß auf dem Weg. Komm schon!

Empfohlene Buchliste:

Jeder Python-Meister in Ihren Augen sollte diese Buchliste haben

Geben Sie sich nicht mit weniger als der Python-Buchliste zufrieden

Zehn Python-Bücher, die Sie nicht verpassen sollten

Verwandte Empfehlungen:

Teilen Sie den Prozess der ersten Schritte mit Python

Erste Schritte mit Python: Detaillierte Einführung in Blockchain (Bild)

Python-Einführungs-Tutorial mit Listenoperationen


Das obige ist der detaillierte Inhalt von11 Wissenspunkte für den Einstieg in Python. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn