[PYTHON] Ruft den Variablennamen der Variablen als Zeichenfolge ab.

Ich wollte es zum Debuggen, also habe ich es selbst gemacht. In Python gibt es eine integrierte Variable im Namespace. Suchen Sie also danach. (Verwenden Sie die Namespace-Variablen local () und globals ().) Die Referenz der Variablen ist nicht eindeutig, aber das Referenzziel der Variablen ist eindeutig (... nicht wahr?). (Verwenden Sie die Bezeichnerfunktion id ().)

def getVarsNames( _vars, symboltable ) :
    """
    This is wrapper of getVarName() for a list references.
    """
    return [ getVarName( var, symboltable ) for var in _vars ]

def getVarName( var, symboltable, error=None ) :
    """
    Return a var's name as a string.\nThis funciton require a symboltable(returned value of globals() or locals()) in the name space where you search the var's name.\nIf you set error='exception', this raise a ValueError when the searching failed.
    """
    for k,v in symboltable.iteritems() :
        if id(v) == id(var) :
            return k
    else :
        if error == "exception" :
            raise ValueError("Undefined function is mixed in subspace?")
        else:
            return error

if __name__ == "__main__":
    a = 4
    b = "ahoo"
    print getVarsNames([a,b,"c"],locals())

Dies ist der Rückgabewert.

['a', 'b', None]

wie wäre es mit? Was passiert, wenn Sie überlappende verschachtelte Funktionen aufrufen?

Nachtrag: Sie können gerne Ausnahmen senden

Recommended Posts

Ruft den Variablennamen der Variablen als Zeichenfolge ab.
[PowerShell] Lesen Sie die Zeichenfolge
#Eine Funktion, die den Zeichencode einer Zeichenfolge zurückgibt
[Python] Ich habe versucht, den Typnamen als Zeichenfolge aus der Typfunktion abzurufen
Extrahieren Sie den Wert von dict oder list als Zeichenfolge
<Python> Ein Quiz zum Batch-Konvertieren von Dateinamen, die durch eine bestimmte Zeichenfolge als Teil des Dateinamens getrennt sind
pandas Ruft den Namen einer Spalte ab, die ein bestimmtes Zeichen enthält
[Python] Ruft den Variablennamen mit str ab
[Python] Ruft den Zeichencode der Datei ab
Holen Sie sich den Dateinamen des Verzeichnisses (glob)
Rufen Sie die Formel in der Excel-Datei als Zeichenfolge in Python ab
Holen Sie sich den Aufrufer einer Funktion in Python
[NNabla] So erhalten Sie die Ausgabe (Variable) der mittleren Schicht des erstellten Netzwerks
So erhalten Sie den Variablennamen selbst in Python
Abrufen des Dateinamens in einem Ordner mithilfe von glob
Schneiden Sie einen Teil der Zeichenfolge mit einem Python-Slice aus
[C-Sprache] [Linux] Ruft den Wert der Umgebungsvariablen ab
Eine Geschichte über die Änderung des Master-Namens von BlueZ
Geben Sie das Ausgabeergebnis von sklearn.metrics.classification_report als CSV-Datei aus
Berechnen Sie das Produkt von Matrizen mit einem Zeichenausdruck?
Python Hinweis: Das Rätsel, einer Variablen eine Variable zuzuweisen
[Ansible] Beispiel für ein Playbook, das der ersten Zeile der Datei eine Zeichenkette hinzufügt
Wenn eine lokale Variable mit demselben Namen wie die globale Variable in der Funktion definiert ist
Holen Sie sich die Anzahl der Ziffern
Finden Sie die scheinbare Breite einer Zeichenfolge in Python heraus
Holen Sie sich die ID einer GPU mit geringer Speichernutzung
Holen Sie sich UNIXTIME zu Beginn des heutigen Tages mit einem Befehl
Holen Sie sich die Anzahl der spezifischen Elemente in der Python-Liste
Um den Namen des Primitivs usw. zu erhalten, das unmittelbar zuvor generiert wurde
Rufen Sie den Hostnamen des Host-PCs mit Docker unter Linux ab
So verbinden Sie den Inhalt der Liste mit einer Zeichenfolge
[Linux] [C / C ++] So ermitteln Sie den Wert der Rücksprungadresse einer Funktion und den Funktionsnamen des Aufrufers
[Python] Programmieren, um die Nummer von a in einer Zeichenfolge zu finden, die eine bestimmte Anzahl von Malen wiederholt.
Wie kann man schnell die Häufigkeit des Auftretens von Zeichen aus einer Zeichenfolge in Python zählen?
Wenn sich eine Zeichenfolge einer bestimmten Reihe im Schlüssel des Wörterbuchs befindet, wird die Zeichenfolge in den Wert des Wörterbuchs konvertiert.
Ich möchte den Namen der ausgeführten Funktion / Methode erhalten
Holen Sie sich die Anzahl der Ansichten von Qiita
[Einführung in Python] So teilen Sie eine Zeichenfolge mit der Funktion split
Format, wenn eine lange Zeichenfolge als Python-Argument übergeben wird
So überprüfen Sie die Speichergröße einer Variablen in Python
Ruft die Attribute eines Objekts ab
Geben Sie die Zeile mit der angegebenen Zeichenfolge aus der Textdatei aus
[Python] Ruft das Aktualisierungsdatum eines Nachrichtenartikels aus HTML ab
Holen Sie sich das erste Element von Queryset
Rufen Sie die URL des von der Jira-Python-Bibliothek erstellten JIRA-Tickets ab
So ermitteln Sie die Scheitelpunktkoordinaten eines Features in ArcPy
So extrahieren Sie die gewünschte Zeichenfolge aus einem Befehl in Zeile 4
Holen Sie sich die Anzahl der Youtube-Abonnenten
Versuchen Sie, Elasticsearch als Grundlage für Ihr Frage- und Antwortsystem zu verwenden
Holen Sie sich den Hostnamen in Python
Erstellen Sie eine Funktion, um den Inhalt der Datenbank in Go abzurufen
[Golang] Überprüfen Sie, ob eine bestimmte Zeichenfolge in der Zeichenfolge enthalten ist
Die Geschichte des Exportierens eines Programms
Holen Sie sich die Abfragezeichenfolge (Abfragezeichenfolge) mit Django
Holen Sie sich die Anzahl der Leser von Artikeln über Mendeley in Python
Python> Slice> Ein Slice-Offset vor dem Anfang eines Strings wird als 0 und einer nach dem Ende als -1 behandelt
Web-Scraping-Anfänger versuchten, einen Befehl zu erteilen, um den Filmnamen der Roadshow am nächsten Freitag zu erhalten
Die Geschichte, ein Tool zum Laden von Bildern mit Python zu erstellen ⇒ Speichern unter