Benutzer-Werkzeuge

Webseiten-Werkzeuge


schule:python

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen gezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen Revision Vorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
schule:python [03.01.2020 23:12]
Marco Bakera [Python lernen]
schule:python [08.09.2020 11:28]
Marco Bakera [Python lernen]
Zeile 27: Zeile 27:
 Python hat ein sehr gutes eingebautes Hilfesystem. Über den Befehl ''​help()''​ können für viele Module, Klassen und Befehle Informationen abgerufen werden. Probiere es z.B. mit ''​help(print)''​ einmal aus. Außerhalb von Python leistet ''​pydoc3''​ Hilfestellung. So liefern die Befehle ''​pydoc3 print''​ oder unter Windows ''​python -m pydoc print''​ Hilfe zu der Funktion ''​print''​. Mit ''​pydoc3 -p 8080''​ kann sogar ein kleiner Webserver gestartet werden, der das Hilfesystem über den Browser zugänglich macht. Python hat ein sehr gutes eingebautes Hilfesystem. Über den Befehl ''​help()''​ können für viele Module, Klassen und Befehle Informationen abgerufen werden. Probiere es z.B. mit ''​help(print)''​ einmal aus. Außerhalb von Python leistet ''​pydoc3''​ Hilfestellung. So liefern die Befehle ''​pydoc3 print''​ oder unter Windows ''​python -m pydoc print''​ Hilfe zu der Funktion ''​print''​. Mit ''​pydoc3 -p 8080''​ kann sogar ein kleiner Webserver gestartet werden, der das Hilfesystem über den Browser zugänglich macht.
  
-==== IRC-Chat ====+==== IRC-Chat ​und Forum ====
  
 Wer schnell Hilfe von anderen Programmierern gekommen möchte, findet Unterstützung in einem der zahlreichen [[https://​www.python.org/​community/​irc/​|IRC-Kanäle]],​ die über den [[https://​webchat.freenode.net/?​channels=%23python.de|Webchat von Freenode]] oder einen eigenen Client wie Thunderbird,​ [[wpde>​mIRC]] (Windows) oder [[https://​hexchat.github.io/​|HexChat]] (Windows, Linux und OS X.) erreichbar sind. Hinter IRC verbirgt sich ein Chatprotokoll. Den Einstieg erleichtert ein [[https://​wiki.ubuntuusers.de/​IRC/​|Artikel von ubuntuusers.de]]. Wer schnell Hilfe von anderen Programmierern gekommen möchte, findet Unterstützung in einem der zahlreichen [[https://​www.python.org/​community/​irc/​|IRC-Kanäle]],​ die über den [[https://​webchat.freenode.net/?​channels=%23python.de|Webchat von Freenode]] oder einen eigenen Client wie Thunderbird,​ [[wpde>​mIRC]] (Windows) oder [[https://​hexchat.github.io/​|HexChat]] (Windows, Linux und OS X.) erreichbar sind. Hinter IRC verbirgt sich ein Chatprotokoll. Den Einstieg erleichtert ein [[https://​wiki.ubuntuusers.de/​IRC/​|Artikel von ubuntuusers.de]].
Zeile 33: Zeile 33:
 Für Python sind der internationale Kanal ''#​python''​ oder der deutlich kleinere deutsche Kanal ''#​python.de''​ interessant. Für den Zugang zu ''#​python''​ muss der eigene Username zuerst registriert werden. Unter dem obigen Link gibt es eine Anleitung zu dem Prozess. Dann findet man im Kanal ''#​python''​ über 1000 Entwickler((Quelle:​ http://​irc.netsplit.de/​channels/​details.php?​room=%23python&​net=freenode)),​ die weiterhelfen können. Für den Einstieg reicht aber sicher auch Blick in den deutschen Kanal. Für Python sind der internationale Kanal ''#​python''​ oder der deutlich kleinere deutsche Kanal ''#​python.de''​ interessant. Für den Zugang zu ''#​python''​ muss der eigene Username zuerst registriert werden. Unter dem obigen Link gibt es eine Anleitung zu dem Prozess. Dann findet man im Kanal ''#​python''​ über 1000 Entwickler((Quelle:​ http://​irc.netsplit.de/​channels/​details.php?​room=%23python&​net=freenode)),​ die weiterhelfen können. Für den Einstieg reicht aber sicher auch Blick in den deutschen Kanal.
  
 +Das deutsche [[https://​www.python-forum.de/​|Python Forum]] beantwortet seit 2002 Fragen rund um Python.
 ==== Bücher ==== ==== Bücher ====
  
Zeile 38: Zeile 39:
  
 Das englische Buch [[http://​docs.python-guide.org/​en/​latest/​|The Hitchhiker’s Guide to Python!]] beschreibt ausführlich für Anfänger und Fortgeschrittene viele Python-Konzepte. Das englische Buch [[http://​docs.python-guide.org/​en/​latest/​|The Hitchhiker’s Guide to Python!]] beschreibt ausführlich für Anfänger und Fortgeschrittene viele Python-Konzepte.
 +
 +Das Buch [[http://​inventwithpython.com/​cracking|Cracking Codes with Python]] stellt verschiedene Verschlüsselungsmethoden vor und zeigt, wie sich diese mit Python überwinden lassen. Man kann es kaufen oder online lesen.
  
 Bevor du ein Buch kaufst, kannst du in der [[http://​www.digibib.net/​Digibib?​LOCATION=BOBIB|DigiBib]] recherchieren und prüfen, ob es in Büchereien in Bochum und Umgebung ausleihbar ist. Bevor du ein Buch kaufst, kannst du in der [[http://​www.digibib.net/​Digibib?​LOCATION=BOBIB|DigiBib]] recherchieren und prüfen, ob es in Büchereien in Bochum und Umgebung ausleihbar ist.
  
-Das Buch [[http://​inventwithpython.com/​cracking|Cracking Codes with Python]] stellt verschiedene Verschlüsselungsmethoden vor und zeigt, wie sich diese mit Python überwinden lassen. Man kann es kaufen oder online lesen. 
 ==== Vertiefungen ==== ==== Vertiefungen ====
  
Zeile 58: Zeile 60:
  
 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.
 +
 +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 76: Zeile 80:
   * **[[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 84: Zeile 88:
   * //Kapitel 8: [[Objekt-orientierte Programmierung]]//​ in dem Buch [[https://​tbseins-my.sharepoint.com/​personal/​bakera_tbs1_de/​_layouts/​15/​guestaccess.aspx?​docid=0d64102f20efb4eb1bf0dfff08ad3067e&​authkey=ASXKN6gcyfP3kDZqkWcw-Qk&​e=107eca0a68df47828de371fd89e8cb48|Raspberry Pi programmieren mit Python]] beschreibt, wie die Objekt-Orientierte Programmierung in [[Python]] realisiert wurde.   * //Kapitel 8: [[Objekt-orientierte Programmierung]]//​ in dem Buch [[https://​tbseins-my.sharepoint.com/​personal/​bakera_tbs1_de/​_layouts/​15/​guestaccess.aspx?​docid=0d64102f20efb4eb1bf0dfff08ad3067e&​authkey=ASXKN6gcyfP3kDZqkWcw-Qk&​e=107eca0a68df47828de371fd89e8cb48|Raspberry Pi programmieren mit Python]] beschreibt, wie die Objekt-Orientierte Programmierung in [[Python]] realisiert wurde.
   * Auf der Seite von [[https://​www.codingame.com/​|CodinGame]] kann man eine Programmiersprache durch Programmieren von Spielen lernen. Natürlich ist auch Python mit dabei. Die Seite [[http://​theaigames.com/​|The AI Games]] verfolgt ein ähnliches Ziel.   * Auf der Seite von [[https://​www.codingame.com/​|CodinGame]] kann man eine Programmiersprache durch Programmieren von Spielen lernen. Natürlich ist auch Python mit dabei. Die Seite [[http://​theaigames.com/​|The AI Games]] verfolgt ein ähnliches Ziel.
-  * Wer unterwegs nicht auf Python verzichten möchte, findet in der App [[https://​play.google.com/​store/​apps/​details?​id=com.sololearn.python|Learn Python]] einen Helfer für die Programmiersprache.+  * Wer unterwegs nicht auf Python verzichten möchte, findet in der App [[https://​play.google.com/​store/​apps/​details?​id=com.sololearn.python|Learn Python]] einen Helfer für die Programmiersprache. Der Anbieter der App bietet unter sololearn.com auch einen [[https://​www.sololearn.com/​Course/​Python/​|Python-Kurs]],​ der im Browser absolviert werden kann.
   * Über das Spiel [[http://​py.checkio.org|checkio]] können verschiedene Probleme über die Webseite auf spielerische Art gelöst werden.   * Über das Spiel [[http://​py.checkio.org|checkio]] können verschiedene Probleme über die Webseite auf spielerische Art gelöst werden.
   * PEP8 ist ein Styling-Guide für Python-Quelltext. Eine Zusammenfassung beschreibt [[https://​pymbook.readthedocs.io/​en/​latest/​pep8.html|die wichtigsten PEP8 Regeln]].   * PEP8 ist ein Styling-Guide für Python-Quelltext. Eine Zusammenfassung beschreibt [[https://​pymbook.readthedocs.io/​en/​latest/​pep8.html|die wichtigsten PEP8 Regeln]].
Zeile 94: Zeile 98:
   * [[https://​books.goalkicker.com/​PythonBook/​|Python Notes for Professionals]] ist ein sehr umfangreiches Buch aus Artikeln von Stackoverflow unter freier Lizenz zu Python.   * [[https://​books.goalkicker.com/​PythonBook/​|Python Notes for Professionals]] ist ein sehr umfangreiches Buch aus Artikeln von Stackoverflow unter freier Lizenz zu Python.
   * 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.
 +  * [[https://​www.w3schools.com/​python/​default.asp|W3Schools]] bietet ebenfalls Informationen zu Python.
  
   * [[IDLE|Erste Schritte mit IDLE]]   * [[IDLE|Erste Schritte mit IDLE]]
Zeile 101: Zeile 107:
   * [[Python für C-Sharp Programmierer]] - Übersicht für den Wechsel von C# nach Python   * [[Python für C-Sharp Programmierer]] - Übersicht für den Wechsel von C# nach Python
   * [[https://​www.youtube.com/​watch?​v=YYXdXT2l-Gg&​list=PL-osiE80TeTt2d9bfVyTiXJA-UTHn6WwU|Python Tutorials von Corey Schafer]] - Tipps eines Schülers   * [[https://​www.youtube.com/​watch?​v=YYXdXT2l-Gg&​list=PL-osiE80TeTt2d9bfVyTiXJA-UTHn6WwU|Python Tutorials von Corey Schafer]] - Tipps eines Schülers
-  * [[https://​www.sololearn.com/​Course/​Python/​|Sololearn - Python-Kurs]] 
   * [[https://​github.com/​karlhorky/​learn-to-program|learn to program]] ist eine Liste mit verschiedenen Quellen, um Programmieren zu lernen.   * [[https://​github.com/​karlhorky/​learn-to-program|learn to program]] ist eine Liste mit verschiedenen Quellen, um Programmieren zu lernen.
   * [[https://​docs.quantifiedcode.com/​python-anti-patterns/​|The Little Book of Python Anti-Patterns]] stellt auf einer Webseite vor, wie man besser nicht in Python programmieren sollte.   * [[https://​docs.quantifiedcode.com/​python-anti-patterns/​|The Little Book of Python Anti-Patterns]] stellt auf einer Webseite vor, wie man besser nicht in Python programmieren sollte.
 +  * [[https://​www.geeksforgeeks.org/​introduction-to-python-for-absolute-beginners/​|Introduction to Python for absolute beginners]] ist eine Sammlung von Artikeln zu unterschiedlichen Themen der Python-Programmierung. ​
 +  * [[http://​issuehub.io/?​language=python|Issuehub.io]] und [[https://​gauger.io/​contrib/#/​language/​python|gauger.io]] sammeln Fehler unterschiedlicher Open-Source Projekte, die auch für Einsteiger geeignet sind. Bei github wird man mit der der[[https://​github.com/​search?​l=Python&​q=is%3Aopen+label%3A%22good+first+issue%22&​type=Issues|folgenden Suchanfrage]] oder [[https://​github.com/​search?​q=org%3Atbs1-bo+is%3Aissue+is%3Aopen+label%3A%22good+first+issue%22&​unscoped_q=is%3Aissue+is%3Aopen+label%3A%22good+first+issue%22|diese]] oder [[https://​github.com/​issues?​q=is%3Aopen+is%3Aissue+author%3Apintman+label%3A%22good+first+issue%22+|diese]] ebenfalls fündig.
  
 ==== Entwicklungsumgebungen (IDEs) ==== ==== Entwicklungsumgebungen (IDEs) ====
Zeile 131: Zeile 138:
   * [[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]] ​oder [[https://​cherrypy.org/​|CherryPy]] 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]]
 +  * [[https://​www.donkeycar.com/​|Donkeycar]] ermöglicht das Ansteuern von fernsteuerbaren Autos mit Python.
 +  * [[https://​python-podcast.de|Python Podcast]]
schule/python.txt · Zuletzt geändert: 08.09.2020 11:28 von Marco Bakera