Ich habe Python seit ein paar Monaten gelernt, und auch sehr wenig C, und ich fragte mich, ob jemand diesen Zweifel für mich beseitigen könnte:
Ist eine Variable der Name, der Wert oder der Speicherort?
Zum Beispiel:
%Vor%Ist die Variable x, der Wert von x oder die Position von x im Speicher?
Ich suche nach einer klaren Erklärung, was eine Variable ist. Ich habe schon die Wikipedia-Seite für Variablen und diese Frage , aber mir war beides nicht klar. Wenn dies eine doppelte Frage ist, wäre ein Link zur richtigen Antwort großartig.
Danke!
Es gibt verschiedene Dinge mit der Anweisung x=5
:
5
wird erstellt (oder gefunden, wenn es bereits existiert); x
wird erstellt (oder die Verknüpfung mit dem letzten Objekt 'x' wird aufgehoben); x
ist dem Objekt mit dem Wert '5' zugeordnet (oder gefunden). Da int-Objekte unveränderlich sind, können sie interniert sein, um effizient zu sein. String-Objekte werden eher interniert.
Hier sind einige Beispiele:
%Vor% Der beste Weg, um Variablennamen zu denken, wie 'x' in x=5
, ist eine Bezeichnung.
Es ist möglich, Objekte ohne Label zu haben, z. B. die 5 einzelnen String-Objekte, die in diesem Listenverständnis erstellt wurden:
%Vor%Sie können dann Objekte erstellen, die unabhängig vom Wert dieser 5 Objekte sind:
%Vor%Sie können ihre individuellen Speicheradressen (in cPython) oder eine eindeutige ID-Adresse abrufen:
%Vor%Beachten Sie, dass die zwei unabhängig erstellten Listen des anonymen Objekts gleich sind (in diesem Fall die ersten 5). Ich habe absichtlich Saiten benutzt, weil sie eher begraben sind ...
Man denke also so: Zwei verschiedene Prozesse laufen mit x=5
:
Es gibt irgendwo in einem Speicher Platz, wo die Werte gespeichert sind. Dieser Speicher befindet sich dann über eine Adresse, die normalerweise durch eine Hexadezimalzahl oder manchmal eine Binärzahl dargestellt wird. Daher sind diese Zahlen für den Programmierer schwer zu merken. Daher verwendeten sie den Begriff Variable, um auf einfache Weise auf diesen Speicherort zu verweisen, oder Sie können eine höhere Abstraktion sagen. Also ist x nur ein Name, der sich auf einen Ort im Speicher bezieht, der den Wert 5 enthält. Das ist alles!
Eine Variable ist eine Zuordnung eines Namens zum zugehörigen Speicher und dient dazu, auf diesen Speicherort in Ihrem Programm zu verweisen. Wenn Sie eine Variable zuweisen und Operationen darauf ausführen, füllen und ändern Sie diesen Speicher. Wenn Sie eine Variable neu zuweisen, können Sie sie auf einen anderen Speicherort verweisen - Sie ordnen diesen Namen neu zu.
In Python werden Variablen am besten als Namen betrachtet.
Im Fall von Zahlen sind Zahlen unveränderlich, so dass das Umhängen einer Variablen immer zu einer anderen Zahl führt, ohne die Zahl zu ändern.
%Vor%Der Unterschied ist deutlicher bei veränderbaren Objekten, wo Sie einen Wert ändern ODER die Variable auf einen anderen Wert beziehen können
%Vor%Empfohlener Wert:
Tags und Links python variables variable-assignment