219 lines
5.4 KiB
Plaintext
219 lines
5.4 KiB
Plaintext
{
|
|
"cells": [
|
|
{
|
|
"cell_type": "markdown",
|
|
"metadata": {
|
|
"collapsed": true,
|
|
"pycharm": {
|
|
"name": "#%% md\n"
|
|
},
|
|
"slideshow": {
|
|
"slide_type": "slide"
|
|
}
|
|
},
|
|
"source": [
|
|
"# Software Entwicklung \n",
|
|
"\n",
|
|
"## Kapitel 1: Einführung \n",
|
|
"\n",
|
|
"### 1.3 Variable\n",
|
|
"\n",
|
|
"Wie in jeder anderen Programmiersprache dienen *Variablen* dazu, Werte (z.B. Rückgabewerte von \n",
|
|
"Funktionsaufrufen) zu benennen und zu speichern. Die Zuweisung erfolgt mit einem einfachen\n",
|
|
"Gleichheitszeichen <code>=</code>. Durch die Vergabe eines Namens kann anschließend gezielt \n",
|
|
"auf den Wert zugegriffen werden."
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"metadata": {
|
|
"slideshow": {
|
|
"slide_type": "slide"
|
|
}
|
|
},
|
|
"source": [
|
|
"#### 1.3.1 Variablennamen\n",
|
|
"\n",
|
|
"Variablennamen setzen sich aus Buchstaben, Unterstrichen und Ziffern zusammen, wobei Ziffern \n",
|
|
"nicht am Amfang des Namens stehen dürfen. Groß- und Kleinschreibung werden vom \n",
|
|
"Python-Interpreter unterschieden, d.h. die Bezeichner <code>Abc</code> und <code>abc</code>\n",
|
|
"verweisen auf unterschiedliche Werte.\n",
|
|
"\n",
|
|
"Die *Schlüsselwörter* der Programmiersprache Python, die wir noch kennenlernen werden, sind\n",
|
|
"als Variablennamen natürlich nicht zugelassen. "
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": null,
|
|
"metadata": {
|
|
"pycharm": {
|
|
"is_executing": false,
|
|
"name": "#%%\n"
|
|
}
|
|
},
|
|
"outputs": [],
|
|
"source": [
|
|
"var = input(\"Wie heißen Sie?\")\n",
|
|
"print(var)"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"metadata": {
|
|
"slideshow": {
|
|
"slide_type": "slide"
|
|
}
|
|
},
|
|
"source": [
|
|
"#### 1.3.2 Konventionen\n",
|
|
"\n",
|
|
"Nicht alles, was der Python-Interpreter zulässt, ist auch übliche Praxis. Python-Entwickler \n",
|
|
"haben sich auf einige Konventionen geeinigt, die das Lesen und Verstehen von fremden \n",
|
|
"Programmcode erleichtern:\n",
|
|
"\n",
|
|
"- Variablennamen sollten keine Großbuchstaben enthalten, also nur Kleinbuchstaben und\n",
|
|
" Unterstriche\n",
|
|
"- Längere Variablennamen werden durch Unterstriche lesbar gemacht, z.B. \n",
|
|
" <code>calculation_result</code>\n",
|
|
" "
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"metadata": {
|
|
"slideshow": {
|
|
"slide_type": "slide"
|
|
}
|
|
},
|
|
"source": [
|
|
"#### 1.3.3 Vereinbarung\n",
|
|
"\n",
|
|
"Variablen müssen in Python nicht deklariert werden. Sie entstehen mit der ersten Zuweisung.\n",
|
|
"Anschließend kann auch lesend auf die Variable zugegriffen werden.\n",
|
|
"\n",
|
|
"Der Zugriff auf eine Variable, die (noch) nicht existiert führt zu einer Fehlermeldung und\n",
|
|
"dem Abbruch des Programms.\n"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": null,
|
|
"metadata": {
|
|
"pycharm": {
|
|
"name": "#%%\n"
|
|
}
|
|
},
|
|
"outputs": [],
|
|
"source": [
|
|
"print(not_yet_defined)"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"metadata": {
|
|
"slideshow": {
|
|
"slide_type": "slide"
|
|
}
|
|
},
|
|
"source": [
|
|
"#### 1.3.4 Typisierung\n",
|
|
"\n",
|
|
"Werte besitzen in Python einen Typ (Ganzzahl, Fließkommazahl, String), Variablen jedoch nicht.\n",
|
|
"Somit kann eine Variable im Laufe einer Programmausführung mal einen String, mal eine Zahl\n",
|
|
"enthalten, ohne dass der Interpreter sich daran stört.\n",
|
|
"\n",
|
|
"Der Typ eines in einer Variablen enthaltenen Wertes kann mit der Built-In Function \n",
|
|
"\n",
|
|
"```Python\n",
|
|
"type()\n",
|
|
"```\n",
|
|
"\n",
|
|
"ermittelt werden."
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": null,
|
|
"metadata": {
|
|
"pycharm": {
|
|
"name": "#%%\n"
|
|
}
|
|
},
|
|
"outputs": [],
|
|
"source": [
|
|
"print(type(\"Hello\"))"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"metadata": {
|
|
"slideshow": {
|
|
"slide_type": "slide"
|
|
}
|
|
},
|
|
"source": [
|
|
"Seit Python 3.6 können Variable mit *Type Annotations* versehen werden, die aber zunächst \n",
|
|
"lediglich den menschlichen Leser von Pythoncode in einer standardisierten \n",
|
|
"Form darauf hinweisen, dass diese Variable nur Werte eines bestimmten Typs aufnehmen soll.\n",
|
|
"Der Python-Interpreter wird den Code auch bei einem Verstoß ohne Widerspruch ausführen. "
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": null,
|
|
"metadata": {
|
|
"pycharm": {
|
|
"name": "#%%\n"
|
|
}
|
|
},
|
|
"outputs": [],
|
|
"source": [
|
|
"ganze_zahl : float\n",
|
|
"ganze_zahl = 4\n",
|
|
"print(ganze_zahl)"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"metadata": {},
|
|
"source": [
|
|
"Allerdings existieren Tools zur statischen Codeanalyse, die diese Hinweise auswerten. Für \n",
|
|
"*Visual Studio Code* gibt es z.B. die Extension *Pyright*, die eine entsprechende \n",
|
|
"Prüfung nachrüstet.\n"
|
|
]
|
|
}
|
|
],
|
|
"metadata": {
|
|
"celltoolbar": "Slideshow",
|
|
"kernelspec": {
|
|
"display_name": "Python 3 (ipykernel)",
|
|
"language": "python",
|
|
"name": "python3"
|
|
},
|
|
"language_info": {
|
|
"codemirror_mode": {
|
|
"name": "ipython",
|
|
"version": 3
|
|
},
|
|
"file_extension": ".py",
|
|
"mimetype": "text/x-python",
|
|
"name": "python",
|
|
"nbconvert_exporter": "python",
|
|
"pygments_lexer": "ipython3",
|
|
"version": "3.9.9"
|
|
},
|
|
"pycharm": {
|
|
"stem_cell": {
|
|
"cell_type": "raw",
|
|
"metadata": {
|
|
"collapsed": false
|
|
},
|
|
"source": []
|
|
}
|
|
}
|
|
},
|
|
"nbformat": 4,
|
|
"nbformat_minor": 1
|
|
}
|