2016-07-06 13 views
1

ich die Variable habenDruck Namen Variablenwert, es ist nicht in Python

street_38 = (4,6,7,12,1,0,5) 

Gibt es einen Weg, um tatsächlich den Namen zu drucken, aber nicht die Werte? Das ist ich bin nur daran interessiert, "street_38" zu bekommen. Ich möchte, dass, weil ich eine Gestalt bin Plotten und wenn ich

setzen

plt.title(str(street_38)

als Titel, den ich die Werte erhalten und nicht den Namen

Dank

+1

Was ist falsch mit 'plt.title (" street_38 ")'? Das ist eine ernste Frage. Bitte erklären Sie, warum der wörtliche Name für Sie nicht nützlich ist, da dies den Menschen hilft, eine gute Lösung für Ihr Problem zu finden. –

+0

[Klingt nicht nach einer guten Idee ...] (http://stackoverflow.com/questions/544919/can-i-print-original-variables-name-in-python) – Curmudgeon

+1

Wie wäre es mit dieser Problemumgehung: ' street_38 = ('street_38', 4, 6, 7, 12, 1, 0, 5) '? Auf diese Weise ist 'street_38' das erste Element Ihres Tupels. –

Antwort

0

Es ist kein gut Weg um dies programmatisch zu tun. Idealerweise hat der Name einer Variablen keinerlei Bedeutung für den Code. Es ist nur nützlich, um dem Programmierer Ideen zu vermitteln, damit sie wissen, womit sie arbeiten.

1

Von this answer, Sie so etwas wie diese

>>> a = 1 
>>> for k, v in list(locals().iteritems()): 
     if v is a: 
      a_as_str = k 
>>> a_as_str 
a 
>>> type(a_as_str) 
'str' 

That being said tun könnte, ist dies nicht ein guter Weg, es zu tun. Python-Objekte haben keine Namen. Stattdessen Namen haben Objekte. Eine kleine Ausnahme ist das __name__ Attribut der Funktionen, aber die Regel ist die gleiche - wir speichern nur den Namen als Attribut. Das Objekt selbst bleibt ungenannt.

Die obige Methode missbraucht die locals() Methode. Es ist nicht ideal. Ein besserer Weg wäre, Ihre Daten in ein Wörterbuch umzuwandeln. Ein Wörterbuch ist speziell eine Gruppe von benannten Werten.

{ 
    'street38': (4,6,7,12,1,0,5) 
} 

Der Punkt eines Wörterbuchs ist diese Schlüssel/Wert-Beziehung. Es ist eine Möglichkeit, einen Wert basierend auf einem Namen nachzuschlagen, was genau das ist, was Sie wollen. Das andere Problem, auf das Sie stoßen können (je nachdem, was Sie hier tun), ist, was passiert, wenn es Tausende von Straßen gibt. Sicherlich möchten Sie nicht auch Tausende von Variablennamen schreiben.

Verwandte Themen