Benutzer-Werkzeuge

Webseiten-Werkzeuge


schule:python

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen RevisionVorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
Nächste ÜberarbeitungBeide Seiten der Revision
schule:python [2020-07-01 23:56] – [Python lernen] marco.bakeraschule:python [2021-07-21 08:18] – [Projekte] chat bots pintman
Zeile 59: Zeile 59:
 ==== Quelltext lesen ==== ==== Quelltext lesen ====
  
-Ein weiterer Weg, um Python zu lernen, ist sicherlich das Lesen von gutem Quelltext. So kann man sich von erfahrenen Programmierern abschauen, wie sie ein Problem gelöst haben. Der Text [[http://docs.python-guide.org/en/latest/writing/reading/|Reading Great Code]] empfiehlt den Quelltext einiger Projekte. Dort wird z.B. [[https://github.com/gleitz/howdoi|howdoi]] erwähnt, das vom Umfang gering und überschaubar für den Einstieg ist.+Ein weiterer Weg, um Python zu lernen, ist sicherlich das Lesen von gutem Quelltext. So kann man sich von erfahrenen Programmierern abschauen, wie sie ein Problem gelöst haben. Der Text [[http://docs.python-guide.org/en/latest/writing/reading/|Reading Great Code]] empfiehlt den Quelltext einiger Projekte. Dort wird z.B. [[https://github.com/gleitz/howdoi|howdoi]] erwähnt, das vom Umfang gering und überschaubar für den Einstieg ist. Auch die Standard-Bibliotheken von Python selbst bieten sich für ein Selbst-Studium an - [[https://death.andgravity.com/stdlib|Learn by reading code]] beschreibt interessante Module.
  
 Das Buch [[https://store.rpipress.cc/products/code-the-classics|Code The Classics]] stellt verschiedene klassische Computerspiele und deren neue Implementierung in Python vor. Das Buch [[https://store.rpipress.cc/products/code-the-classics|Code The Classics]] stellt verschiedene klassische Computerspiele und deren neue Implementierung in Python vor.
Zeile 66: Zeile 66:
 ===== Projekte ===== ===== Projekte =====
  
-  * [[https://www.raspberrypi.org/learning/getting-started-with-the-twitter-api/|Mit Python einen Twitterbot programmieren]]+  * [[https://github.com/tuvtran/project-based-learning#python|Project-based learning]] stellt Projekte für Python und andere Programmiersprachen vor. 
 +  * [[https://www.raspberrypi.org/learning/getting-started-with-the-twitter-api/|Mit Python einen Twitterbot programmieren]], oder einen [[https://hackaday.com/2021/04/08/code-your-own-twitch-chat-controls-for-robots-or-just-about-anything-else/|Twitch-Chatbot]] - [[https://en.wikipedia.org/wiki/Twitch_Plays_Pok%C3%A9mon|Wikipedia zu Twitch plays Pokemon]]. [[https://github.com/vranki/hemppa|hemppa]] oder [[https://opsdroid.dev/|opsdroid]] ermöglichen das Erstellen von Chatbots für Matrix, die mit [[https://github.com/42wim/matterbridge|matterbridge]] auf verschiedene Plattformen gebracht werden können.
   * //Raspberry Pi programmieren mit Python// Kapitel 8.3 »Pong revisited«   * //Raspberry Pi programmieren mit Python// Kapitel 8.3 »Pong revisited«
   * [[Python Pakete veröffentlichen]]   * [[Python Pakete veröffentlichen]]
Zeile 72: Zeile 73:
   * [[Eigene Projekte]]   * [[Eigene Projekte]]
   * [[Minecraft Explorer]]   * [[Minecraft Explorer]]
 +  * [[https://training.talkpython.fm/courses/python-powered-chat-apps-with-twilio-sendgrid-and-flask|Python-powered chat apps with Twilio and SendGrid Course]]
  
 ===== Weblinks ===== ===== Weblinks =====
Zeile 77: Zeile 79:
 ==== Python lernen ==== ==== Python lernen ====
  
 +  * [[https://github.com/alts/karel|Karel]] ist ein kleiner Roboter, der in Python programmiert werden kann.
 +  * [[https://play.google.com/store/apps/details?id=com.programiz.learnpython|programiz]] ist eine App für Android/iOS, um Python zu lernen. Es gibt eine freie und eine kommerzielle Version.
   * [[https://sw101.tbs1.de|Software101]] stellt verschiedene Python-Bibliotheken und erste Schritte mit ihnen vor.   * [[https://sw101.tbs1.de|Software101]] stellt verschiedene Python-Bibliotheken und erste Schritte mit ihnen vor.
   * **[[http://cscircles.cemc.uwaterloo.ca/de|Computer Science Circles]]** - schönes deutsches Tutorial mit interaktiven Übungen. Basierend auf diesem Kurs hat Thomas Karp eine [[http://infoskript.de/python|Seite mit zusätzlichen Informationen]] erstellt.   * **[[http://cscircles.cemc.uwaterloo.ca/de|Computer Science Circles]]** - schönes deutsches Tutorial mit interaktiven Übungen. Basierend auf diesem Kurs hat Thomas Karp eine [[http://infoskript.de/python|Seite mit zusätzlichen Informationen]] erstellt.
   * [[https://github.com/asweigart/pythonstdiogames|PythonStdioGames]] enthält eine Sammlung verschiedener Spiele, die jeweils mit einem kurzen Python-Programm realisiert wurden und zudem gut dokumentiert sind. Sie laden ein, durch eigene Ideen erweitert zu werden.   * [[https://github.com/asweigart/pythonstdiogames|PythonStdioGames]] enthält eine Sammlung verschiedener Spiele, die jeweils mit einem kurzen Python-Programm realisiert wurden und zudem gut dokumentiert sind. Sie laden ein, durch eigene Ideen erweitert zu werden.
-  * Vertiefend Übungen gibt es bei inf-schule.de: [[http://inf-schule.de/programmierung/imperativeprogrammierung/fallstudien|Umfangreichere Fallstudien]], [[http://inf-schule.de/programmierung/imperativeprogrammierung/konzepteimp|kleinere Übungen]].+  * Vertiefende Übungen gibt es bei inf-schule.de: [[http://inf-schule.de/programmierung/imperativeprogrammierung/fallstudien|Umfangreichere Fallstudien]], [[http://inf-schule.de/programmierung/imperativeprogrammierung/konzepteimp|kleinere Übungen]].
   * [[https://www.codecademy.com/learn/python|Programmierkurs bei Codecademy]] - Neben Grundlagen werden hier auch die Konzepte der [[schule:objekt-orientierte_programmierung|Objekt-Orientierten Programmierung (OOP)]] in einem interaktiven Kurs vorgestellt.   * [[https://www.codecademy.com/learn/python|Programmierkurs bei Codecademy]] - Neben Grundlagen werden hier auch die Konzepte der [[schule:objekt-orientierte_programmierung|Objekt-Orientierten Programmierung (OOP)]] in einem interaktiven Kurs vorgestellt.
   * [[http://opentechschool.github.io/python-beginners/de/index.html|Programmiereinführung mit Python]] von der opentechschool, die sich an die Programmierung von Turtles anlehnt. Am Ende ist eine schöne [[http://opentechschool.github.io/python-beginners/de/where_to_go.html|Literaturliste]].   * [[http://opentechschool.github.io/python-beginners/de/index.html|Programmiereinführung mit Python]] von der opentechschool, die sich an die Programmierung von Turtles anlehnt. Am Ende ist eine schöne [[http://opentechschool.github.io/python-beginners/de/where_to_go.html|Literaturliste]].
Zeile 99: Zeile 103:
   * Bei [[https://exercism.io/|exercism.io]] können unterschiedliche Übungen gemacht werden, die sogar von einem Mentor betreut werden.   * Bei [[https://exercism.io/|exercism.io]] können unterschiedliche Übungen gemacht werden, die sogar von einem Mentor betreut werden.
   * Der [[https://python-podcast.de|Python Podcast]] gibt in der Folge [[https://python-podcast.de/show/python-fuer-einsteiger/|Python für Einsteiger]] Tipps für Anfänger.   * Der [[https://python-podcast.de|Python Podcast]] gibt in der Folge [[https://python-podcast.de/show/python-fuer-einsteiger/|Python für Einsteiger]] Tipps für Anfänger.
 +  * [[https://www.w3schools.com/python/default.asp|W3Schools]] bietet ebenfalls Informationen zu Python.
  
   * [[IDLE|Erste Schritte mit IDLE]]   * [[IDLE|Erste Schritte mit IDLE]]
Zeile 117: Zeile 122:
   * [[https://thonny.org/|Thonny]] ist eine einfache Entwicklungsumgebung mit einem anschaulichen Debugger, die von der Universität Tartu in Estland entwickelt wird. Bei Fehlern werden typische Fehlerquellen genannt.   * [[https://thonny.org/|Thonny]] ist eine einfache Entwicklungsumgebung mit einem anschaulichen Debugger, die von der Universität Tartu in Estland entwickelt wird. Bei Fehlern werden typische Fehlerquellen genannt.
   * [[https://www.jetbrains.com/pycharm|PyCharm]] von JetBrains ist eine professionelle IDE, die als kostenlose Community- oder kostenpflichtige Professional-Version erhältlich ist. Die IDE bietet eine aufgeräumte Oberfläche und sehr gute Unterstützung bei der Vervollständigung von Schlüsselwörtern und Umbenennung von Methoden, Klassen, Attributen, Variablen und Dateien. Unter dem folgenden Link kann eine kostenfreie [[https://www.jetbrains.com/student/|Studentenlizenz]] der Professional-Version erworben werden, wenn bei der Registrierung die TBS1-Adresse verwendet wird.   * [[https://www.jetbrains.com/pycharm|PyCharm]] von JetBrains ist eine professionelle IDE, die als kostenlose Community- oder kostenpflichtige Professional-Version erhältlich ist. Die IDE bietet eine aufgeräumte Oberfläche und sehr gute Unterstützung bei der Vervollständigung von Schlüsselwörtern und Umbenennung von Methoden, Klassen, Attributen, Variablen und Dateien. Unter dem folgenden Link kann eine kostenfreie [[https://www.jetbrains.com/student/|Studentenlizenz]] der Professional-Version erworben werden, wenn bei der Registrierung die TBS1-Adresse verwendet wird.
-  * [[https://code.visualstudio.com/|Visual Studio Code]] ist ein leichtgewichtiger und freier Editor für Linux, Windows und MacOS mit einer mächtigen Integration für Python und andere Programmiersprachen.  Mit [[https://vscodium.com/|VSCodium]] existiert eine Variante, die ohne Telemetrie und Microsoft-spezifische Anpassungen auskommt.+  * [[https://code.visualstudio.com/|Visual Studio Code]] ist ein leichtgewichtiger und freier Editor für Linux, Windows und MacOS mit einer mächtigen Integration für Python und andere Programmiersprachen.  Mit [[https://vscodium.com/|VSCodium]] existiert eine Variante, die ohne Telemetrie und Microsoft-spezifische Anpassungen auskommt. Mit dem Plugin [[https://github.com/microsoft/codetour|codetour]] können Touren durch den eigenen Quelltext aufgezeichnet werden.
   * [[Sublime Text]] ist ein mächtiger und ressourcenschonender kommerzieller Editor, der frei genutzt werden kann. Er ist nicht nur für Python geeignet. Mehr Informationen gibt es unter dem Link.   * [[Sublime Text]] ist ein mächtiger und ressourcenschonender kommerzieller Editor, der frei genutzt werden kann. Er ist nicht nur für Python geeignet. Mehr Informationen gibt es unter dem Link.
  
Zeile 134: Zeile 139:
 ==== Weitere Links ==== ==== Weitere Links ====
  
-  * [[http://brython.info/index.html|Brython]] ist eine JavaScript-Bibliothek, die Python im Browser ausführen kann.+  * [[http://brython.info/index.html|Brython]] ist eine JavaScript-Bibliothek, die Python im Browser ausführen kann (länger nicht mehr aktualisiert).
   * [[http://www.skulpt.org/|Skulpt]] ermöglicht es, einen Python-Interpreter auf einer Webseite einzubinden. Der Dienst [[https://trinket.io/|tinket.io]] nutzt dies z.B.   * [[http://www.skulpt.org/|Skulpt]] ermöglicht es, einen Python-Interpreter auf einer Webseite einzubinden. Der Dienst [[https://trinket.io/|tinket.io]] nutzt dies z.B.
   * Bei [[http://rg.robotgame.edu.pl/home|RobotGame]] müssen kleine Roboter in Python programmiert werden, die dann gegeneinander im Wettstreit antreten. Leider scheint das Projekt derzeit (Oktober, 2019) nicht aktiv weiterentwickelt zu werden.   * Bei [[http://rg.robotgame.edu.pl/home|RobotGame]] müssen kleine Roboter in Python programmiert werden, die dann gegeneinander im Wettstreit antreten. Leider scheint das Projekt derzeit (Oktober, 2019) nicht aktiv weiterentwickelt zu werden.
   * Webanwendungen lassen sich in Python z.B. mit [[https://bottlepy.org|Bottle]], [[http://flask.pocoo.org/|Flask]], [[https://cherrypy.org/|CherryPy]], oder [[https://justpy.io|JustPy]] erstellen.   * Webanwendungen lassen sich in Python z.B. mit [[https://bottlepy.org|Bottle]], [[http://flask.pocoo.org/|Flask]], [[https://cherrypy.org/|CherryPy]], oder [[https://justpy.io|JustPy]] erstellen.
   * [[https://github.com/satwikkansal/wtfpython/blob/master/README.md|wtfpython]] stellt verwunderliches Verhalten von Python vor und erklärt es.   * [[https://github.com/satwikkansal/wtfpython/blob/master/README.md|wtfpython]] stellt verwunderliches Verhalten von Python vor und erklärt es.
-  * [[pythongame|Spiele mit Python]]+  * [[gamedev|Spiele mit Python]]
   * [[https://www.donkeycar.com/|Donkeycar]] ermöglicht das Ansteuern von fernsteuerbaren Autos mit Python.   * [[https://www.donkeycar.com/|Donkeycar]] ermöglicht das Ansteuern von fernsteuerbaren Autos mit Python.
   * [[https://python-podcast.de|Python Podcast]]   * [[https://python-podcast.de|Python Podcast]]
 +  * [[https://calmcode.io/|calmcode]] erklärt verschiedene Python-Bibliotheken in einer guten Mischung aus Texten und kurzen Videos.
schule/python.txt · Zuletzt geändert: 2024-01-28 17:50 von pintman