Python-Variablen neu denken: Zeiger oder Referenzen?
In der Welt der Python-Programmierung wurden Variablen oft als „Zeiger“ beschrieben. Dies wirft jedoch Fragen zum Verhalten dieser Variablen auf. Betrachten Sie die folgenden Codeausschnitte:
i = 5 j = i j = 3 print(i)
Basierend auf der „Zeiger“-Annahme könnte man erwarten, dass ich nach der Codeausführung einen Wert von 3 hätte. Das tatsächliche Ergebnis ist jedoch 5.
Was ist los?
Python-Referenzen verstehen
In Python verhalten sich Variablen nicht wie Zeiger. Stattdessen fungieren sie als Referenzen. Eine Referenz verbindet eine Variable mit einem Objekt. Wenn Sie eine Variable einer anderen Variablen zuweisen, erstellen Sie einen Verweis auf dasselbe Objekt.
Das bedeutet, dass im ersten Codeausschnitt i und j Verweise auf dasselbe ganzzahlige Objekt (int(5)) sind. . Wenn der Wert von j auf 3 geändert wird, wird ein neues ganzzahliges Objekt (int(3)) erstellt und j wird zu einer Referenz darauf. Allerdings bleibt i ein Verweis auf das ursprüngliche Integer-Objekt int(5).
Der zweite Codeausschnitt veranschaulicht dieses Verhalten mit einer Liste:
i = [1,2,3] j = i i[0] = 5 print(j)
In diesem Fall sind i und j beide Verweise auf dasselbe Listenobjekt. Wenn i[0] geändert wird, wird das Listenobjekt selbst geändert, sodass sowohl i als auch j weiterhin auf dieselbe Liste verweisen.
Fazit
Python-Variablen sind keine Zeiger , sondern Referenzen. Sie stellen Verbindungen zu Objekten her, und wenn der Wert einer Variablen geändert wird, wirkt sich dies auf das Objekt selbst aus. Dies erklärt die unerwarteten Ergebnisse, die in den Codeausschnitten zu sehen sind, und dient als grundlegendes Konzept zum Verständnis des Variablenverhaltens von Python.
Das obige ist der detaillierte Inhalt vonPython-Variablen: Zeiger oder Referenzen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

PythonusesahybridmodelofCompilation und Interpretation: 1) thepythonInterPreterCompilessourceCodeIntoplatform-unintenpendentBytecode.2) Thepythonvirtualmachine (PVM) ThenexexexexecthisByTeCode, BalancingeAnsewusewithperformance.

Pythonisbothinterpreted und kompiliert.1) ItscompiledToByteCodeForPortabilityAcrossplatform.2) thytecodeTheninterpreted, und das ErlaubnisfordyNamictyPingandRapidDevelopment zulässt, obwohl es sich

ForloopsaridealWenyouKnowtHenumberofofiterationssinadvance, während whileloopsarebetterForsituationswhereyouneedtoloopuntilaconditionismet.forloopsaremoreffictionAndable, geeigneter Verfaserungsverlust, whereaswiloopsofofermorcontrolanduseusefulfulf

Forloopsareusedwhenthenumberofiterationsisknowninadvance,whilewhileloopsareusedwhentheiterationsdependonacondition.1)Forloopsareidealforiteratingoversequenceslikelistsorarrays.2)Whileloopsaresuitableforscenarioswheretheloopcontinuesuntilaspecificcond

Pythonisnotpurelyinterpretiert; itusesahybridapproachofByteCodecompilation undruntimeinterpretation.1) PythoncompilessourcecodeIntoBytecode, die ISthenexecutBythepythonvirtualmachine (Pvm)

ToconcatenatelistsinpythonWithThesameElements, Verwendung: 1) Die Operatortokeepduplikate, 2) asettoremoveduplicate, or3) listenConpRectionforControloverDuplikate, EvermethodhasDifferentPerformanceInDormplocate.

PythonisaninterpretedLuage, OfferingaseofuseandflexibilitätsbutfacingPerformancelimitationsincriticalApplications.1) InterpretedLanguages LikePythonexecutine-by-Line, ermöglicht, dassmediateFeedbackandrapidPrototyping.2) CompiledLanguagesslikec/C.5.

Useforloopswhenthenumberofofiterationssisknowninadvance und wileloopswhenCiterationsDependonacondition.1) Forloopsardealforsequencelistorranges.2) Während


Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

Video Face Swap
Tauschen Sie Gesichter in jedem Video mühelos mit unserem völlig kostenlosen KI-Gesichtstausch-Tool aus!

Heißer Artikel

Heiße Werkzeuge

WebStorm-Mac-Version
Nützliche JavaScript-Entwicklungstools

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

mPDF
mPDF ist eine PHP-Bibliothek, die PDF-Dateien aus UTF-8-codiertem HTML generieren kann. Der ursprüngliche Autor, Ian Back, hat mPDF geschrieben, um PDF-Dateien „on the fly“ von seiner Website auszugeben und verschiedene Sprachen zu verarbeiten. Es ist langsamer und erzeugt bei der Verwendung von Unicode-Schriftarten größere Dateien als Originalskripte wie HTML2FPDF, unterstützt aber CSS-Stile usw. und verfügt über viele Verbesserungen. Unterstützt fast alle Sprachen, einschließlich RTL (Arabisch und Hebräisch) und CJK (Chinesisch, Japanisch und Koreanisch). Unterstützt verschachtelte Elemente auf Blockebene (wie P, DIV),

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

PHPStorm Mac-Version
Das neueste (2018.2.1) professionelle, integrierte PHP-Entwicklungstool
