Tag: Pythonumfang

Wie man globale Variablen unter verschiedenen Modulen in Python hat

Ich habe untersucht, dass der Umfang der globalen Variablen in Python auf das Modul beschränkt ist. Aber ich brauche den Geltungsbereich, um unter verschiedenen Modulen global zu sein. Gibt es so etwas? Ich spielte um __builtin__ aber kein Glück. Danke im Voraus!

Python – Wie man eine globale Variable aus einer Funktion

Diese Frage hat hier schon eine Antwort: Wie kann ich auf globale Variable innerhalb der Klasse in Python 4 Antworten zugreifen Ich muss einige sehr grundlegende Konzepte über Pythons Variablen die Bereiche fehlen, aber ich konnte nicht herausfinden, was. Ich schreibe ein einfaches Skript, in dem ich auf eine Variable zugreifen möchte, die außerhalb des […]

Was bedeutet Umfang

Diese Frage hat hier schon eine Antwort: Kurze Beschreibung der Scoping Regeln? 7 antworten Aus pythonreferenzhandbuch: Ein Bereich definiert die Sichtbarkeit eines Namens innerhalb eines Blocks. Wenn eine lokale Variable in einem Block definiert ist, enthält der Bereich diesen Block. und Wenn ein Name in einem Codeblock verwendet wird, wird er mit dem nächstgelegenen Rahmenbereich […]

Wie kann ich auf eine Klassenvariable in einem Initialisierer in Python zugreifen?

Ich dachte, dass eine class in Python einen Umfang schafft. Aber wenn ich diesen einfachen Code versuche, bekomme ich einen Fehler: class A(): foo = 1 def __init__(self): print foo a = A() NameError: global name 'foo' is not defined Warum ist foo nicht vom Initialisierer zugänglich? Was ist der richtige Weg, um darauf zuzugreifen?

Variabler Bereich (Python Newbie)

Ich benutze eine .pop-Methode auf einer globalen Liste innerhalb eines Funktionsblocks, aber die globale Liste wird außerhalb des Blocks aktualisiert. Ich dachte, dass lokale Variablen Globale Variablen nicht ändern können. Das sollte nicht funktionieren, aber das tut: import random PhraseBank = ['a','b','c','d'] def getPuzzle(secretphrase): phraseIndex = random.randint(0,len(PhraseBank)-1) secretphrase = PhraseBank.pop(phraseIndex) return secretphrase #Returns and item […]

Python-Funktion Anrufe sind Blutungen Umfang, stateful, nicht zu initialisieren Parameter?

Bevor ich die Kühnheit habe, einen Fehlerbericht einzureichen, dachte ich, dass ich meine Annahmen unter klügeren Pythonistas hier überprüfen würde. Ich habe heute einen verblüffenden Fall erlebt, also habe ich ihn auf ein Spielzeug-Beispiel gelegt, das unten gezeigt wird: #!/usr/bin/env python # -*- coding: UTF-8 -*- """ A little script to demonstrate that a function […]

Wie kann man Variablen eines anderen Bereichs ändern?

Currectly, ich versuche folgendes: Einige mutator Funktion akzeptiert den lokalen Bereich der anderen Funktion mit locals() def mutator(locals): locals['n'] = 10 locals['l'].append(10) def f(): n = 1 l = [1] mutator(locals()) print(n,l) # >>> 1, [1,10] f(None) Und das funktioniert wie erwartet: Ich war in der Lage, veränderliche Listeninhalte zu modifizieren, aber es versäumt, einen […]

Python Variable Scope (Vorbehalt durch Verweis oder Kopie?)

Warum wird die Variable L im sorting(L) -Funktionsaufruf manipuliert? In anderen Sprachen würde eine Kopie von L an die sorting() als Kopie weitergegeben, so dass irgendwelche Änderungen an x die ursprüngliche Variable nicht ändern würden? def sorting(x): A = x #Passed by reference? A.sort() def testScope(): L = [5,4,3,2,1] sorting(L) #Passed by reference? return L […]

Warum ist der Ort zum Zeitpunkt der Kompilierung bestimmt?

Dies ist ein bisschen ein Follow-up zu dieser Frage . Warum ist der Ort bei der Kompilierzeit und nicht zur Ausführungszeit bestimmt? Ist es rein für die Leistung? Gibt es Sprachen, die ihre Variablen zur Ausführungszeit nachschlagen? Dh jedes Mal, wenn eine Variable zugegriffen wird, wird diese Variable zuerst im lokalen Bereich gesucht und dann […]

Python: Variablen sind noch zugänglich, wenn in try oder if definiert?

Ich bin ein Python-Anfänger und ich bin aus C / C ++ – Hintergrund. Ich benutze Python 2.7. Ich lese diesen Artikel: Ein Anfänger Guide zu Python's Namespaces, Scope Resolution und die LEGB Rule , und ich denke, ich habe ein Verständnis von Python diese Technologien. Heute habe ich erkannt, dass ich so einen Python-Code […]

Python ist die beste Programmiersprache der Welt.