Wie am Besten mit Python beginnen?

  • Hallo Community,

    ich habe in den letzten beiden Jahren immer mal wieder mit Python geliebäugelt, aber ich fand keinen guten Einstieg in das Thema. Beruflich programmiere ich im MS Kosmos und als M365 Admin vornehmlich mit PowerShell und dessen Modulen. Mit der privaten Hinwendung zu Linux und Open Source und auch der Möglichkeit, M365 mit Python anzusprechen, möchte ich meinen Horizont erweitern und mittelfristig ernsthaft in Python einsteigen.

    Mein Problem ist nur, dass ich nicht so recht weiß, WIE ich am Besten in das Thema einsteige. Ich hatte mir letztes Jahr ein Buch zum Thema gekauft und einige Lektionen abgearbeitet. Aber das war, gelinde gesagt, Zeitverschwendung. Zum einen waren die Beispiele darin abstrakt und lassen sich nicht sinnvoll auf konkrete Anwendungsfalle anwenden und zum Anderen merke ich, dass ich beim stumpfen Abtippen von Listings nichts lerne. Ich bin eher der visuelle Typ, der z.B. eine Tutorial-Reihe mit konkreten Beispielen und Anforderungen z.B. aus dem Leben eines Admins und deren praktische Umsetzung mit der Programmiersprache besser lernen kann.

    Kennt Ihr vielleicht Quellen, YT Kanäle, Tutorials, Blogs , anhand derer man sinnvoll den Einstig und die Vertiefung in Python und lernen kann?

    Einige von Euch, wie z.B. Actionschnitzel oder Herr_Berg sind hier im Forum ja durchaus mit einigen profunden Python Beiträgen am Start.

    Das Thema finde ich wirklich spannend, aber der Einstieg wollte mir bis jetzt noch nicht so richtig glücken.

    Daily Driver PC: Pop!_OS 22.04 + Win 10 Dual Boot/ Intel i7-7700K / NVIDIA GeForce GTX 1070 / 32 GB RAM / 3x 1TB Samsung SSD

    Daily Driver Laptop: Framework 13 / Ubuntu 24.04 LTS / AMD Ryzen 7 7840U / 64 GB RAM / 2TB WD NVME

    Backup Laptop: HP Elitebook x360 1030 G2 / Fedora 40 / Intel i5-7200U / Intel HD 620 / 8 GB RAM / 500 GB Samsung NVMe

    Spiele PC: MX Linux + Garuda / AMD Ryzen 7 7800X3D / Radeon RX 6750 XT / 64 GB RAM / 2TB Samsung NVME + 512 GB Kingston NVME + 250 GB Samsung SSD

  • Mein Vorschlag ist ein Thread in dem wir an an einem Thema arbeiten. Du schreibst die Problemstellung und gemeinsam mit der Community lernst du die Schritte, Befehle, Funktionen und Module kennen.

    So kann schritt für schritt jedes notwendige Thema auf dem Weg durchgekaut werden

    #ichmussmalmächtigkacken

  • Ich kann nur für mich sprechen, aber ich hab garnicht mit "Hallo Word" angefangen. Ich hatte einfach diesen Drang etwas zu programmieren, was ich selbst brauche. Mit dem Mindset hab ich angefangen. Wenn du mal in mein Github guckst, ist da nur Zeug das ich so nicht gefunden habe, wie ichs gebraucht hab.

    Beispiel: Meine Frau hat gesagt, ich soll Gas und Stromverbrauch tracken. Dadurch ist das entstanden:

    GitHub - actionschnitzel/strom_gas_rechner: Errechnet den den Verbrauch seit der letzten Ablesung
    Errechnet den den Verbrauch seit der letzten Ablesung - actionschnitzel/strom_gas_rechner
    github.com

    Generell ist was nicoletta sagt eine gute Idee.


    #Edit: Sehr gut ist der Kanal zum Lernen:

    Codemy.com
    Learn to code with our quick and easy to follow videos! Python, Django, Tkinter, Kivy, Node, Ruby on Rails, Ruby, HTML and CSS, Javascript, SQL, Ubuntu and…
    www.youtube.com

    Work-PC: Debian 12 + Gnome | Surface Go2: Ubuntu 24.04 + Surface-Kernel | Server: Ubuntu Server 22.04 | Laptop: Linux Mint 21.2 |

    Raspberry Pi4s: PiOS Lite arm64 | Raspberry Pi5: Ubuntu 24.04 + Nvme M.2 | Steam Deck | Auf Linux seit 2003 | Python-Jünger|

    Mein Tool um das Desktop-Erlebnis auf dem Raspberry Pi zu verbessern: PiGro - Just Click It!

    Edited 3 times, last by Actionschnitzel (May 11, 2024 at 4:00 PM).

  • El Pollo Diablo Danke für die Erwähnung! :)

    Zu Python gibt es tolle Bücher. Ich fand Automate the Boring Stuff with Python von Al Sweigart am praktischsten. Es gibt auch eine deutsche Übersetzung davon. Du findest aber, wenn du ein bisschen googelst, jede Menge Anfängerbücher zu Python. Bei meiner Lieblingssprache Ruby ist das leider nicht so.

    Wenn du dann ein eigenes kleines Projekt beginnst, findest du über Suchmaschinen sehr schnell Lösungen, wenn du gerade irgendwo nicht weiterweißt. ChatGPT schreibt so gutes Python, dass du normalerweise ein komplettes kleines Programm davon erstellen lassen kannst. Manchmal macht es seltsame Fehler, und du musst dir die Fehlermeldungen genauer anschauen. Bei schwierigeren Problemen findest du auf StackOverflow kompetente Leute.

    Tief in die Programmierung einzusteigen, ist mir selbst nie gelungen, aber auch kleine Hobbyprojekte können anregend sein. Beispielsweise hat das hier veröffentlichte Programm, das Wetterdaten sammelt, mittlerweile eine ganze Menge davon in einer Datei abgelegt.

    Fang einfach an, ein kleines Projekt zu einer Fragestellung, die dich interessiert, umzusetzen!

    Edited once, last by Herr_Berg: Links (May 13, 2024 at 12:10 PM).

  • Das PDF sieht gut aus.

    Work-PC: Debian 12 + Gnome | Surface Go2: Ubuntu 24.04 + Surface-Kernel | Server: Ubuntu Server 22.04 | Laptop: Linux Mint 21.2 |

    Raspberry Pi4s: PiOS Lite arm64 | Raspberry Pi5: Ubuntu 24.04 + Nvme M.2 | Steam Deck | Auf Linux seit 2003 | Python-Jünger|

    Mein Tool um das Desktop-Erlebnis auf dem Raspberry Pi zu verbessern: PiGro - Just Click It!

  • Vielen Dank für Euren Input. Eure verlinkten Ressourcen schaue ich mir mal genauer an.

    Ich habe im Berufsleben tatsächlich schon ein konkretes Beispiel einer täglichen stumpfen Aufgabe, die ich liebend gerne weg-automatisieren möchte:

    Einmal pro Tag rufe ich auf der Arbeit morgens einen Report im Microsoft Enpoint Manager (ehemals Microsoft System Center Configuration Manager) per URL auf, den ich über ein Auswahlmenü dann in CSV exportiere und diese exportierte CSV Datei in einer SharePoint Bibliothek ablege. Dort rufen dann zeitlich gesteuerte PowerShell Skripte die CSV auf, analysieren den Inhalt und schreiben dessen Assets in eine SharePoint Online Liste bzw. aktualsieren dort bereits bestehende Elemente oder löschen die Elemente aus der SharePoint Online Liste, die in der exportierten CSV nicht mehr auffindbar sind. Ein Power BI Report bereitet diese Zahlen dann tagesaktuell für unsere Abteilung auf.

    Den ganzen PowerShell Teil habe ich bereits automatisiert. Meine Herausforderung ist "nur noch", automatisiert die Browser-URL des Reports aufzurufen, dort den SQL Report über das "Export -> CSV" Menü als CSV Datei herunterzuladen und den ganzen Bumms auf einer Sharepoint Online Bibliothek abzulegen. Das Skript müsste sich also in Richtung SharePoint authentifizieren können. In PowerShell habe ich das über eine Azure App Registration mit entsprechenden API-Rechten und einem Zertifikatsthumbprint gemacht. Über das PnP PowerShell Modul kann ich direkt SharePoint ansprechen und dort Inhalte erstellen, ändern oder löschen.

    Ob und wie das mit Python geht? Da bin ich ad hoc noch total überfragt. Für den Anfang würde es mir schon ausreichen, wenn ich es schaffe, dass das Python Skript die CSV Datei von der URL exportiert und in einen definierten Ordner auf meinem PC ablegt. Diesen Ordner könnte ich ja relativ einfach mit SharePoint und Windows Bordmitteln synchronisieren. Somit würde ich mir die ewig gleiche stupide Fleißaufgabe ersparen, jeden Morgen eine URL abzurufen, um dort eine CSV Datei herunterzuladen und diese Datei dann in einem bestimmten Ordner abzuzlegen.

    Daily Driver PC: Pop!_OS 22.04 + Win 10 Dual Boot/ Intel i7-7700K / NVIDIA GeForce GTX 1070 / 32 GB RAM / 3x 1TB Samsung SSD

    Daily Driver Laptop: Framework 13 / Ubuntu 24.04 LTS / AMD Ryzen 7 7840U / 64 GB RAM / 2TB WD NVME

    Backup Laptop: HP Elitebook x360 1030 G2 / Fedora 40 / Intel i5-7200U / Intel HD 620 / 8 GB RAM / 500 GB Samsung NVMe

    Spiele PC: MX Linux + Garuda / AMD Ryzen 7 7800X3D / Radeon RX 6750 XT / 64 GB RAM / 2TB Samsung NVME + 512 GB Kingston NVME + 250 GB Samsung SSD

  • Vielen Dank für Euren Input. Eure verlinkten Ressourcen schaue ich mir mal genauer an.

    Guck mal damit hol ich mir download Statisitken von meinem Pi-Programm, das GUI-Zeug kannst du ignorieren:

    Könnte für den Anfangen helfen:

    Work-PC: Debian 12 + Gnome | Surface Go2: Ubuntu 24.04 + Surface-Kernel | Server: Ubuntu Server 22.04 | Laptop: Linux Mint 21.2 |

    Raspberry Pi4s: PiOS Lite arm64 | Raspberry Pi5: Ubuntu 24.04 + Nvme M.2 | Steam Deck | Auf Linux seit 2003 | Python-Jünger|

    Mein Tool um das Desktop-Erlebnis auf dem Raspberry Pi zu verbessern: PiGro - Just Click It!

Participate now!

Don’t have an account yet? Register yourself now and be a part of our community!