diff --git "a/notebooks/einf\303\274hrung_jn.ipynb" "b/notebooks/einf\303\274hrung_jn.ipynb" index d9fc1d9cdc8ec25d5365b1ef1cefef0b8a605745..b8b180c0ef56d8e8026b8c94a8e7e7b0dbd04970 100644 --- "a/notebooks/einf\303\274hrung_jn.ipynb" +++ "b/notebooks/einf\303\274hrung_jn.ipynb" @@ -1,20 +1,33 @@ { "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "<h1>Table of Contents<span class=\"tocSkip\"></span></h1>\n", + "<div class=\"toc\"><ul class=\"toc-item\"><li><span><a href=\"#Grundlegende-Datentypen\" data-toc-modified-id=\"Grundlegende-Datentypen-1\"><span class=\"toc-item-num\">1 </span>Grundlegende Datentypen</a></span></li><li><span><a href=\"#Listen\" data-toc-modified-id=\"Listen-2\"><span class=\"toc-item-num\">2 </span>Listen</a></span></li><li><span><a href=\"#Mengen\" data-toc-modified-id=\"Mengen-3\"><span class=\"toc-item-num\">3 </span>Mengen</a></span></li><li><span><a href=\"#Ranges\" data-toc-modified-id=\"Ranges-4\"><span class=\"toc-item-num\">4 </span>Ranges</a></span></li><li><span><a href=\"#Tupel\" data-toc-modified-id=\"Tupel-5\"><span class=\"toc-item-num\">5 </span>Tupel</a></span></li><li><span><a href=\"#Dictionaries\" data-toc-modified-id=\"Dictionaries-6\"><span class=\"toc-item-num\">6 </span>Dictionaries</a></span></li><li><span><a href=\"#If-Anweisungen\" data-toc-modified-id=\"If-Anweisungen-7\"><span class=\"toc-item-num\">7 </span>If-Anweisungen</a></span></li><li><span><a href=\"#Schleifen\" data-toc-modified-id=\"Schleifen-8\"><span class=\"toc-item-num\">8 </span>Schleifen</a></span></li><li><span><a href=\"#Funktionen\" data-toc-modified-id=\"Funktionen-9\"><span class=\"toc-item-num\">9 </span>Funktionen</a></span></li><li><span><a href=\"#Lambda-Funktionen\" data-toc-modified-id=\"Lambda-Funktionen-10\"><span class=\"toc-item-num\">10 </span>Lambda-Funktionen</a></span></li><li><span><a href=\"#List-Comprehensions\" data-toc-modified-id=\"List-Comprehensions-11\"><span class=\"toc-item-num\">11 </span>List Comprehensions</a></span></li><li><span><a href=\"#Klassen\" data-toc-modified-id=\"Klassen-12\"><span class=\"toc-item-num\">12 </span>Klassen</a></span></li></ul></div>" + ] + }, { "cell_type": "markdown", "metadata": {}, "source": [ "# Jupyter Notebook Grundlagen\n", "\n", + "**INFO:** Falls Sie im Python Programmierkurs sind und dies ihr erstes geöffnetes Jupyter Notebook ist, Herzlichen Glückwunsch! :)\n", + "\n", + "**INFO 2:** Falls Sie im Python Programmierkurs sind und dies ihr erstes geöffnetes Jupyter Notebook ist, lesen Sie nur bis bis zum Kapitel \"Python Grundlagen\". Danach wechseln Sie zum Notebook *seminar00.ipynb*\n", + "\n", "- open-source, browserbasiertes Tool für verschiedene Programmiersprachen (wir benutzen Python)\n", - "- Code, Visualisierungen und Text\n", - "- Notebook besteht aus Blöcken / Zellen\n", + "- Nutzt Chrome oder Firefox als Standard-Browser an eurem Laptop/PC. **KEIN INTERNET EXPLORER!**\n", + "- **Vorteil**: Code, Visualisierungen und Text / Erklärungen in einem Dokument\n", + "- Notebook besteht aus Blöcken bzw. Zellen\n", "- Unter der Zelle wird der Rückgabewert des letzten Statements ausgegeben\n", "- Quellcode kann auf mehrere Blöcke aufgeteilt werden (Variablen behalten ihre Gültigkeit/Sichtbarkeit)\n", "- Es gibt zwei Arten von Blöcken: \"Code\" ist für Python-Code, \"Markdown\" ist für Texte, die Sie mit Hilfe der [Markdown-Syntax](https://de.wikipedia.org/wiki/Markdown#Auszeichnungsbeispiele) formatieren können.\n", "- Sie können auf Text doppelt klicken, um sich den Markdown-Quellcode anzuzeigen. Probieren Sie es mit diesem Text aus.\n", - "- Wenn Sie mal etwas \"kaputtgespielt\" haben, hilft es evtl., im \"Kernel\"-Menü den \"Restart\"-Eintrag auszuwählen.\n", - "- Mit der Funktion help können Sie in Python zu vielen Funktionen Hilfe erhalten. Die offizielle Python-Dokumentation finden Sie hier: https://docs.python.org/3/.\n" + "- durch die Tastenkombination \"Strg\" und \"Enter\" oder durch Drücken von dem \"Run\" Button oben im Menü kommen Sie wieder in den Lesemodus \n", + "- Wenn Sie mal etwas \"kaputtgespielt\" haben, hilft es evtl., im \"Kernel\"-Menü den \"Restart\"-Eintrag auszuwählen." ] }, { @@ -22,23 +35,67 @@ "metadata": {}, "source": [ "# Shortcuts\n", - "Übersicht: *Help -> Keyboard Shortcuts*\n", - "- *Enter*: Editiermodus für selektierte Zelle (grün)\n", - "- *Esc*: Editiermodus verlassen/Kommandomodus (blau)\n", - "- *Shift+Strg*: Selektierte Zelle ausführen\n", - "- *Shift+Enter*: Selektierte Zelle ausführen und in nächste Zelle springen\n", + "\n", + "**Bitte probieren Sie alle unten stehenden Befehle und verstehen Sie, was gemacht wird. Das ist die Basis, die Sie für das Arbeiten mit Jupyter Notebooks brauchen.**\n", + "\n", + "Übersicht: *Menü Help -> Keyboard Shortcuts*\n", + "\n", + "Wichtigste Shortcuts: \n", + "\n", + "- *Enter*: Editiermodus für selektierte Zelle (grün umrandet)\n", + "- *Esc*: Editiermodus verlassen/Kommandomodus (blau umrandet)\n", + "- *Strg + Enter*: Selektierte Zelle ausführen\n", + "- *Shift + Enter*: Selektierte Zelle ausführen und in nächste Zelle springen\n", "\n", "Im Editiermodus:\n", - "- Tab: Autocomplete oder Einrücken\n", + "- *Tab*: Autocomplete oder Einrücken\n", + "- *Shift + Tab*: Einrücken rückwärts\n", "\n", - "Im Kommandomodus:\n", + "Im Kommando-/Lesemodus:\n", "- *B*: Zelle darunter einfügen\n", "- *A*: Zelle darüber einfügen\n", "- *DD*: Zelle löschen\n", - "- *M*: Zelltyp Markdown (für formatierte beschreibende Texte)\n", + "- *M*: Zelltyp Markdown (für formatierte beschreibende Texte, zB diese Zelle)\n", "- *Y*: Zelltyp Code (Default)" ] }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Beispiel: Markdown Zelle vs. Code Zelle" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Dies ist eine **Markdown Zelle**. Hier kann jeglicher Text geschrieben werden. Durch Strg+Enter wird er in den Lesemodus gebracht, durch ein einfach Enter (oder Doppelklick) in den Editiermodus.\n", + "\n", + "Hier werden keine Rechnungen ausgeführt, siehe:\n", + "\n", + "5+3\n", + "\n", + "In diesen Feldern werden Erklärungen, Aufgabenstellungen und schriftliche Antworten von euch stehen." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "# Das ist eine **Code Zelle**, bei Strg+Enter wird die folgende Rechnung ausgeführt und darunter angezeigt\n", + "# Mit Enter kommt man in den Editiermodus, mit Strg+Enter wird der Code ausgeführt.\n", + "# Der Text kann hier nur stehen, da eine Raute am Anfang der Zeile steht. \n", + "# Dadurch werden diese Zeilen nicht ausgeführt.\n", + "\n", + "5+3\n", + "\n", + "# In diesen Zellen wird der Python Code geschrieben, manchmal müssen Sie ihn schreiben, \n", + "# manchmal steht der Code schon dort und muss von Ihnen nur ausgeführt werden." + ] + }, { "cell_type": "markdown", "metadata": {},