Empfehlungen rund um die Workshop Themen
Offizielle Library Carpentry-Lektionen
Python-Library-Empfehlungen
Python - Standard Libraries - Third Party Libraries - Python Standard Libraries * pathlib - Selenium - Seaborn - bokeh - black - scikit-learn - NLTK - Django - flask - Camelot
Lese-/Hör-/Seh-Empfehlungen
Lesen
- Buch Automate boring stuff with Python (komplett online CC-BY); Deutsche version “Routineaufgaben mit Python automatisieren”
- Buch Fluent Python (fortgeschritten)
- Buch Weniger schlecht progammieren
- PyCoders Weekly Newsletter
- Buch Seven languages in seven weeks
- The 35 Words You Need to Python
- Buch Git from the Bottom Up
- Buch https://git-scm.com/book/en/v2
- Oh Shit, Git?!?
- GitHub Pages
- Definitely not lazy Comic
- Why Microsoft needed to make Windows run Linux software
- Wikipedia Auszeichnungssprache
- CR LF erklärt
- What is CRLF? Carriage Return?
- What’s a Carriage and Who’s Feeding it Lines? CRLF - Computer Stuff They Didn’t Teach You #1
- Python built-ins worth learning
Podcasts
- Command Line Heros (en) - “Command Line Heroes tells the epic true tales of how developers, programmers, hackers, geeks, and open source rebels are revolutionizing the technology landscape.” Z. B.
- Talk Python to me (en)
- PythonBytes (en)
Videos
- PyCon - Talks, Tutorial und vieles mehr von den PyCon-Konferenzen
- 09:09 min Die Entstehung von Unix
- 5:39 min 5 Linux Distributionen für Anfänger
- Multilingual 01:25:04 min Revolution OS - 2001
- 51:12 min Arte Doku: Codename Linux 2001
Text-Editoren/IDEs (integrated development environment)
- PyCharm
- Spyder
- Emacs
- Geany
- Visual Studio Code / VSCodium (binary releases of VS Code without MS branding/telemetry/licensing )
- Notepad ++
- … viele mehr ### Anforderungen an einen guten Editor/IDE
- Quellcode speichern und wieder laden
- Eine IDE oder ein Editor muss Deine Arbeit speichern und alles später wieder öffnen, und zwar in demselben Zustand, in dem es sich zuvor befand, um so Zeit für die Entwicklung zu sparen.
- Ausführung von innerhalb der Umgebung
- Es sollte einen eingebauten Compiler haben, um den Code auszuführen. Wenn er nicht in der gleichen Software ausgeführt wird, dann ist es wahrscheinlich ein Texteditor.
- Debugging-Unterstützung
- Der Debugger in den meisten IDEs bietet die Möglichkeit, schrittweise durch den Code zu gehen und Haltepunkte um den Code teilweise auszuführen.
- Syntax-Hervorhebung
- Die Fähigkeit, Schlüsselwörter, Variablen und Symbole in Ihrem Code schnell zu erkennen, erleichtert das Lesen und Verstehen des Codes erheblich.
- Automatische Code-Formatierung
- Dies ist ein interessantes Merkmal; der Code rückt sich selbst ein, wenn der Entwickler Schleifen, Funktionen oder einen anderen Blockcode verwendet.
Wie kann man weitermachen:
- Lektionen selbstständig reproduzieren
- kleine alltägliche Aufgabe finden, die man mit Hilfe des Gelernten lösen kann, so das sie automatisch abläuft
- HackyHour organisieren
- Bei Problemen melden (wir helfen gerne falls möglich)
- Command Line Challenge
Beispiele für Einsatz von Python(-Skripten) im Biblioteksalltag:
Mögliche Projekte:
- Linkchecker
- Manipulation von großen Excel-Dateien / wiederkehrende Arbeiten in Excel
- Sicherung von wichtigen Dateien
- Änderung der Namensansetzung fürs Katalogisieren, Beispiel:
- IN: “Wolfgang Amadeus Mozart”
- OUT: “Mozart, Wolfgang Amadeus”
- Identifizierung von Lücken in der Signaturenvergabe
Python-Funktionen:
Beispiel-Projekt: Liste mit Bestellungen auf Zeitschriftenartikel soll mit pandas verarbeitet werden. Um die Liste auswerten zu können, benötigt man einen eindeutigen Wert. Bei Zeitschriften bietet sich da bspw. die ISSN an. - ISSNs bereinigen: - .astype(str): ISSNs bestehen aus Ziffern, einem Bindestrich und ggf. einem X und sind somit kein Integer oder floar. Das Umwandeln in einen String beugt Verwirrungen vor. - .upper(): ISSNs, welche auf “X” enden sind in der vorliegenden Liste inkonsistent, da händisch erfasst oder aus verschiedenen Quellen stammend (Bsp. “0000-123X” und “0000-123x”). Mit .upper() kann man alle Xe groß schreiben. - .replace(): ISSNs sind auch inkonsistent in der Schreibweise (Bsp.: “0000-1234” und “0000 - 1234”), mit .replace() kann die Schreibweise vereinheitlicht werden - Struktur der Liste bearbeiten: - .keys(): zeigt alle Spaltenüberschriften an - .rename(): ändert Spaltennamen - .drop(): löscht Spalten oder Reihen - .groupby(): gruppiert nach Werten - .drop_duplicates(): löscht Reihen nach dubletten Werten - Liste auswerten: - .count(): benutzt, um bspw. Bestellzahlen auf ISSNs zu ermitteln, wie oft wird eine ISSN in der Datei genannt? => Anzahl der Bestellungen - .to_excel(): speichert das Ergebnis als Excel-Datei ab
Tipps & Tricks
- Unix Subsystem unter Windows 10
- Python 3 Quick Tip: The easy way to deal with file paths on Windows, Mac and Linux
- GitHub Email privacy issue auflösen
- MYSYS zum Installieren von weiteren Tools auf GitBash (e.g. tmux)
- Beispiel wie man Tools von MYSYS in GitBash implementiert ### Binder #### Ausweichmöglichkeit, falls Anaconda nicht funktioniert Gehe auf https://mybinder.org/. Kopiere die URL https://github.com/foerstner-lab/Bits_and_pieces_for_the_carpentries_workshops nach “GitHub-Repositorium-Name oder URL” und füge “empty_jupyter_notebook_for_binder.ipynb” in “Pfad zu einer Notebook-Datei” ein.
Klicke auf “launch”.
Wie man Python in Windows startet
In der Bash ZBMED-Konfiguration:
$ /c/ProgramData/Anaconda3/python
Unix Subsystem unter Windows 10
- https://docs.microsoft.com/de-de/windows/wsl/install-win10
- Why Microsoft needed to make Windows run Linux software
Einen Alias für einen langen Pfad erstellen
(damit muss nicht der lange Pfadname “/c/ProgramData/Anaconda3/python” angegeben werden): Alias für einen langen Pfad erstellen - Stackoverflow