Jetzt Starten

Effizienter Programmieren mit Python: Die 4 wichtigsten Punkte wie dir ChatGPT helfen kann

7. September 2023
Manuel

In diesem Beitrag werden wir die 4 wichtigsten Punkte anschauen, wie ChatGPT, ein leistungsfähiges Sprachmodell von OpenAI, dir als Programmierer bei der Python-Entwicklung helfen kann. Egal, ob du ein erfahrener Profi oder gerade erst in die Welt des Programmierens eintauchst, ChatGPT kann dir dabei helfen, effizienter und produktiver zu sein. Wir werden uns verschiedene Anwendungsfälle ansehen und zeigen, wie du ChatGPT in deinem Arbeitsablauf integrieren kannst.

Screenshot von einer ChatGPT Antwort zu Python List Comprehension
ChatGPT kann Code schreiben, verändern, debuggen,… Das sollte man sich als Programmierer zu Nutze machen!

Was ist ChatGPT?

Zuerst einmal, was ist eigentlich ChatGPT? ChatGPT ist ein künstlicher Intelligenz-Chatbot, der darauf trainiert ist, menschenähnliche Texte zu generieren. Es basiert auf der mächtigen GPT-3-Technologie von OpenAI und kann natürliche Konversationen verstehen und darauf antworten. Aber wie kann das einem Programmierer nützlich sein?

Die Trainingsdaten für ChatGPT stammen aus dem gesamten Internet. Jede Website, jeder Blog und jedes Forum ist gefüllt mit Texten. Daher kann man auch Englisch, Deutsch, Italienisch, usw. mit dem Chatbot sprechen.

Und zum gesamten Internet gehören natürlich auch Seiten wie Stack Overflow oder Github. ChatGPT hat also auch gelernt Code zu verstehen und das kann man als Programmierer nutzen.

Fast jeder nutzt Code Vervollständigung, um nicht alles komplett eintippen zu müssen. Aber ChatGPT ist Code Vervollständigung mit Superkräften. Statt einzelnen Worten, werden ganze Funktionen geschrieben. Oder man kann sich Abschnitte detailliert erklären lassen.

Die Nutzung ist ganz einfach: ChatGPT kann kostenlos online genutzt werden. Es gibt auch eine kostenpflichtige Version die nochmal besser und schneller ist.

Du kannst dann einfach ein Chat öffnen und los schreiben.

1. Python Code-Generierung mit ChatGPT

Eine der beeindruckendsten Anwendungen von ChatGPT für Programmierer ist die Code-Generierung. Du kannst ChatGPT bitten, Python-Code für bestimmte Aufgaben oder Probleme zu schreiben.

Machen wir mal ein Beispiel:

“Schreibe ein Python Script, das Bilder aus dem Ordner ‘images’ lädt, zufällig um 180° dreht, und dann wieder in einem neuen Ordner abspeichert. Die Bilder sollten zu 20% gedreht und 80% ungedreht sein.”

Die Antwort von ChatGPT:

“Hier ist ein Python-Skript, das diese Aufgabe erledigen kann. Bevor du das Skript ausführst, vergewissere dich, dass du die erforderlichen Bibliotheken installiert hast, insbesondere die PIL (Pillow) Bibliothek, die für die Bildbearbeitung benötigt wird. Du kannst Pillow mit pip install Pillow installieren, wenn es noch nicht installiert ist.


import os
import random
from PIL import Image

# Verzeichnisse festlegen
input_dir = 'images'
output_dir = 'rotated_images'

# Erstelle das Ausgabe-Verzeichnis, falls es noch nicht existiert
if not os.path.exists(output_dir):
    os.makedirs(output_dir)

# Liste der Dateien im Eingabeordner
image_files = os.listdir(input_dir)

# Schleife durch jede Datei im Eingabeordner
for file_name in image_files:
    # Überprüfen, ob die Datei eine Bilddatei ist (z.B. .jpg, .png)
    if file_name.endswith(('.jpg', '.jpeg', '.png', '.bmp', '.gif')):
        # Bildpfad erstellen
        input_path = os.path.join(input_dir, file_name)
        output_path = os.path.join(output_dir, file_name)

        # Bild öffnen
        img = Image.open(input_path)

        # Zufällige Rotation um 180 Grad
        if random.choice([True, False]):
            img = img.rotate(180)

        # Bild speichern
        img.save(output_path)

        print(f'{file_name} wurde gedreht und in {output_dir} gespeichert.')

print('Bearbeitung abgeschlossen.')

Kopiere dieses Skript in eine Python-Datei, speichere es im selben Verzeichnis wie deine Bilder im Ordner “images” und führe es aus. Es wird zufällig Bilder um 180 Grad drehen und die gedrehten Bilder im Ordner “rotated_images” speichern. Denke daran, sicherzustellen, dass du die benötigten Bibliotheken installiert hast, bevor du das Skript ausführst.”

Nicht nur, dass der komplette Code erstellt wurde. ChatGPT erklärt auch was genau gemacht wird, fügt Kommentare ein und weist darauf hin welche Pakete installiert sein müssen.

Dies ist besonders hilfreich, wenn du nach schnellen Lösungen suchst oder einfach nur den Arbeitsablauf beschleunigen möchtest.

Aber Achtung! Der Chatbot ist definitiv nicht fehlerfrei. Ich habe schon sehr oft den erstellten Code korrigieren müssen damit es wirklich läuft. Manchmal werden sogar Funktionen genutzt die es so definitiv nicht gibt.

Erfahrungsgemäß wird das schlimmer, je komplexer die Aufgabe ist. Bilder laden, drehen und speichern ist keine wirklich schwierige Aufgabe in Python. Doch meistens braucht man eher Unterstützung bei den kniffligen Problemen. Das heißt, gerade dann muss man den Code nochmal genau durchlesen, verstehen und ggf. kontrollieren.

Neben ChatGPT gibt es auch noch andere Coding ChatBots wie z.B. GitHub Copilot X. Hier ist bekannt, dass der erzeugte Code zum Teil eine exakte Kopie von schon vorhandenem Code ist. Das könnte zu Copyright Problemen führen. Daher mein Tipp: Den “künstlichen Code” eher als Basis nehmen und davon ausgehend eigenen Anpassungen und Erweiterungen machen.

2. Debugging-Unterstützung

Wer kennt das nicht: Man sucht stundenlang nach einem Fehler und zum Schluss bemerkt man, dass die Variable falsch definiert war oder man sich vertippt hat.

Hier kann ChatGPT als dein digitaler Co-Pilot dienen. Beschreibe das Problem so genau wie möglich, und ChatGPT kann mögliche Lösungsansätze vorschlagen oder dir helfen, den Fehler zu finden. Zum Beispiel:

Du: “Ich erhalte einen Fehler, der besagt, dass eine Variable nicht definiert ist, obwohl ich sie initialisiert habe. Kannst du mir helfen?”

ChatGPT: “Sicher! Stelle sicher, dass du die Variable an der richtigen Stelle initialisiert hast. Manchmal kann ein Einrückungsfehler dazu führen, dass Python die Variable nicht erkennt.”

Diese Art von Unterstützung kann dir einige frustrierende Stunden ersparen. Oft liefert ChatGPT auch eine Reihe von möglichen Ursachen die man alle nacheinander prüfen kann.

Eine andere Möglichkeit ist es deinen Code in den Chat einzufügen und nach dem Fehler zu fragen. Meistens findet der Chatbot das Problem, aber nicht immer.

Insbesondere wenn man lange Code Abschnitte einfügt ist es mir schon oft passiert, dass Chat GPT sagt “Dein Code sieht gut aus” obwohl es fehlerhaft war. Also auch hier gilt: Die menschliche Intelligenz muss zum Schluss nochmal überprüfen.

3. Python Lernen mit ChatGPT

Wenn du ein Anfänger in der Python-Programmierung bist, kann ChatGPT eine sehr gute Lernressource sein. Du kannst nach Erklärungen für Konzepte, Tutorials oder Beispielen fragen, und ChatGPT wird dir leicht verständliche Informationen liefern, die dir beim Lernen helfen. Es kann auch eine großartige Möglichkeit sein, Konzepte zu vertiefen, indem du Fragen stellst und Antworten in verständlicher Sprache erhältst. Zum Beispiel:

Du: “Kannst du mir erklären, was eine List Comprehension in Python ist?”

ChatGPT: “Natürlich! Eine List Comprehension ist eine kompakte Möglichkeit, Listen in Python zu erstellen oder zu transformieren. Sie besteht aus einer einzigen Zeile Code und ist oft einfacher zu lesen als eine herkömmliche Schleife. Hier ist ein Beispiel: [x**2 for x in range(5)] erstellt eine Liste der Quadrate der Zahlen von 0 bis 4.”

Auch hilfreich ist, wenn man (im gleichen Chat) nochmal nachfragt die Erklärung für jemand zu schreiben der nicht programmieren kann:

Du: “Danke für die Erklärung. Kannst du das nochmal so umformlieren, dass es auch jemand versteht der überhaupt nicht programmieren kann?”

ChatGPT: “Natürlich! Eine List Comprehension ist eine spezielle Technik in Python, die es ermöglicht, Listen auf einfache und effiziente Weise zu erstellen. Stell dir vor, du hast eine Liste von Dingen, wie zum Beispiel Zahlen oder Wörter, und du möchtest eine neue Liste erstellen, indem du diese Dinge auf eine bestimmte Weise auswählst oder änderst.

Mit einer List Comprehension kannst du das auf eine saubere Weise tun, ohne komplizierte Schleifen zu verwenden. Hier sind die Schlüsselteile:

  1. Du bestimmst, wie die neuen Elemente in deiner Liste aussehen sollen. Das könnte zum Beispiel das Quadrat von Zahlen sein oder nur gerade Zahlen.
  2. Du sagst Python, aus welcher bestehenden Liste du die Dinge auswählen möchtest.
  3. Du kannst auch angeben, unter welchen Bedingungen die Dinge aus der ursprünglichen Liste ausgewählt werden sollen. Wenn du keine Bedingung angibst, werden alle Dinge übernommen.

Hier sind Beispiele:

[…]”

Du siehst, die verschiedenen Sichtweisen auf ein Konzept kann man wunderbar verwenden, um auch wirklich alles bis ins Detail zu verstehen.

4. Automatisierung von Routineaufgaben mit Python und ChatGPT

ChatGPT kann dir auch dabei helfen, lästige Routineaufgaben zu automatisieren. Zum Beispiel kannst du Skripte erstellen, die Dateien organisieren, Texte formatieren oder Daten analysieren. Indem du ChatGPT in deinen Workflow einbindest, kannst du Zeit sparen und dich auf wichtigere Aufgaben konzentrieren. Dies ist besonders nützlich, wenn du freiberuflich oder an Projekten mit engen Zeitplänen arbeitest. Hier ist ein Beispiel für die Automatisierung von Textformatierung:

Du: “Kannst du mir einen Python-Codeausschnitt generieren, der einen Text in Markdown in HTML konvertiert?”

ChatGPT: “Klar! Hier ist ein einfaches Beispiel:

import markdown
input_text = 'Dies ist *Markdown* Text.'
html_output = markdown.markdown(input_text) 
print(html_output)

Mit diesem Code kannst du Markdown-Text in HTML konvertieren.”

Wie integriere ich ChatGPT in meinen Arbeitsablauf?

Die Verwendung von ChatGPT in deinem Programmieralltag ist einfacher, als du vielleicht denkst. wie oben beschrieben kannst du einfach die Online Version nutzen. OpenAI bietet aber auch APIs, um ChatGPT in deine eigenen Anwendungen oder Skripte zu integrieren.

Hier sind einige Schritte, um loszulegen:

  1. API-Zugriff: Wenn du etwas mehr Zeit investieren willst, kannst du auf die OpenAI API zugreifen, um ChatGPT in deine eigenen Anwendungen zu integrieren. Du findest detaillierte Dokumentationen auf der OpenAI-Website.
    Für VSCode gibt z.B. schon eine Extension die genutzt werden kann.
  2. Online-Plattformen: Wenn schnell Ergebnisse erzielen möchtest, bieten einige Online-Plattformen wie ChatGPT Playground eine benutzerfreundliche Benutzeroberfläche, über die du direkt mit ChatGPT interagieren kannst. Diese Plattformen sind am besten, um schnell Antworten oder Codeausschnitte zu erhalten, ohne viel Setup Aufwand.
  3. Experimentieren: Egal, ob du die API oder eine Online-Plattform verwendest, probiere verschiedene Anfragen aus, um die Möglichkeiten von ChatGPT zu erkunden. Je mehr du mit ihm interagierst, desto besser wirst du verstehen, wie du es am effektivsten nutzen kannst. Sei kreativ und nutze ChatGPT, um innovative Lösungen für deine Programmieraufgaben zu finden.

Fazit

Insgesamt kann ChatGPT ein mächtiges Werkzeug für Programmierer sein, um die Arbeit zu erleichtern und Produktivität zu steigern. Ob du nach Code-Generierung, Debugging-Unterstützung, Lernressourcen oder Automatisierung suchst, ChatGPT kann dir in vielerlei Hinsicht helfen. Integriere es in deinen Arbeitsablauf und wie du hier gesehen kannst, kann es deine Programmieraufgaben vereinfachen.

Als letzter Tipp noch: Je detaillierter du die Anfragen an ChatGPT beschreibst, desto besser werden die Antworten. Stell dir vor du erklärst einem Experten dein Problem. Dieser Experte hat allerdings keine Ahnung von der Ausgangslage, also muss das erst mal im Detail erklärt werden.

Die Verbindung von menschenähnlicher Kommunikation mit künstlicher Intelligenz eröffnet völlig neue Horizonte für die Programmierung. Happy Coding!

Weiterführende Informationen und Ressourcen:

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Melde dich jetzt für die Early Access Version von Chronosk an

Jetzt Starten
apartment