Einführung in die asynchrone Programmierung mit Pythons Asyncio

Lernen Sie, wie man mit asynchroner E/A in Python umgeht

Dieses Tutorial gibt einen Überblick über die asynchrone Programmierung in Python unter Verwendung des asyncio-Moduls. Lernen Sie, wie Sie mit async/await asynchronen Code schreiben können, und sehen Sie sich praktische Beispiele für asynchrone E/A an.

Programmierung
Autor:in
Zugehörigkeit
Veröffentlichungsdatum

5. Februar 2024

Geändert

29. April 2025

Schlüsselwörter

Python-Asyncio-Tutorial, Asynchrone Programmierung in Python, Python async Beispiel

Einführung

Asynchrone Programmierung ist ein leistungsfähiger Ansatz, um nebenläufigen Code zu schreiben, der mehrere Aufgaben gleichzeitig bearbeiten kann. Das Python-Modul asyncio bietet einen Rahmen für das Schreiben von asynchronen Programmen mit den Schlüsselwörtern async und await, mit denen Sie E/A-gebundenen und hochgradig strukturierten Netzwerkcode effizient verwalten können.

In diesem Tutorium werden Sie lernen: - Die Kernkonzepte der asynchronen Programmierung. - Wie man mit dem Python-Modul asyncio asynchrone Funktionen schreibt. - Praktische Beispiele für asynchrone E/A.



Was ist asynchrone Programmierung?

Asynchrone Programmierung ermöglicht es einem Programm, eine Aufgabe zu initiieren und fortzufahren, ohne auf die Fertigstellung der Aufgabe zu warten. Dieser nicht-blockierende Ansatz ist ideal für die Verarbeitung von Operationen wie Netzwerkanfragen, Dateieingabe/Ausgabe oder andere Aufgaben, die Zeit benötigen, um abgeschlossen zu werden. Durch die Verwendung von asyncio können Sie die Reaktionsfähigkeit und Effizienz Ihrer Anwendungen verbessern.

Grundlegende Konzepte von Asyncio

  • Async-Funktionen:
    Definiert mit der async def-Syntax. Sie geben eine Coroutine zurück, eine spezielle Art von Iterator, auf den man warten kann.

  • Await:
    Das Schlüsselwort await wird verwendet, um die Ausführung einer asynchronen Funktion anzuhalten, bis eine Coroutine abgeschlossen ist.

  • Ereignis-Schleife:
    Die Ereignisschleife ist das Herzstück jeder Asyncio-Anwendung. Es plant und verwaltet asynchrone Aufgaben und Rückrufe.

Ein einfaches Asyncio-Beispiel

Nachfolgend ein Beispiel, das eine grundlegende asynchrone Funktion in Python demonstriert:

import asyncio

# Definieren einer asynchronen Funktion mit async def
async def greet(name):
    print(f"Hello, {name}!")
    # Simulieren einer asynchronen Verzögerung (z. B. Netzwerk-E/A)
    await asyncio.sleep(1)
    print(f"Goodbye, {name}!")

# Hauptfunktion zur Ausführung der asynchronen Funktion
async def main():
    # Planen Sie die Coroutine greet so, dass sie für zwei Namen gleichzeitig läuft
    await asyncio.gather(
        greet("Alice"),
        greet("Bob")
    )

# Ausführen der Ereignisschleife
if __name__ == "__main__":
    asyncio.run(main())

Erläuterung:
- Die Funktion greet ist als asynchrone Funktion definiert, die eine Begrüßung ausgibt, mit await asyncio.sleep(1) eine Sekunde lang wartet und dann eine Abschiedsnachricht ausgibt.
- Die Funktion main verwendet asyncio.gather, um zwei Instanzen von greet gleichzeitig auszuführen.
- asyncio.run(main()) startet die Ereignisschleife und führt die Coroutine main aus.

Fortgeschrittene Asyncio-Funktionen

Sobald Sie mit den Grundlagen vertraut sind, können Sie fortgeschrittenere Funktionen von asyncio erkunden, z. B:

  • Asynchrone E/A mit Streams:
    Handhabung von Netzwerkverbindungen mit asynchronen Sockets.
  • Task-Planung:
    Verwalten und Planen mehrerer asynchroner Aufgaben.
  • Integration mit anderen Bibliotheken:
    Kombination von asyncio mit anderen Frameworks für Webentwicklung oder Datenverarbeitung.

Schlussfolgerung

Asynchrone Programmierung mit dem Python-Modul asyncio kann die Leistung von E/A-gebundenen Anwendungen erheblich steigern und die Reaktionsfähigkeit Ihres Codes verbessern. Wenn Sie die Kernkonzepte verstehen und mit Beispielen wie dem obigen üben, sind Sie gut gerüstet, um Ihre eigenen asynchronen Programme zu schreiben.

Weiterführende Literatur

Viel Spaß beim Programmieren und bei der Erkundung der asynchronen Programmierung mit Pythons asyncio!

Weitere Artikel erkunden

Hinweis

Hier finden Sie weitere Artikel aus derselben Kategorie, die Ihnen helfen, tiefer in das Thema einzutauchen.

placeholder

placeholder
Keine Treffer
Zurück nach oben

Wiederverwendung

Zitat

Mit BibTeX zitieren:
@online{kassambara2024,
  author = {Kassambara, Alboukadel},
  title = {Einführung in die asynchrone Programmierung mit Pythons
    Asyncio},
  date = {2024-02-05},
  url = {https://www.datanovia.com/de/learn/programming/python/advanced/asyncio.html},
  langid = {de}
}
Bitte zitieren Sie diese Arbeit als:
Kassambara, Alboukadel. 2024. “Einführung in die asynchrone Programmierung mit Pythons Asyncio.” February 5, 2024. https://www.datanovia.com/de/learn/programming/python/advanced/asyncio.html.