0
(0)

Python Variablen

letzte Änderung: 29. August 2021


ACHTUNG! Bitte lesen!

Du benutzt das hier Gezeigte natürlich, wie immer, auf eigenes Risiko!
Ich habe alles selbst durchgeführt und mir mein System nicht zerschossen oder sonst irgendwelche negativen Auffälligkeiten bemerkt.

Aber dennoch… Backups sind immer gut….
Für WordPress-Backups am besten mit UpdraftPlus

Ich übernehme keine Haftung für irgendwelche Schäden am System, der Hardware oder der Katze…. :-P

Affiliate - Links

Auf meiner Seite verwende ich sogenannte Affiliate-Links, diese sind mit einem gekennzeichnet, damit du diese auch direkt erkennen kannst.

Sobald du über so einen Link das Produkt kaufen würdest, erhalte ich möglicherweise eine Provision vom jeweiligen Anbieter.
Außerdem entstehen für Dich natürlich keine zusätzlichen Kosten!
Mich unterstützt du damit aber enorm und trägst dazu bei, dass es auch in Zukunft weitere Guides und Vorstellungen von mir hier geben wird.

Ich empfehle nur Tools / PlugIns / Anbieter / Produkte, hinter denen ich auch wirklich stehe, bzw. ich auch einen Mehrwert sehe.

DarkWolfCave.de ist Teilnehmer des Amazon-Partnerprogramm, das zur Bereitstellung eines Mediums für Webseiten konzipiert wurde, mittels dessen durch die Platzierung von Partner-Links zu Amazon.de Entgelte verdient werden können.

code

Was sind Python Variablen?

Wir benötigen für alle weiteren Beispiele aus den Python Grundlagen immer wieder Python Variablen. Aber was sind das genau?
Ganz einfach ausgedrückt sind sie wie ein Behälter mit irgendwas drin. Und auf diesen Inhalt können wir beliebig zugreifen.
So, das waren Variablen. Auf zum nächsten Thema…

Äh?! Nein? …. ok, dann etwas mehr dazu.
Vorab gesagt: Python Variablen verhalten sich etwas anders als man sie vielleicht von anderen Programmiersprachen her kennt. Diesen Unterschied möchte ich hier allerdings nicht so genau behandeln, da wir dieses Wissen eigentlich nicht für unsere Beispiele benötigen.

Es reicht zu wissen, dass Python Variablen einfach genial sind :-P

Hier muss nichts deklariert werden und es kann sich sogar der Typ der Variable im laufenden Prozess ändern. Etwas, dass in anderen Sprachen so nicht einfach funktioniert.
Wo wir dann direkt bei den Datentypen wären…

Datentypen kurz angerissen

Auch wenn wir in Python keine Datentypen für die Variablen speziell deklarieren müssen, sollte man sie dennoch kurz gelesen haben:
Für Zahlen nutzt Python z.B.

  • integer (int) für ganze Zahlen, z.B.: 1, 5, 2000, -100000 usw.
  • float wird für Gleitkommazahlen genutzt, z.B.: 4.99 , 1.99999 , -0.123456 – Achte darauf, dass hier der Punkt (.) aus dem englischen und nicht das im deutschen Raum benutzte Komma (,) genutzt werden muss.
  • complex für – ach – komplexe Zahlen…die aus einem Realteil und einem Imaginärteil bestehen. Hach, ich mag Mathe… nebenbei: hab ich in Python noch nie benötigt….

Dann gibt es noch die Strings (str) – nope! Nicht die, die kneifen… sondern Zeichenketten.
Was simpel gesagt alles das ist, womit man nicht so ohne weiteres Berechnungen durchführen könnte.
Es gibt natürlich noch weitere Datentypen, aber diese hier reichen jetzt erst einmal für den Zusammenhang mit Python Variablen.

Python Variablen erstellen

Nun wollen wir aber auch mal ein paar Variablen “sehen” und erstellen uns welche.
Du kannst das Folgende auch selbst unter Python eingeben und musst dafür kein Script schreiben.
Unter Linux einfach mit python3 entsprechend die CLI starten. Unter Windows z.B. im Jupyter Notebook.
Zu Anfang steht… der Name deiner Variable…hier kannst du fast alles nutzen, allerdings sollte diese schon sinnvoll benannt werden. Macht es dann auch später leichter mit ihr im Script zu arbeiten, wenn man schon am Namen erkennt wofür diese gedacht war.
Weiterhin gibt es ein paar kleine Einschränkungen bei der Namensgebung von Python Variablen:

  • Nur Buchstaben (a-z, A-Z), Zahlen (0-9) sowie der Unterstrich _ ist erlaubt
  • Python achtet genau auf Groß und Kleinschreibung und reagiert echt zickig wenn man Print(Python) schreibt, aber eigentlich Print(python) meinte…
  • Du darfst auch keine Zahl am Anfang einer Variable schreiben. Also 2python geht nicht
  • Bestimmte Schlüsselwörter sind fest definiert und können nicht benutzt werden (z.B. else )

Fangen wir mit ein paar einfachen Beispielen an und definieren uns 6 Variablen. Von diesen möchten wir uns danach anzeigen lassen, welchen Datentyp Python genutzt hat. Dazu werden wir type(VARIABLE) benutzen.
Wie du erkennen wirst, kannst du eine Zeichenkette mit doppelten (“) oder mit einem einfachen (‘) Anführungszeichen umschließen:

#Variablen definieren
a=1
b=2.2
c=1+2j
d="DarkWolfCave"
e='so gehts auch'
f="wo ist mein Anführungszeichen "

#Wenn wir jetzt wissen möchten, welchen Datentyp Python genommen hat (selbst deklarieren müssen wir ja nicht), dann kann man dies mit type(VARIABLE) herausfinden:
>>> type(a)
<class 'int'>
>>> type(b)
<class 'float'>
>>> type(c)
<class 'complex'>
>>> type(d)
<class 'str'>
>>> type(e)
<class 'str'>
>>> type(f)
<class 'str'>

Jetzt wird vielleicht auch der Zusammenhang einer Python Variablen zu dem Datentyp etwas klarer.
Aber wie schon erwähnt, erledigt Python das für uns ganz automatisch. Im schlimmsten Fall bekommst du eine Fehlermeldung…teste doch mal bitte folgendes nachdem du die oben genannten Variablen definiert hast:
print (d-a) (du willst also versuchen von der Variable ‘d’ (DarkWolfCave) die Variable ‘a’ (1) abzuziehen…. Was meinst du? Klappt das?
TypeError: unsupported operand type(s) for -: 'str' and 'int'
Genau, es geht nicht. Mit print(b-a) würdest du schon eher ein Ergebnis erhalten.

Mit Zeichenketten spielen (str)

Schauen wir uns jetzt einmal die Variable ‘d’ etwas genauer an.
Mit print(d) wird uns der Inhalt komplett zurückgegeben:

>>> print(d)
DarkWolfCave

Wir können aber auch auf die einzelnen Elemente direkt zugreifen.
print(d[2]) – oder auch einen Bereich angeben: print(d[2:4]).

>>> print(d[2])
r
>>> print(d[2:4])
rk
>>>

Wichtig dabei ist zu wissen, dass das erste Zeichen bei 0 anfängt. Das erste ‘D’ würden wir also mit print(d[0]) erhalten.
Bei einer Angabe des Bereichs ist die erste Zahl inklusiv und die letzte Zahl exklusiv. Möchten wir also ‘Wolf’ erhalten, müssen wir print(d[4:8]) ausführen.

>>> print(d[4:8])
Wolf
>>>

Strings lassen sich auch durch ein ‘+’ miteinander verbinden, und einer neuen Python Variablen zuweisen, oder direkt ausgeben.

>>> neu=d+e
>>> print(neu)
DarkWolfCaveso gehts auch
>>>
>>> print (d+e)
DarkWolfCaveso gehts auch
>>>

#mit einem Leerzeichen würde dies natürlich besser aussehen. Auch das ist kein Problem:

>>> print (d + ' ' + e)
DarkWolfCave so gehts auch
>>>

Du kannst sogar den Inhalt einer Zeichenkette mehrfach durch ‘* ANZAHL’ ausgeben:

>>> print (d*3)
DarkWolfCaveDarkWolfCaveDarkWolfCave
>>>

Manchmal kann es wichtig sein, die Anzahl/Länge des Inhalts zu wissen. Hierfür gibt es len():

>>> len(d)
12
>>>

Sonderzeichen / Steuerzeichen

Wenden wir uns jetzt der ‘f’-Variable zu ( f=”wo ist mein Anführungszeichen ” ).
Wir möchten eigentlich ein Anführungszeichen in unserer Variable habe. Du könntest jetzt auf die Idee kommen, am Ende einfach nochmal ein ” zu setzen. Probiere dies ruhig einmal aus.
Dann solltest du einen Fehler erhalten: SyntaxError: EOL while scanning string literal

Damit wir das Anführungszeichen in unsere Zeichenkette bekommen, ‘escapen’ wir dieses mit \” :

>>> f="wo ist mein Anführungszeichen \" "
>>> print(f)
wo ist mein Anführungszeichen "
>>>
ZeichenErklärung
\\Backslash
\tTabulator
\nZeilenumbruch (new line)
\rWagenrücklauf (carriage return)
\’einfaches Anführungszeichen
\”doppeltes Anführungszeichen
\xnnSonderzeichen aus der ASCII Tabelle, zweistellig z.B. \x91 in Dezimal

Noch ein Beispiel, indem es recht deutlich gezeigt wird dass ein Backslash ‘\‘ eine escape-Sequenz startet, und man wirklich daran denken sollte.
Nehmen wir an, ein Script soll auf einen bestimmten Ordner zugreifen. Also müssen wir dessen Pfad angeben. Und da wir uns keine tollen Namen ausdenken, nennen wir diesen Ordner ‘temp’. Jetzt schauen wir was passiert, wenn wir uns die Variable mit diesem Pfad, mit print anzeigen lassen wollen:

>>> print('C:\temp')
C:      emp
>>>

Sieht nicht so schön aus, richtig? Was ist passiert?
Wenn du dir die Tabelle etwas weiter oben anschaust, dann erkennst du, dass ein \t das Steuerzeichen für einen Tabulator ist. Was für eine Pfadangabe natürlich nicht nützlich ist. Um wirklich einen Backslash zu erhalten, nehmen wir den entsprechenden Eintrag aus der Tabelle: \\ .

Wenn unser Ordner jetzt ‘memp’ heißen würde, dann hätten wir zwar grundsätzlich den Backslash in unserer Printausgabe, aber bei ‘remp’ zum Beispiel wieder nicht.
Teste es ruhig aus, indem du das gezeigte Beispiel entsprechend änderst.
Ich kann dir nur dazu raten, dass du dir es direkt angewöhnst einen Backslash immer mit \\ zu erzeugen ;-)

Globale Python Variablen

Wann immer wir eine Variable in unserem Script erstellen, ist diese ‘global’ und kann in aufgerufenen Funktionen genutzt werden.

x = "Python Grundlagen"

def dwc_funktion():
        print("DarkWolfCave zeigt " + x)

dwc_funktion()

DarkWolfCave zeigt Python Grundlagen
>>>

Sollten wir aber IN einer Funktion eine Variable definieren, so ist diese lediglich lokal – also nur für diese Funktion – abrufbar.
Wir können demnach auch keine globale Variable durch eine Funktion einfach so überschreiben:

x = "Python Grundlagen"

def dwc_funktion():
        x = "lokale Variablen"
        print("DarkWolfCave zeigt " + x)

dwc_funktion()
print(x)

DarkWolfCave zeigt lokale Variablen
>>> print(x)
Python Grundlagen
>>>

Wir haben zweimal ‘x’ einen jeweils anderen Wert zugewiesen. Da wir unsere Funktion mit dwc_funktion() aufrufen, erhalten wir den Inhalt aus der x-Variable innerhalb der Funktion angezeigt.
Mit print(x) außerhalb der Funktion, bekommen wir deren Wert.

Es gibt Umstände, in denen man auch in einer Funktion, eine Variable global nutzen möchte.
Dazu definiert man diese in der Funktion einfach als global x

x = "Python Grundlagen"

def dwc_funktion():
        global x
        x = "globale Variablen"
        print("DarkWolfCave zeigt " + x)

dwc_funktion()
print(x)

DarkWolfCave zeigt globale Variablen
>>> print(x)
globale Variablen
>>>

Du kannst damit also bereits globale Variablen außerhalb einer Funktion überschreiben.
Allerdings gibt es nicht wirklich viele Situationen in denen es tatsächlich notwendig wäre. Oft verursacht so eine Variante auch eher Probleme, vor allem wenn man nicht daran denkt welche Variablen schon definiert wurden und man – weil es scheinbar einfacher ist – alle weiteren in Funktionen generell global setzt.

Schau dir diesen Artikel über Funktionen an, dort erkläre ich unter anderem wie du Werte aus einer Funktion zurückgeben kannst ohne sie global definieren zu müssen.

Weitere Python Grundlagen Themen

Python Webseiten Prüfung Erweitern (Teil 2)

letzte Änderung: 27. Januar 2024

Vorschau aktuell ohne Funktion.. sorry... Ich suche noch den Fehler...



Python IF Then Abfrage

letzte Änderung: 18. April 2024

Vorschau aktuell ohne Funktion.. sorry... Ich suche noch den Fehler...



Python Grundlagen - einfache Webseiten Prüfung

letzte Änderung: 19. April 2024

Vorschau aktuell ohne Funktion.. sorry... Ich suche noch den Fehler...



Python Funktionen

Erstellt am: 29. August 2021

Vorschau aktuell ohne Funktion.. sorry... Ich suche noch den Fehler...



Python Grundlagen - die Umgebung

letzte Änderung: 27. Januar 2024

Vorschau aktuell ohne Funktion.. sorry... Ich suche noch den Fehler...



Python praktische Grundlagen auf dem Raspberry Pi

letzte Änderung: 27. September 2023

Vorschau aktuell ohne Funktion.. sorry... Ich suche noch den Fehler...



Gefällt dir der Beitrag?
Hinterlasse gerne ein paar Sterne!

Wie hilfreich war dieser Beitrag für Dich?

Klicke auf die Sterne um zu bewerten!

Durchschnittliche Bewertung 0 / 5. Anzahl Bewertungen: 0

Bisher keine Bewertungen! Sei der Erste, der diesen Beitrag bewertet.

Es tut uns leid, dass der Beitrag für dich nicht hilfreich war!

Lasse uns diesen Beitrag verbessern!

Wie können wir diesen Beitrag verbessern?

Abonnieren
Benachrichtige mich bei
guest
0 Kommentare
Inline Feedbacks
Alle Kommentare anzeigen