Programmieren für Anfänger: Python lernen leicht gemacht (2024)

Die richtige Python-IDE finden

Um Software mit Python zu entwickeln, bräuchten Sie im Grunde nur einen Text-Editor und eine Laufzeitumgebung - zumindest in der Theorie. In der Praxis ist eine IDE mit Python-Support aber ziemlich hilfreich, wenn das Ergebnis über das eines trivialen Skripts hinausgehen soll.

Wenn Sie bereits Software mit einer IDE entwickeln, können Sie die wahrscheinlich auch für das Programmieren mit Python einsetzen, denn die meisten beliebten IDEs unterstützen die Programmiersprache:

  • Beide Microsoft-IDEs - Visual Studio und Visual Studio Code - bieten über Extensions exzellenten Python-Support. Wer seinen Workflow bereits auf diese IDEs ausgerichtet hat, muss lediglich noch die entsprechenden Addons installieren.

  • Eclipse kommt vor allem in Verbindung mit Java zum Einsatz, unterstützt über Addons aber auch Python. Alternativ könnten Sie auch LiClipse nutzen. Dabei handelt es sich um eine um zahlreiche, vorinstallierte Python-Addons angereicherte Edition der Eclipse IDE.

  • Viele MacOS-User schwören auf den Sublime Text-Editor wegen seiner Geschwindigkeit und einfachen Nutzerführung. Entwicklern bietet Sublime Text einen Python-Interpreter und viele Plugins, die in Python geschrieben wurden.

  • Vim und Emacs bieten ebenfalls starken Python-Support - der noch weiter ausgebaut werden kann. Im Fall von Vim mit dem Python-Mode Plugin, bei Emacs über Addons.

Daneben gibt es auch einige dedizierte IDEs für Python, die eine Reihe von Use Cases abdecken:

  • IDLE kommt im Bundle mit CPython und eignet sich, um schnell Skripte zusammen zu "schmeißen" und Anfänger bei Problemen zu unterstützen.

  • PyCharm wird oft empfohlen - und das aus gutem Grund: Die IDE bietet Support für viele native Python-Tools (zum Beispiel Jupyter Notebooks). Dabei bleibt PyCharm trotzdem zugänglich und einfach zu bedienen.

  • Komodo ist die IDE von ActiveState und eignet sich daher vor allem für das Zusammenspiel mit ActivePython. Ein Einsatz mit CPython ist jedoch auch problemlos möglich.

  • Spyder richtet sich hauptsächlich an Wissenschaftler und Statistik-Experten und weniger an die allgemeine Python-Entwickler-Community.


  1. Ganz generell schätzen es Entwickler nicht so besonders, wenn ihnen jemand erklären will, wie sie ihren Job zu machen haben. Weil Produkt- und Projektmanager aber oft Entwickler-Teams leiten, passiert genau das. Das kann zu Unstimmigkeiten führen. <br /><br /> Dazu hat auch David Fox von devRant eine Meinung: "Letztendlich ist es in den meisten Fällen so, dass Produkt- und Projektmanager in irgendeiner Art und Weise die 'Besitzer' von Projekten und Prozessen sind, ohne dabei die täglichen Herausforderungen und Probleme der Softwareentwickler zu kennen."
  2. Chefs
    Genau wie die Produkt- und Projektmanager sind auch Development oder Engineering Manager dafür zuständig, Teams von Entwicklern zu führen und sicherzustellen, dass Projekte rechtzeitig und unter Budget fertiggestellt werden. <br /><br /> "In einigen Unternehmen können Situationen entstehen, in denen der Chef gleichzeitig Mitglied des Entwicklerteams ist. Insbesondere wenn der Chef vorher selbst Entwickler war und nach einer Beförderung zum Chef wird, ist Konfliktpotenzial gegeben", merkt Fox an.
  3. Recruiter
    Softwareentwickler müssen gar nicht selbst aktiv nach einem Job suchen, um von Recruitern und Headhuntern belästigt zu werden - dem Fachkräftemangel sei Dank. Es dürfte sehr schwer sein, einen Developer zu finden, der noch nicht in die Fänge der Recruiter geraten ist. <br /><br /> David Fox sieht insbesondere die Hartnäckigkeit der Recruiter als Problem: "Sie rufen an, sie e-mailen und sie lassen Dich einfach nicht in Ruhe - selbst dann, wenn Du gar keinen Job suchst. Und selbst wenn man eine Anstellung sucht, neigen viele Recruiter dazu, irrelevante Jobangebote zu machen oder Stellen zu empfehlen, deren Profil überhaupt nicht passt - etwa einen Job am anderen Ende des Landes, obwohl man gar nicht bereit ist, umzuziehen."
  4. Dokumentation
    Gibt es keine Dokumentation, beschweren sich die Softwareentwickler. Wenn es zuviel ist, beschweren sie sich und wenn sie die Dokumentation selbst erledigen müssen, auch. Sogar über die Art und Weise, wie andere Leute die Dokumentationsaufgabe bewältigen, beschweren sich die Entwickler. <br /><br /> An dieser Stelle seien sich auch endlich einmal alle Entwickler einig, wie Fox betont: "Softwareentwickler wollen eine ausführliche, gut geschriebene und akkurate Dokumentation - aber selber machen wollen sie es nicht."
  5. Meetings
    Meetings sind nicht nur für alle anderen ein Problem, sondern auch für Softwareentwickler. Insbesondere dann, wenn es sich um völlig unnötige, zeitraubende und stinklangweilige Zusammenkünfte handelt. Wie Fox erzählt, sind inzwischen auch Devotionalien mit der Aufschrift 'I survived another meeting that should have been an email' erhältlich.
  6. Coworking Spaces
    Mit dem Aufstieg der Agilität sind flache Hierarchien, Collaboration und Teamwork zum Alltag in Unternehmen geworden - insbesondere für Software-Development-Teams. Gerade die können ihre Arbeit in einem Großraumbüro aber meist nur schwer oder gar nicht bewältigen - sagen zumindest die Zahlen von devRant. <br /><br /> David Fox erklärt: "Es gibt einfach zuviel Ablenkung: die Kollegen unterhalten sich, Meetings werden verpasst, Telefonanrufe überhört. Es gibt auch eine Vielzahl an Beschwerden über den Kaffee im Büro und andere Annehmlichkeiten - oder eben das Gegenteil davon."
  7. Kollegen
    Selbsterklärend: Jeder hat wohl einen Kollegen oder eine Kollegin, den beziehungsweise die er ganz besonders schätzt. Nicht. <br /><br /> Im Fall der Softwareentwickler ist die Abneigung gegenüber Kollegen meist entweder in der mangelnden Qualität ihrer Arbeit oder einem völlig aus dem Leim gegangenen Ego begründet, gibt David Fox preis.
  8. Vorstellungsgespräche
    Wenn ein Softwareentwickler auf Jobsuche ist und zum Bewerbungsgespräch geladen wird, gibt es danach meist auch etwas zu meckern: <br /><br /> "Dumme Fragen oder die Lösung von völlig praxisfernen Aufgaben im Bewerbungsgespräch stoßen den Developern ebenso sauer auf, wie ein Gesprächspartner, der überhaupt nicht weiß, was ein Entwickler eigentlich genau macht", so Fox.

  9. Softwareentwickler haben tagein, tagaus mit Fehlern und Bugs zu tun. Deswegen glaubt devRant-Gründer Fox, dass Entwickler in dieser Sache anders ticken: <br /><br /> "Die meisten anderen Probleme erfahren keine positive Auflösung, aber Bugs und Fehler sind behebbar und das fühlt sich gut an."
  10. Quality Assurance
    Die Quality Assurance (QA) - oder Qualitätssicherung - ist ein kritischer Teil der Softwareentwicklung. Dennoch bemängeln Softwareentwickler an QA-Experten häufig dieselben Dinge wie an Produkt- und Projektmanagern, so Fox. <br /><br /> "Die Qualitätssicherung bekommt das Produkt oder Projekt in die Hände, wenn die Entwickler es abgeschlossen haben. Deswegen verstehen sie oft nicht, welche Hürden und Workarounds die Entwickler im Entstehungsprozess bewältigen mussten. Offensichtlich kommt es auch regelmäßig vor, dass QA-Leute die Entwickler bitten, Bereiche nochmals zu überarbeiten, die sie auch selbst bewältigen könnten."

Python Packages?

Wenn Sie eine Distribution wie ActivePython oder Anaconda nutzen, sind viele Python-Bibliotheken von Drittanbietern entweder bereits vorinstalliert oder über ein Tool zugänglich. Bei CPython - und einigen anderen - kommen Sie nicht in den Genuss solcher Annehmlichkeiten. Hier gestaltet sich die Einbindung von Drittanbieter-Bibliotheken etwas schwieriger.

Die Python Software Foundation hält eine riesige Sammlung von Bibliotheken vorrätig: den Python Package Index (PyPI). Jedes dieser Packages kann über das pip-Kommandozeilen-Tool hinzugefügt werden. Allerdings erfordern einige dieser Pakete Binärdateien, die für spezifische Plattformen gemacht sind. Und nicht jedes PyPI-Package beinhaltet Binärdateien für jede Plattform. Dieses Problem zu bewältigen, ist bei Linux kein Problem. Hier ist es generell möglich, binaries auch "on the fly" zu erstellen. Bei Windows ist das nicht der Fall.

Eine (zumindest teilweise) Lösung kommt von Christoph Gohlke von der University of California: Er bietet eine - inoffizielle - Sammlung vorgefertigter Windows-binaries für viele Python Packages. Viele der Packages sind wiederum in erster Linie für wissenschaftliche Applikationen oder maschinelles Lernen (zum Beispiel NumPy und TensorFlow) gedacht. Viele decken aber auch etwas breiter gefasste Nutzungsszenarien ab (zum Beispiel Pillow für Bildbearbeitung oder den asynchronen http-Server Aiohttp).

Wenn Sie Windows nutzen

Für bestimmte Python-Programmier-Projekte brauchen Windows-Nutzer einige Handgriffe mehr als die User von Linux, MacOS und anderen Unix-basierten Betriebssystemen. Eine häufig fehlende "Zutat", die vom Windows-Entwickler gestellt werden muss, ist ein C Compiler. Python braucht diesen für einige Packages, um bestimmte Module bilden zu können, die nicht im Binär-Format vorliegen. Cython beispielsweise übersetzt Python in C-Code und braucht einen C Compiler um funktionierende binaries zu produzieren.

Die gute Nachricht: Microsofts hauseigener C Compiler kommt bereits mit der kostenlosen Community Edition von Visual Studio. Außerdem steht Ihnen die Möglichkeit offen, die Gnu Compiler Collection (GCC) zu installieren. Weil der C Compiler in Visual Studio aber auch für CPython auf Windows zur Anwendung kommt, verspricht dessen Nutzung auch ein konsistenteres Nutzererlebnis.

Das LLVM Compiler Framework ist ein Drittanbieter-Zusatz, der typischerweise nicht standardmäßig vertreten ist, den Sie aber dennoch brauchen könnten. Einige Python-Projekte wie Numba nutzen LLVM.

Zu guter Letzt müssen Windows-Nutzer standardmäßig auch auf Revision Control Software wie Git verzichten. In der Folge könnten einige IDEs die Zusammenarbeit verweigern. Deshalb sollten Sie Git für Windows entweder manuell herunterladen oder es über Chocolatey installieren.

Halten Sie Ihren Python-Code sauber

Die meisten Programmiersprachen bieten Funktionen wie statische Code-Analyse oder "syntax standardization". Bei Python erledigt eine Kollektion von Packages diese Aufgaben. Alle größeren IDEs bieten hierfür Support, es macht also Sinn, diese zu ihrem Arbeitsplatz hinzuzufügen.

PEP 8 ist ein Python Code-Styleguide. Wenn Sie dessen Regeln auf Ihre Codebasis anwenden wollen, erledigt das Tool autopep8 das automatisiert, bringt Ihren Python-Programmcode auf Linie und zeigt Warnungen an, wenn bestimmte Stellen im Code Beachtung verlangen. Die meisten IDEs mit Python-Support akzeptieren autopep8 als Standard-Formatter.

Ein neues Projekt in Sachen Code-Formatierung ist yapf. Dieses ursprünglich von Google entwickelte Tool formatiert Ihre Dokumente komplett und entfernt alle bestehenden Formatierungen (und Reformatierungen), die nach PEP8-Regeln vorgenommen wurden.

Dynamische Programmiersprachen wie Python erlauben Entwicklern kleinere Bugs. Im Fall von Python gibt es unterstützende Tools, um diese zu verhindern. Zum Beispiel Pylint, das lange Zeit als das Tool schlechthin für statische Datenanalysen in Python galt oder Mypy.

Legen Sie Python Projekt-Templates an

Wenn Sie sich dabei erwischen, wie Sie immer wieder dieselben Projekte anlegen, sparen Sie sich doch etwas Nerven und Zeit und kreieren Sie eine Vorlage. Dafür gibt es mehrere Möglichkeiten: Zum Beispiel indem Sie ein Git Repository erstellen, das Sie laufend aktualisieren.

Mit Python können Sie das aber noch ein bisschen weiter treiben - und zwar mit Cookiecutter. Neue Python-Projekte können mit einem Cookiecutter-Template "ge-bootstrapped" werden. Diese Vorlagen können wiederum bei Git gespeichert und auf Anfrage auch geklont werden. Die Chancen stehen außerdem nicht schlecht, dass es bereits ein Cookiecutter-Template gibt, um Ihr Projekt zum Laufen zu bringen. Selbst kreierte Templates können übrigens auch geteilt werden.

Programmieren mit Python in virtuellen Umgebungen

Je mehr Python-Projekte sie starten, desto mehr Bibliotheken kommen zum Einsatz. Beispiel: Sie wollen ein Legacy-Projekt behalten, das auf einer alten Version von etwas aufbaut und gleichzeitig einen Ersatz bauen, der auf den neueren Versionen der gleichen Bibliotheken aufbaut.

Bei Python gibt es einen Weg, um dieses Problem zu umgehen: virtuelle Umgebungen. Denn die erlauben einem Projektordner, seine eigenen lokalen Kopien der Bibliotheken vorzuhalten, deren Versionen neuer sind, als die auf dem Interpreter installierten. Das Gros der Arbeit übernimmt das Kommandozeilen-Tool virtualenv, das auch den Wechsel zwischen verschiedenen virtuellen Umgebungen ermöglicht. Mit dem Tool virtualenvwrapper lässt sich das Erstellen virtueller Umgebungen automatisieren. Die Chancen, dass Ihre IDE virtuelle Python-Umgebungen unterstützt, stehen gut - wie das Beispiel PyCharm zeigt.

Eine Alternative zu virtuellen Umgebungen ist die Nutzung einer Standalone-Installation der Python-Laufzeitumgebung. CPython für Windows kann zum Beispiel als "embeddable zip file" heruntergeladen werden und bringt dann eine eigene Minimalinstallation von Python mit. Wenn Sie bestimmte Funktionen in verschiedenen Versionen einer Laufzeitumgebung für Python testen wollen und nicht jede Version eigens installieren wollen, ist diese Lösung für Sie gemacht.

Unterstützen Sie andere Python-Einsteiger

Wenn Sie ein Python-Projekt kreiert haben, von dem Sie glauben, dass es für andere User hilfreich sein könnte: Teilen Sie es mit der Community! (fm)

Dieser Artikel basiert auf einem Beitrag unserer US-Schwesterpublikation infoworld.com.

As an expert in Python development, I have extensive knowledge of various Python IDEs and related concepts. I'll break down the information provided in the article "Die richtige Python-IDE finden" and elaborate on each concept mentioned:

  1. Python IDEs (Integrated Development Environments):

    • Visual Studio and Visual Studio Code: Both Microsoft IDEs offer excellent Python support through extensions. If you are already using these IDEs for other languages, you can easily add Python support by installing the corresponding extensions.
    • Eclipse: Although primarily associated with Java, Eclipse supports Python through add-ons. LiClipse is also mentioned as an option, which is an Eclipse IDE enriched with pre-installed Python add-ons.
    • Sublime Text: Popular among MacOS users for its speed and user-friendly interface, Sublime Text provides a Python interpreter and supports various Python plugins.
    • Vim and Emacs: Known for their robust Python support, additional functionality can be added, such as the Python-Mode plugin for Vim and various add-ons for Emacs.
  2. Dedicated Python IDEs:

    • IDLE: Bundled with CPython, IDLE is suitable for quickly putting together scripts and assisting beginners with troubleshooting.
    • PyCharm: Highly recommended for its support of native Python tools, including Jupyter Notebooks. PyCharm is known for being accessible and user-friendly.
    • Komodo: Developed by ActiveState, Komodo is well-suited for use with ActivePython but can also work seamlessly with CPython.
  3. Spyder:

    • Targeted at scientists and statistics experts, Spyder caters to a specific audience within the Python development community.
  4. Developer Perspectives:

    • The article briefly touches on the perspective of developers regarding managers who may not fully understand the daily challenges and issues faced by software developers.
  5. Common Challenges and Perspectives:

    • The article mentions challenges and perspectives related to various aspects of the software development process, including recruiters, documentation, meetings, coworking spaces, colleagues, and job interviews.
  6. Python Packages and Distribution:

    • Discusses the availability of Python libraries in distributions like ActivePython or Anaconda. It mentions the Python Package Index (PyPI) for CPython users and the use of the pip command-line tool for package management.
  7. Windows-Specific Considerations:

    • Highlights additional steps required by Windows users, such as the need for a C Compiler, and mentions solutions like Microsoft's Visual Studio and the Gnu Compiler Collection (GCC).
  8. Code Formatting and Quality Assurance:

    • Emphasizes the importance of code formatting using tools like autopep8 and yapf. It mentions static code analysis tools like Pylint and Mypy for preventing bugs in Python code.
  9. Python Project Templates:

    • Recommends creating project templates using Git repositories or tools like Cookiecutter to streamline the process of starting new Python projects.
  10. Virtual Environments:

    • Discusses the use of virtual environments to manage dependencies for Python projects and mentions tools like virtualenv and virtualenvwrapper.
  11. Community Engagement:

    • Encourages developers to share their Python projects with the community and contribute to the collective knowledge.

In conclusion, the article provides a comprehensive overview of the Python development landscape, covering IDEs, challenges faced by developers, best practices, and considerations for different aspects of the development process.

Programmieren für Anfänger: Python lernen leicht gemacht (2024)

References

Top Articles
Latest Posts
Article information

Author: Patricia Veum II

Last Updated:

Views: 5833

Rating: 4.3 / 5 (64 voted)

Reviews: 95% of readers found this page helpful

Author information

Name: Patricia Veum II

Birthday: 1994-12-16

Address: 2064 Little Summit, Goldieton, MS 97651-0862

Phone: +6873952696715

Job: Principal Officer

Hobby: Rafting, Cabaret, Candle making, Jigsaw puzzles, Inline skating, Magic, Graffiti

Introduction: My name is Patricia Veum II, I am a vast, combative, smiling, famous, inexpensive, zealous, sparkling person who loves writing and wants to share my knowledge and understanding with you.