{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# Kapitel 1. Einstieg in die Welt von Python:\n", "\n", "In unserer heutigen digitalen Welt sind Computer nicht mehr aus unserem Alltag wegzudenken. Ob in der Finanzwelt, Industrie aber auch in der Wissenschaft erledigen Computer in Sekundenschnelle komplizierte Rechnungen und helfen dem Anwender komplizierte Sachverhalte vereinfacht wieder zu geben. Daher empfiehlt es sich insbesondere als Physiker zumindest die Grundlagen einer beliebigen Programmiersprache zu beherrschen. \n", "\n", "Im folgenden werden wir uns gemeinsam die Grundzüge der Programmiersprache **Python** erarbeiten. Ein besonderes Augenmerk liegt hierbei auf den verschiedenen Herausforderungen die das analysieren von Experimentdaten mit sich bringt. Um euch bestens auf die Anforderungen im **physikalische Grundpraktikum (PGP)** vorzubereiten lernen wir im Folgenden wie man:\n", "\n", "* einfache Rechnungen mit Python durchführt\n", "* \"Mathematische\" Funktionen definiert\n", "* Funktionen auf größere Zahlenmengen anwendet\n", "* Daten in Form von Graphen richtig darstellt\n", "* eine Ausgleichsgerade von Datenpunkten berechnen kann.\n", "\n", "Damit ihr das neu gelernte Wissen direkt vertiefen könnt, wird dieses Notebook an verschiedenen Stellen kleinere Aufgaben für euch bereit halten." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Grundlagen zu Python bzw. Jupyter Notebooks:\n", "\n", "Bevor wir mit dem eigentlichen programmieren beginnen wollen müssen wir uns jedoch erst einmal mit unserem so genannten Interpreter (**Jupyter Notebook**) vertraut machen. Bei der Programmiersprache **Python** handelt es sich um eine so genannte **Interpretersprache**. Dies bedeutet, dass eingegebene Befehle, ähnlich wie bei einem Taschenrechner, direkt ausgeführt werden.\n", "\n", "Zum Beispiel beim berechnen von: " ] }, { "cell_type": "code", "execution_count": null, "metadata": { "ExecuteTime": { "end_time": "2019-09-30T05:49:44.802747Z", "start_time": "2019-09-30T05:49:44.777288Z" } }, "outputs": [], "source": [ "3 + 2" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Unser Interpreter, das **Jupyter Notebook**, stellt hierbei einen komfortable Interpreterumgebung dar. Diese erlaubt es uns neben **Code**-Zellen auch Texte und Formeln in so genannten **Markdown**-Zellen darzustellen. Hierbei existiert eine ganze Bandbreite an Formatierungsmöglichkeiten. Zum Beispiel:\n", "\n", "**Überschriften:**\n", "\n", "# Level 1.\n", "## Level 2.\n", "### Level 3.\n", "\n", "**Aufzählungen: **\n", "\n", "* Mit normalen\n", "* Aufzählungspunkten\n", " 1. oder \n", " 2. Numerierungen\n", " * Auf unterschiedlichen\n", " 1. Ebenen\n", "\n", "**Schriftarten:**\n", "\n", "**Fett**\n", "\n", "*Italic (Kursive)*\n", "\n", "`True type`\n", "\n", "bzw. Syntax highlighting\n", "\n", "```python \n", "def EasyFunc(x):\n", " return 2 * x\n", "```\n", "\n", "**Formeln mit Hilfe des Latex-Syntax:**\n", "\n", "$ f(x) = \\int\\limits_0^\\infty e^{-x} \\, dx $\n", "\n", "(Latex werdet ihr beim F-Praktikum kennen lernen)\n", "\n", "\n", "**Bilder:**\n", "\n", "![The Python logo](https://www.python.org/static/community_logos/python-powered-w-200x80.png \"Das Python Logo\")\n", "\n", "\n", "Darüber hinaus bietet uns das Jupyter Notebook noch diverse weitere Optionen an welche unseren harten Alltag vereinfachen. " ] }, { "cell_type": "markdown", "metadata": { "ExecuteTime": { "end_time": "2018-11-17T13:26:34.382179Z", "start_time": "2018-11-17T13:26:34.350979Z" } }, "source": [ "
Operator | \n", "Ergebnis | \n", "Priorität | \n", "
---|---|---|
x + y | \n", "Die Summe von x und y | \n", "6 | \n", "
x - y | \n", "Differenz von x und y | \n", "5 | \n", "
x * y | \n", "Produkt von x und y | \n", "4 | \n", "
x / y | \n", "Quotient von x und y | \n", "3 | \n", "
x % y | \n", "Rest von x / y | \n", "2 | \n", "
x ** y | \n", "x bei der Potenz von y | \n", "1 | \n", "