Einige nützliche Tipps zum Üben von Python

Hallo habr Heute biete ich Ihnen eine Übersetzung eines Duomly-Artikels zum Lernen und Üben des Programmierens in Python an.


Einleitung


Das Erlernen von Python unterscheidet sich nicht wesentlich vom Erlernen anderer Programmiersprachen. Wie Sie in Python (oder in einer anderen Sprache) zum Profi werden können, hängt hauptsächlich von Ihren Erfahrungen und Kenntnissen ab. Dies bedeutet, dass erfahrene Programmierer bereits mit den Grundkonzepten der Programmierung vertraut sind, während gewöhnliche Programmierer andere Methoden zur Problemlösung anwenden, wenn sie keine Neulinge sind.


Egal was passiert, es gibt verschiedene Dinge, die allen gemeinsam sind. Eines davon ist, dass Sie üben müssen, viel üben!


Glücklicherweise hat Python eine breite, freundliche und kommunikative Community. Dies sind Open-Source-Projekte, die wirklich bei der Entwicklung helfen.


Es gibt viele gute Tipps zum Üben von Python. Dieser Artikel behandelt nur 10 von ihnen:


  • Wählen Sie die richtige Umgebung
  • Stellen Sie sicher, dass Sie eine ausreichende Basis haben, um komplexere Dinge zu lernen.
  • Code schreiben und verbessern
  • Lesen Sie die Dokumentation
  • Erfahren Sie kompliziertere Dinge nach den Grundlagen
  • Befolgen Sie die Python-Standards, Tipps und Tricks
  • Analysieren Sie den Quellcode
  • Interessieren Sie sich für Bibliotheken
  • Werde ein Teil der Community
  • Lerne eine zweite Programmiersprache

Wählen Sie die richtige Umgebung


Für den Einstieg sollten Sie Python 3 und den Paketmanager des verwendeten Betriebssystems verwenden. Hierzu eignet sich eine Windows-, Mac OS- oder eine beliebige Linux-Distribution. (Auch Android mit QPython, obwohl die Möglichkeiten im Vergleich zum ursprünglichen Python begrenzt sind). Sie können Anaconda später unter Windows, Mac OS oder Linux installieren. Es enthält einen Python-Interpreter, ein Conda-Paket, Abhängigkeiten und einen Paketmanager. Damit können Sie viele Bibliotheken von Drittanbietern finden, die Ihnen möglicherweise nützlich erscheinen.


Sie müssen die entsprechende IDE (integrierte Entwicklungsumgebung) auswählen. Die gängigsten IDEs wie Visual Studio, VSCode, Emacs, Vim, Sublime Text usw. unterstützen Python sehr gut. Wenn Sie JetBrains-Produkte mögen, können Sie PyCharm ausprobieren.
Ebenfalls im Anaconda-Distributionspaket enthalten ist eine IDE namens Spyder.


IPython und Jupyter Notebook sind gute Tools, die praktische interaktive Funktionen bieten. Es gibt auch einen interaktiven Python-Interpreter, der jedoch möglicherweise für das Überprüfen einfacher Codeteile nützlicher ist als das Schreiben großer Programme.


In diesem Artikel erfahren Sie auch mehr über die Python-IDE.
Unter anderem ist es eine gute Idee, Linters für Python (Pylint, Flake8 und andere) zu installieren und zu konfigurieren. Es handelt sich um kleine Pakete, die einfach die Probleme Ihres Codes hervorheben (Syntax oder im Zusammenhang mit der Nichteinhaltung des Programmierstils in Python - PEP8).


Stellen Sie sicher, dass Sie eine ausreichende Basis haben, um komplexere Dinge zu lernen.


Wenn Sie eine Programmiersprache lernen möchten, müssen Sie gut lernen, um die Grundlagen zu erlernen, auf denen Sie Ihre Karriere in dieser Sprache aufbauen können. Das bedeutet, dass Sie mindestens Folgendes wissen müssen: die grundlegende Syntax der Sprache, die grundlegenden Konzepte der Programmierung, mit Standardtypen und Datenstrukturen vertraut sein und so weiter.


In Python sollten Sie sicherstellen, dass Sie bedingte Konstrukte ( if , else, elif ), Schleifen ( for , while ), Funktionen, Zahlen, Zeichenfolgen, Tupel, Mengen, Listen, Wörterbücher usw. verstehen. Einige andere Datentypen, wie komplexe Zahlen, benannte Tupel und unveränderliche Mengen, können ebenfalls nützlich sein.


Sie sollten das richtige Buch für Ihr Niveau über Python finden.
Duomly bietet ein Python-Tutorial an , mit dem Sie diese und weitere Konzepte erlernen können.
Sie können auch mit einem Tutorial auf der offiziellen Website beginnen.


Code schreiben und verbessern


Das Schreiben einer Menge Code für sich selbst ist ein wesentlicher Bestandteil des Lernens von Programmiersprachen.
Beginnen Sie mit Code aus Büchern und Tutorials. Versuchen Sie dann, es zu ändern, um es beispielsweise zu vereinfachen, oder für einen bestimmten Zweck besser geeignet. Versuchen Sie danach, Ihre eigenen kleinen, aber nützlichen Programme zu schreiben.
Aber am wichtigsten ist, dass Sie sich an eines der wichtigsten Dinge beim Programmieren erinnern: Es geht nicht um das Eingeben von Code, sondern um das Verstehen!


Sie werden Fehler machen. Alle Programmierer machen das. Und das ist überhaupt nicht schlecht. Das Wichtigste dabei ist, herauszufinden, was schief gelaufen ist, und diese Fehler natürlich auch in Zukunft nicht zu wiederholen. Jedes Mal, wenn Sie einen Fehler erhalten und korrigieren, werden Sie ein etwas besserer Programmierer als zuvor.
Manchmal ist es wichtig, zum alten Code zurückzukehren und ihn zu verbessern. Ich hoffe, Sie sehen, wo Sie besser geworden sind, als Sie diesen Code geschrieben haben.


Denken Sie über die Probleme nach, die Sie lösen möchten. Idealerweise beschäftigen Sie sich mit diesen Themen. Emotionales Investieren verbessert normalerweise die Ergebnisse. Starten Sie Ihre kleinen bis mittelgroßen Projekte und versuchen Sie, sie so oft wie möglich zu verbessern. Wenn Sie etwas Neues gelernt haben, fragen Sie sich, wie Sie es auf das zu lösende Problem anwenden können.


Lesen Sie die Dokumentation


Dokumentation ist in Python sehr wichtig. Sie sollten es sich zur Gewohnheit machen, es oft zu lesen. Es ist ideal, die Dokumentation zu lesen, bevor eine vorhandene Funktion oder Methode verwendet wird.


Glücklicherweise verfügen die Python-Standardbibliothek und die meisten beliebten Bibliotheken von Drittanbietern über eine gute, detaillierte Dokumentation auf ihren Websites. Sie können Dokumentation über das Python-Objekt (Klasse, Methode usw.) auch programmgesteuert mit dem Attribut .doc abrufen:


 >>> print(slice.__doc__) slice(stop) slice(start, stop[, step]) Create a slice object. This is used for extended slicing (eg a[0:10:2]). 

Die Dokumentation kann an einigen Stellen weitere Details enthalten.


Sie können viel aus der Dokumentation lernen. Sie können sehen, wie Sie eine Funktion, Methode oder Klasse verwenden, welche Argumente Sie übergeben müssen, wodurch der Funktionsaufruf zurückgegeben wird usw. Es enthält auch häufig verwandte Beispiele, die informativer und manchmal lehrreich sein können.


Erfahren Sie kompliziertere Dinge nach den Grundlagen


Sobald Sie die Grundlagen verstanden haben, können Sie anfangen, komplexere Dinge zu lernen. Keine Sorge, Sie werden die Grundlagen nicht vergessen. Sie werden sie immer brauchen.


Oft werden Themen wie Ausnahmebehandlung, Auspacken und Packen von Argumenten, * args und ** kwargs, Dekoratoren, Module und Pakete, OOP und Generatoren verwendet, und Sie müssen sie gut kennen und verstehen.
Es gibt auch viele fortgeschrittene Themen, die untersucht werden müssen. Zum Beispiel magische Methoden, Coroutinen, asynchrone Programmierung, Multithreading, Multiprocessing, Testen und so weiter. Dies ist nicht das, was Sie am Anfang brauchen. Sie können also mit etwas Einfacherem und Nützlicherem beginnen. Wenn Sie zum Beispiel ein leistungsstarkes Werkzeug zum Bearbeiten von Zeichenfolgen benötigen, können Sie reguläre Ausdrücke ausprobieren. Wenn Sie an einem Wissenschaftsprojekt arbeiten, werden Sie Multiprocessing wahrscheinlich für Sie interessant finden.


Befolgen Sie die Python-Standards, Tipps und Tricks


Es gibt viele spezifische Dinge in der Programmierung speziell für die Python-Sprache, die nicht einfach zu erlernen sind. Es ist ein Glück, dass es viele Ressourcen gibt, die viele dieser Themen abdecken.


Die offizielle Python-Dokumentation enthält viele Informationen. PEP 20, auch Zen von Python genannt, von Tim Peters geschrieben, beschreibt die Grundprinzipien von Python:


 >>> import this The Zen of Python, by Tim Peters  ,  .  ,  .  ,  .  ,  .  ,  .  ,  .   .     ,   .     .     .     .  ,   .    , ,      .        ,    .  ,  .    ,   .     —  .     — , , .   —  !    ! 

PEP 8 oder Code Writing Guide von Guido Van Rossum, B. Warschau.
Auch PEP 257, das für Konventionen für Dokumentationszeilen steht.


Analysieren Sie den Quellcode


Python ist eine Open-Source-Programmiersprache, genau wie die meisten gängigen Bibliotheken. Dies bedeutet, dass Sie den Quellcode lesen können. Dies ist auf Github oft möglich, aber es gibt auch andere Orte, an denen Sie dies tun können.
Durch Lesen und Verstehen des Bibliothekscodes können Sie dessen Funktionsweise besser verstehen.


Darüber hinaus können Sie viel lernen, indem Sie den Quellcode anderer (hoffentlich guter) Programmierer analysieren. Sie können Ideen ausleihen, verschiedene Implementierungspfade betrachten, neue Muster lernen und so weiter.


Interessieren Sie sich für Bibliotheken


Python hat viele nützliche Bibliotheken für verschiedene Aufgaben:
reguläre Ausdrücke, Mathematik, Statistik, Generierung von Zufallszahlen, Testen, Iteration, funktionale Programmierung, Multithreading und Multiprocessing, abstrakte Klassen und vieles mehr.


Es gibt auch einige wirklich nützliche Bibliotheken von Drittanbietern für viele verschiedene wissenschaftliche Aufgaben.
Natürlich können Sie nicht lernen, wie man sie alle einsetzt, aber Sie können sich auf einige konzentrieren, die Ihnen für Ihre Spezialisierung interessanter erscheinen.


Wenn Sie Wissenschaftler werden oder sich mit maschinellem Lernen befassen möchten, müssen Sie mit NumPy, der grundlegenden Bibliothek, beginnen, um ein- und mehrdimensionale Arrays auf effiziente und einfache Weise zu bearbeiten. Es ist schnell und enthält viele Array-Operationen, ohne explizit for Schleifen von Python zu schreiben.


 >>> import numpy as np >>> >>> a = np.array([1, 2, 3, 4, 5]) >>> a array([1, 2, 3, 4, 5]) >>> b = 2**a >>> b array([ 2, 4, 8, 16, 32]) >>> a + b array([ 3, 6, 11, 20, 37]) >>> b / 2 array([ 1., 2., 4., 8., 16.]) 

  • NumPy bietet viele Funktionen zum Bearbeiten von Arrays. Es enthält auch Tools für lineare Algebra, Statistik usw.
  • SciPy ist eine Bibliothek für wissenschaftliche Berechnungen, die auf NumPy aufbaut und zusätzliche Funktionen für lineare Algebra und Statistik enthält.
  • Pandas ist eine der beliebtesten Python-Bibliotheken. Es basiert auch auf NumPy und funktioniert gut mit NumPy und SciPy. Es enthält Funktionen zum Bearbeiten von Daten.
  • Scikit-Learn ist die grundlegende Bibliothek für maschinelles Lernen mit vielen Algorithmen. TensorFlow, Theano, Pytorch und Keras werden auch für die Arbeit mit neuronalen Netzen verwendet.
  • Matplotlib und Bokeh sind gute Optionen zur Visualisierung von Daten.

Alle diese Bibliotheken sind hervorragend dokumentiert.


Wenn Sie Webprogrammierung ausführen möchten, können Sie lernen und üben, mit einigen Python-Backend-Frameworks zu arbeiten. Das beliebteste von ihnen - Django - verfügt über die meisten notwendigen Funktionen. Es ist sehr praktisch für große Webanwendungen. Flask hingegen ist ein leistungsstarkes, flexibles Mikro-Framework mit vielen Add-Ons. Django und Flask sind die beliebtesten Python-Webframeworks.


Python hat auch andere Web-Frameworks wie Pyramid, Bottle, Tornado und so weiter.


SQLAlchemy ist ein Paket, das die Möglichkeit enthält, mit Datenbanken in einem objektorientierten Stil zu arbeiten. Es wird häufig in Webframeworks, aber auch in Data Science verwendet.


Werde ein Teil der Community


Wie bereits erwähnt, hat Python eine große und freundliche Community. Sie können ein Teil davon werden. Publikationen lesen, kommentieren, fragen, Erklärungen suchen.


Wenn Sie über ausreichende Kenntnisse verfügen, können Sie Ihr Wissen in Open-Source-Projekte investieren oder diejenigen unterstützen, die Artikel oder Tutorials schreiben. Diese Dinge werden von der Community und den meisten potenziellen Arbeitgebern sehr geschätzt.


Lerne eine zweite Programmiersprache


Python ist eine Programmiersprache mit mehreren Paradigmen, und in vielen Situationen reicht es aus.
Aber egal was passiert, Sie müssen immer nach Vorteilen beim Erlernen anderer Sprachen suchen.
Damit können Sie Ihre Programmierkenntnisse im Allgemeinen verbessern, Paradigmen aufstellen und Ihren Horizont erweitern. Wenn Sie eine Sprache lernen, wird das Lernen anderer einfacher. Die meisten guten Programmierer sprechen mehrere Sprachen.


Wenn Sie ein Webprogrammierer sein möchten, müssen Sie wahrscheinlich JavaScript lernen. C zu lernen ist gut, um grundlegende Programmierkonzepte besser zu verstehen, aber Sie können auch sehr schnelle Funktionen für Python darauf schreiben. Rust ist eine neue und sehr coole Sprache, die sich bereits gut in Python integriert hat


Beispiele von Projekten für die Praxis


Es gibt viele kleine Projekte, mit denen Sie Python lernen können. Versuchen Sie beispielsweise, langweilige Aufgaben zu automatisieren. Wenn Sie Zeichenfolgen, reguläre Ausdrücke und sogar Jinja-Musterbibliotheken lernen, können Sie effizienteren Code schreiben.


  • Wenn Sie häufig mit Microsoft Office Excel arbeiten, können Sie XLWings, NumPy und Pandas verwenden, um Ihre Berechnungen zu beschleunigen.
  • Sie können Python verwenden, um Spiele zu erstellen. Sie können beispielsweise die random verwenden und versuchen, einen Würfelwurf zu simulieren oder ein Kartenspiel zu mischen.
  • Wenn Sie coole grafische Oberflächen erstellen möchten, können Sie PyQt oder Tkinter verwenden. Vielleicht sollten Sie einen Taschenrechner (je mehr Funktionen, desto besser) oder ein einfaches, aber bekanntes Spiel erstellen.
  • Wenn Sie in die Webentwicklung eintauchen möchten, probieren Sie Flask aus. Es sind nur 5 Codezeilen erforderlich, um grundlegende, aber funktionierende Webanwendungen zu erhalten.

Die offizielle Flask-Website enthält eine großartige Dokumentation und ein Tutorial, mit dem Sie sie studieren können.


Das Doumly-Lernprogramm für maschinelles Lernen enthält Anweisungen zum Üben von Data Science und maschinellem Lernen.


Fazit


Sie haben einige Tipps zum Üben von Python gelesen. Ich hoffe, sie helfen Ihnen dabei, ein Python-Programmierer zu werden. Denken Sie daran, dass Sie viel programmieren, interessante Programme schreiben, aus Fehlern lernen und natürlich Teil der Community werden müssen.


Viel Spaß beim Codieren!

Source: https://habr.com/ru/post/de478900/


All Articles