Ich habe mich eingehend mit der Verarbeitung von Variablen in Python befasst

Klicken Sie hier, um den Artikel im Management-Blog Entwerfen einer hervorragenden Methode zum Speichern von Objekten in Python zu lesen.

Hier werde ich über die Verarbeitung von Python-Variablen schreiben, wie sie im Interpreter zu sehen sind. Wenn Sie aus einer Datei ausführen möchten, versuchen Sie, gut zu googeln.

Ich denke, die Hauptsache ist, "wo Sie eine Variable aufrufen wollen (wo Sie so etwas wie var machen)," print var "", "

So erstellen Sie Variablen

Geben Sie einfach die Reihenfolge "Variable = Objekt" ein.

test


var = 9

Wie rufe ich an?

"Var" ist jedoch gedrückt

test


var #9

Was passiert hinter den Kulissen beim Definieren von Variablen (vielleicht)

  1. Variable speichern (var)

  2. Bereiten Sie einen Zeiger (= Arbeit) vor und speichern Sie das Speicherziel des Objekts in einer Variablen.

  3. Istwert (Objekt) Zuordnung (in diesem Fall 9) Diejenigen, die im Speicher von Object enthalten sind

  4. Objektwert (9)

  5. Geben Sie Informationen ein (dh Datentyp, Ganzzahl).

  6. Referenzzähler (Adresse mit Variablen) "

  7. Beziehen Sie sich beim Aufrufen einfach mit "Zeiger" auf das Objekt. Der Zeiger wird durch "=" definiert. Wenn es kein = gibt, wird ein Syntaxfehler angezeigt

Spezifisches Beispiel Was passiert, wenn var1 = var

Fehler "Var1 ruft var auf, dann ruft var Objekt 9 auf." richtig "Var1 bezieht sich auf dasselbe Objekt wie var. Var1 ruft Objekt 9 direkt auf."

Bestätigung ① var1 = var

Zunächst sei var1 = var. Hier wird die Hypothese wie folgt aufgestellt (es ist ein sehr wissenschaftliches System ...)

var1**Direkt**Referenzieren der Adresse eines Objekts bedeutet
var1 und var sind (sollten) völlig unabhängig sein.
Etwas Neues für var**Auswechslung(=)**Und sehen.
Wenn var völlig unabhängig von var1 ist, können Sie var ein neues Objekt zuweisen
Der Wert von var1 sollte sich nicht ändern

Ausprobieren.

test


var = 20
var1 = var

var = 30 #Da var1 nichts mit var zu tun hat, sollte der Wert von var1 gleich bleiben.

var #30
var1 = 20

Bestätigung (2) Fügen Sie mit dem Anhängen der Liste einen neuen Wert ** hinzu.

Da sie sich auf denselben Wert beziehen sollten, sollten sich beide Werte ändern, wenn es sich um ** Anhängen ** anstelle von ** Zuweisung (=) ** handelt.

test


list1 = [1,2]  #list1 [1,2]
list2 = list1  #list2 [1,2]
		
list1.append(3) # " = "Wird nicht verwendet, wird dem Referenzziel von list2 ein neuer Wert hinzugefügt

list1 #[1,2,3]
list2 #[1,2,3]

Wenn es sich nicht um eine Zuweisung handelt, scheint das Referenzziel der Variablen genau dasselbe zu sein. Wenn Sie ** hinzufügen oder in Scheiben schneiden **, ändern sich beide Variablen (hier Liste1 und Liste2). (Ich werde wütend ...)

Mit anderen Worten

  1. Weisen Sie einer neuen Variablen einen Wert zu (use =) -> Erstellen Sie ein neues Objekt, damit es völlig unabhängig voneinander wird.
  2. Weisen Sie der Variablen keinen neuen Wert zu (= nicht verwenden) -> Da das Referenzziel dasselbe ist, werden durch Ändern beider Werte beide Werte geändert

Die Sache ist, wenn Sie list1 = [1,2] in der Mitte hinzufügen, sind ** list1 und list2 völlig unabhängig **, also sollte sich das Ergebnis ändern!

test


list1 = [1,2]  #list1 [1,2]
list2 = list1  #list2 [1,2]

list = [1,2]  #Die Werte sind die gleichen," = "Wird verwendet, wird ein völlig neues Objekt erstellt und ist unabhängig (wird irrelevant) von list2.

list1.append(3) # " = "Wird nicht verwendet, aber der Wert wird dem neu erstellten list1-Objekt hinzugefügt. list2 ist irrelevant, also lass es wie es ist

list1 #[1,2,3]
list2 #[1,2]

Deshalb habe ich mich persönlich in sie verliebt. (Wenn Sie es nicht mit Ihrem eigenen Verstand verstehen, werden Sie es nie verstehen, selbst wenn Sie es lesen ...)

Recommended Posts

Ich habe mich eingehend mit der Verarbeitung von Variablen in Python befasst
Ich habe versucht, den Prozess mit Python zu studieren
Dateiverarbeitung in Python
Textverarbeitung mit Python
Verarbeitung in Python beenden
Über __all__ in Python
Ich möchte eine Variable in einen Python-String einbetten
UTF8-Textverarbeitung mit Python
Ich habe Python auf Japanisch geschrieben
Asynchrone Verarbeitung (Threading) in Python
Bildverarbeitungssammlung in Python
Ich verstehe Python auf Japanisch!
Was ich in Python gelernt habe
Verwenden des Python-Modus in der Verarbeitung
Über "für _ in range ():" von Python
Eine Geschichte über den Versuch, private Variablen in Python zu implementieren.
Signalverarbeitung in Python (1): Fourier-Transformation
Über Python und Cython dtype
Informationen zur Parameterverarbeitung in Flask's request.args
Ich habe Fizz Buzz in Python geschrieben
Scikit-learn kann nicht in Python installiert werden
Ich habe die Warteschlange in Python geschrieben
Ich habe Line Benachrichtigung in Python versucht
Ich habe den Stack in Python geschrieben
Ich habe Python 2.7 in Sakura VPS 1 GB installiert.
Ich habe versucht, PLSA in Python zu implementieren
Ich habe versucht, Permutation in Python zu implementieren
Ich habe ein Pay-Management-Programm in Python erstellt!
Ich habe versucht, PLSA in Python 2 zu implementieren
Ich habe versucht, die Bayes'sche Optimierung von Python zu verwenden
Ich kann Python-Skripte in Eclipse nicht debuggen
Ich habe Umgebungsvariablen in Docker festgelegt und in Python angezeigt.
Ich möchte die abstrakte Klasse (ABCmeta) von Python im Detail erklären
Ich habe versucht, Couseras logistische Regression in Python zu implementieren
Ich habe versucht, ADALINE in Python zu implementieren
Ich wollte ABC159 mit Python lösen
Ich habe versucht, PPO in Python zu implementieren
Verarbeiten Sie Bilder in Python ganz einfach mit Pillow
Ich habe mit Python nach einer Primzahl gesucht
Ich habe ein Passwort-Tool in Python erstellt.
Doppelte Verbotsverarbeitung im GAE / Python-Datenspeicher
Status jedes Python-Verarbeitungssystems im Jahr 2020
Warum kann ich matplotlib nicht mit Python installieren? !!
Unterschiede in der Zeichenfolgenverarbeitung zwischen Python, Ruby, JS und PHP (Kombination und Variablenerweiterung)
Asynchrone Verarbeitung in Python: Asyncio-Reverse-Referenz
Ich möchte Dunnetts Test in Python machen
Ich habe versucht, Robinsons Bayesian Spam Filter mit Python zu implementieren
Ein Memo, das ich schnell in Python geschrieben habe
Einbetten von Variablen in Python-Strings
Python: Ich konnte in Lambda rekursieren
Ich möchte mit Python ein Fenster erstellen
Ich habe versucht, mit Python ein Tippspiel zu spielen
Wenn ich matplotlib in Python versuche, heißt es'cairo.Context '.
Zeigen Sie das Ergebnis der Geometrieverarbeitung in Python an
Ich habe versucht, "Birthday Paradox" mit Python zu simulieren
Ich habe die Methode der kleinsten Quadrate in Python ausprobiert
Ich habe eine Klasse in Python3 und Java geschrieben
Geschrieben "Einführung in die Effektüberprüfung" in Python
[Python] Ich habe mit der Verarbeitung natürlicher Sprache ~ Transformatoren ~ gespielt
Denken Sie an Suchvorgänge mit Tiefenpriorität und Breitenpriorität in Python