Einführung
Variables sind ein wichtiges Programmierkonzept, das beherrscht werden muss. Dies sind im Wesentlichen Symbole, die für einen Wert stehen, den Sie in einem Programm verwenden.
In diesem Lernprogramm werden einige Grundlagen zu Variablen und deren bestmögliche Verwendung in den von Ihnen erstellten Python 3-Programmen erläutert.
Variablen verstehen
In technischer Hinsicht weist eine Variable einem Wert, der mit einem symbolischen Namen oder einer symbolischen Kennung verknüpft ist, einen Speicherort zu. Der Variablenname wird verwendet, um auf diesen gespeicherten Wert in einem Computerprogramm zu verweisen.
Sie können sich eine Variable als Bezeichnung mit einem Namen vorstellen, die Sie mit einem Wert verknüpfen:
Nehmen wir an, wir haben eine Ganzzahl,103204934813
, und wir möchten sie in einer Variablen speichern, anstatt die lange Zahl immer wieder neu einzugeben. Verwenden wir stattdessen etwas, an das Sie sich leicht erinnern können, wie die Variablemy_int
:
my_int = 103204934813
Wenn wir es uns wie ein Label vorstellen, das an den Wert gebunden ist, sieht es ungefähr so aus:
Auf dem Label steht der Variablennamemy_int
und ist an den ganzzahligen Wert103204934813
gebunden.
Der Ausdruckmy_int = 103204934813
ist einassignment statement, der aus wenigen Teilen besteht:
-
der Variablenname (
my_int
) -
assignment operator, auch Gleichheitszeichen genannt (
=
) -
der Wert, der an den Variablennamen gebunden wird (
103204934813
)
Zusammen bilden diese drei Teile die Anweisung, mit der die Variablemy_int
gleich dem Wert der Ganzzahl103204934813
gesetzt wird.
Sobald wir eine Variable gleich einem Wert setzen, erstellen wirinitialize oder erstellen diese Variable. Sobald wir das getan haben, werden wir die Variable anstelle des Werts verwenden. In Python müssen Variablen vor der Verwendung nicht explizit deklariert werden, wie dies bei einigen Programmiersprachen der Fall ist. Sie können die Variable sofort verwenden.
Sobald wirmy_int
gleich dem Wert von103204934813
setzen, können wirmy_int
anstelle der Ganzzahl verwenden. Drucken wir es also aus:
print(my_int)
Output103204934813
Mit Variablen können wir schnell und einfachmath ausführen. Subtrahieren wir mitmy_int = 1040
den ganzzahligen Wert 813:
print(my_int - 813)
Output103204934000
In diesem Beispiel rechnet Python für uns und subtrahiert 813 von der Variablenmy_int
, um die Summe103204934000
zurückzugeben.
Apropos Mathematik: Variablen können dem Ergebnis einer mathematischen Gleichung gleichgesetzt werden. Addieren wir zwei Zahlen und speichern den Wert der Summe in der Variablenx
:
x = 76 + 145
Das obige Beispiel sieht möglicherweise wie etwas aus, mit dem Sie bereits vertraut sind: Algebra. In der Algebra werden Buchstaben und andere Symbole verwendet, um Zahlen und Mengen in Formeln und Gleichungen darzustellen, genau wie Variablen symbolische Namen sind, die den Wert eines Datentyps darstellen. Für eine korrekte Python-Syntax müssen Sie sicherstellen, dass sich Ihre Variable auf der linken Seite von Gleichungen befindet.
Lassen Sie unsx
drucken:
print(x)
Output221
Python gab den Wert221
zurück, da die Variablex
gleich der Summe von76
und145
gesetzt wurde.
Variablen können jeden Datentyp darstellen, nicht nur ganze Zahlen:
my_string = 'Hello, World!'
my_flt = 45.06
my_bool = 5 > 9 #A Boolean value will return either True or False
my_list = ['item_1', 'item_2', 'item_3', 'item_4']
my_tuple = ('one', 'two', 'three')
my_dict = {'letter': 'g', 'number': 'seven', 'symbol': '&'}
Wenn Sie eine der oben genannten Variablen drucken, gibt Python zurück, was dieser Variablen entspricht. Arbeiten wir beispielsweise mit der Zuweisungsanweisung für die obigenlist data type:
my_list = ['item_1', 'item_2', 'item_3', 'item_4']
print(my_list)
Output['item_1', 'item_2', 'item_3', 'item_4']
Wir haben den Listenwert von['item_1', 'item_2', 'item_3', 'item_4']
an die Variablemy_list
übergeben und dann die Funktionprint()
verwendet, um diesen Wert durch Aufrufen vonmy_list
auszudrucken.
Variablen arbeiten, indem sie einen kleinen Speicherbereich in Ihrem Computer ausschneiden, der festgelegte Werte akzeptiert, die dann diesem Speicherbereich zugeordnet werden.
Variablen benennen: Regeln und Stil
Die Benennung von Variablen ist sehr flexibel, es gibt jedoch einige Regeln, die Sie beachten müssen:
-
Variablennamen dürfen nur ein Wort enthalten (wie in keinem Leerzeichen)
-
Variablennamen dürfen nur aus Buchstaben, Zahlen und Unterstrichen bestehen (
_
). -
Variablennamen dürfen nicht mit einer Zahl beginnen
Sehen wir uns nach den obigen Regeln sowohl gültige als auch ungültige Variablennamen an:
Gültig | Ungültig | Warum ungültig? |
---|---|---|
my_int |
my-int |
Bindestriche sind nicht erlaubt |
int4 |
4int |
Kann nicht mit einer Zahl beginnen |
MY_INT |
$MY_INT |
Es können keine anderen Symbole als |
another_int |
ein anderer int |
Kann nicht mehr als ein Wort sein |
Bei der Benennung von Variablen ist zu beachten, dass zwischen Groß- und Kleinschreibung unterschieden wird. Dies bedeutet, dassmy_int
,MY_INT
,My_Int
undmY_iNt
völlig unterschiedliche Variablen sind. Sie sollten vermeiden, ähnliche Variablennamen in einem Programm zu verwenden, um sicherzustellen, dass sowohl Sie als auch Ihre aktuellen und zukünftigen Mitarbeiter Ihre Variablen klar und deutlich halten können.
Zum Schluss noch ein paar Anmerkungen zum Stil. Üblicherweise ist es bei der Benennung von Variablen üblich, diese mit einem Kleinbuchstaben zu beginnen und beim Trennen von Wörtern Unterstriche zu verwenden. Das Beginnen mit einem Großbuchstaben ist nicht ungültig, und einige Leute bevorzugen möglicherweise camelCase oder gemischte Groß- und Kleinbuchstaben, wenn sie ihre Variablen schreiben, aber dies sind weniger konventionelle Optionen.
Konventioneller Stil | Unkonventioneller Stil | Warum unkonventionell |
---|---|---|
my_int |
myInt |
camelCase nicht konventionell |
int4 |
Int4 |
Großbuchstaben nicht konventionell |
my_first_string |
myFirstString |
camelCase nicht konventionell |
Die wichtigste Stilwahl, die Sie treffen können, ist konsequent zu sein. Wenn Sie mit der Arbeit an einem vorhandenen Projekt beginnen, für dessen Variablennamen camelCase verwendet wurde, empfiehlt es sich, den vorhandenen Stil weiter zu verwenden.
PEP 8 ist der offizielle Python-Code-Styleguide und behandelt viele der stilistischen Fragen, die Sie möglicherweise zu Python haben. Im Allgemeinen werden Lesbarkeit und Konsistenz gegenüber anderen stilistischen Aspekten bevorzugt.
Variablen neu zuweisen
Wie das Wortvariable impliziert, können Python-Variablen leicht geändert werden. Dies bedeutet, dass Sie durch einfache Neuzuweisung sehr einfach einen anderen Wert mit einer zuvor zugewiesenen Variablen verbinden können.
Eine Neuzuweisung ist hilfreich, da Sie im Verlauf eines Programms möglicherweise benutzerdefinierte Werte in bereits initialisierte Variablen übernehmen müssen oder die Zuweisung in eine von Ihnen zuvor definierte Reihenfolge ändern müssen.
Zu wissen, dass Sie eine Variable einfach und problemlos neu zuweisen können, kann auch in Situationen nützlich sein, in denen Sie möglicherweise an einem großen Programm arbeiten, das von einer anderen Person gestartet wurde, und Sie sich noch nicht sicher sind, was bereits definiert wurde.
Weisen Siex
zuerst als Ganzzahl zu und weisen Sie sie dann alsstring neu zu:
#Assign x to be an integer
x = 76
print(x)
#Reassign x to be a string
x = "Sammy"
print(x)
Output76
Sammy
Das obige Beispiel zeigt, dass wir zuerst die Variablex
zuweisen und sie mit dem Wert einer Ganzzahl zuweisen und dann die Variablex
neu zuweisen können, indem wir sie diesmal mit dem Wert einer Zeichenfolge zuweisen.
Wenn wir das Programm so umschreiben:
x = 76
x = "Sammy"
print(x)
Wir würden nur den zweiten zugewiesenen Wert als Ausgabe erhalten, da dies die letzte Zuweisung war:
OutputSammy
In einigen Fällen kann es hilfreich sein, Variablen neu zuzuweisen. Sie sollten sich jedoch der Lesbarkeit Ihres Codes bewusst sein und daran arbeiten, Ihr Programm so klar wie möglich zu gestalten.
Mehrfachzuweisung
Mit Python können Sie mehreren Variablen gleichzeitig einen einzelnen Wert zuweisen. Auf diese Weise können Sie mehrere Variablen gleichzeitig initialisieren, die Sie später im Programm selbst oder durch Benutzereingaben neu zuweisen können.
Durch Mehrfachzuweisung können Sie die Variablenx
,y
undz
auf den Wert der Ganzzahl0
setzen:
x = y = z = 0
print(x)
print(y)
print(z)
Output0
0
0
In diesem Beispiel werden alle drei Variablen (x
,y
undz
) demselben Speicherort zugewiesen. Sie sind jeweils gleich dem Wert 0.
In Python können Sie auch mehreren Variablen in derselben Zeile mehrere Werte zuweisen. Jeder dieser Werte kann einen anderen Datentyp haben:
j, k, l = "shark", 2.05, 15
print(j)
print(k)
print(l)
Outputshark
2.05
15
Im obigen Beispiel wurde die Variablej
der Zeichenfolge"shark"
zugewiesen, die Variablek
wurde dem Float2.05
zugewiesen und die Variablel
wurde zugewiesen der ganzen Zahl15
zugeordnet.
Diese Methode zum Zuweisen mehrerer Variablen zu mehreren Werten in einer Zeile kann die Anzahl der Codezeilen verringern, stellt jedoch sicher, dass die Lesbarkeit für weniger Codezeilen nicht beeinträchtigt wird.
Globale und lokale Variablen
Bei der Verwendung von Variablen in einem Programm ist es wichtig,variable scope zu berücksichtigen. Der Gültigkeitsbereich einer Variablen bezieht sich auf die bestimmten Stellen, auf die im Code eines bestimmten Programms zugegriffen werden kann. Dies bedeutet, dass nicht alle Variablen von allen Teilen eines bestimmten Programms aus zugänglich sind - einige Variablen sind global und andere lokal.
Global variables existieren außerhalb vonfunctions. Local variables existieren innerhalb von Funktionen.
Sehen wir uns globale und lokale Variablen in Aktion an:
#Create a global variable, outside of a function
glb_var = "global"
#Define a function
def var_function():
lcl_var = "local" #Create a local variable, inside function
print(lcl_var)
#Call function to print local variable
var_function()
#Print global variable outside function
print(glb_var)
Outputlocal
global
Das obige Programm weist die globale Variableglb_var
außerhalb einer Funktion zu und definiert dann die Funktionvar_function()
. Innerhalb der Funktion wird eine lokale Variable namenslcl_var
zugewiesen und dann ausgedruckt. Das Programm endet mit dem Aufruf vonvar_function()
und dem anschließenden Drucken vonglb_var
.
Daglb_var
eine globale Variable ist, können wir invar_function()
darauf verweisen. Ändern wir dazu das kleine Programm oben:
glb_var = "global"
def var_function():
lcl_var = "local"
print(lcl_var)
print(glb_var) #Print glb_var within function
var_function()
print(glb_var)
Outputlocal
global
global
Wir haben jetzt die globale Variableglb_var
zweimal ausgedruckt, da sie sowohl von der Funktion als auch außerhalb der Funktion gedruckt wird.
Was ist, wenn wir versuchen, die lokale Variable außerhalb der Funktion aufzurufen?
glb_var = "global"
def var_function():
lcl_var = "local"
print(lcl_var)
print(lcl_var)
OutputNameError: name 'lcl_var' is not defined
Wir können keine lokale Variable außerhalb der Funktion verwenden, in der sie zugewiesen ist. Wenn wir dies versuchen, erhalten wir als Gegenleistung einNameError
.
Schauen wir uns ein weiteres Beispiel an, in dem wir denselben Variablennamen für eine globale Variable und eine lokale Variable verwenden:
num1 = 5 #Global variable
def my_function():
num1 = 10 #Use the same variable name num1
num2 = 7 #Assign local variable
print(num1) #Print local variable num1
print(num2) #Print local variable num2
#Call my_function()
my_function()
#Print global variable num1
print(num1)
Output10
7
5
Da die lokale Variablenum1
lokal innerhalb einer Funktion zugewiesen wird, sehen wir beim Aufrufen dieser Funktionnum1
als gleich dem lokalen Wert von10
. Wenn wir den globalen Wert vonnum1
nach dem Aufruf vonmy_function()
ausdrucken, sehen wir, dass die globale Variablenum1
immer noch gleich dem Wert von5
ist.
Mit derglobal
-Anweisung von Python können globale Variablen innerhalb einer Funktion zugewiesen werden:
def new_shark():
#Assign variable as global
global shark
shark = "Sammy"
#Call new_shark() function
new_shark()
#Print global variable shark
print(shark)
Obwohl die Variableshark
lokal innerhalb der Funktionnew_shark()
zugewiesen wurde, ist sie außerhalb der Funktion aufgrund der Anweisungglobal
zugänglich, die vor der Zuweisung der Variablen innerhalb der Funktion verwendet wurde. Aufgrund dieserglobal
-Anweisung erhalten wir keinen Fehler, wenn wirprint(shark)
außerhalb der Funktion aufrufen. Obwohl Siecan eine globale Variable innerhalb einer Funktion zuweisen, müssen Sie dies wahrscheinlich nicht oft tun und sollten sich auf der Seite des lesbaren Codes irren.
Beachten Sie außerdem, dass diese Variable implizit global ist, wenn Sie innerhalb einer Funktion auf eine Variable verweisen, ohne dieser einen Wert zuzuweisen. Um eine lokale Variable zu haben, müssen Sie ihr im Hauptteil der Funktion einen Wert zuweisen.
Bei der Arbeit mit Variablen ist es wichtig zu entscheiden, ob die Verwendung einer globalen oder einer lokalen Variablen angemessener ist. Normalerweise ist es am besten, die Variablen lokal zu halten. Wenn Sie jedoch dieselbe Variable in mehreren Funktionen verwenden, möchten Sie möglicherweise eine globale Variable initialisieren. Wenn Sie mit der Variablen nur innerhalb einer Funktion oder inclassarbeiten, möchten Sie wahrscheinlich stattdessen eine lokale Variable verwenden.
Fazit
In diesem Tutorial wurden einige der häufigsten Anwendungsfälle von Variablen in Python 3 behandelt. Variablen sind ein wichtiger Baustein der Programmierung und dienen als Symbole, die für den Wert vondata type stehen, den Sie in einem Programm verwenden.