Ich hane folgenden Quellcode:
eine Funktion:
def test(a):
print a
und der Aufruf:
i = 7
test(i)
Meine frage ist, ob ich in Python irgendwie den Namen der Variable i in der Funktion test rausfinden kann. Ich will folgendes realisieren:
def test(a):
print 'Variable' + NameDerVariable + ' = ' + a
dafür fehlt mir praktisch den Namen der Variable i
Den Namen der Übergabeparameter rausfinden?
Hoi,
von mir noch ein nachträgliches: Herzlich willkommen im Forum!
Aber: Wozu soll das bitte gut sein? Also, ich habe es noch nicht umgesetzt gesehen - was womöglich nicht viel heißen will.
Je nachdem was Du tatsächlich erreichen willst, hilft es vielleicht ein Dictionary zu übergeben - damit erhälst Du gleich Name:Wert-Paare und kannst auf Name und Wert zugreifen.
HTH
Christian
von mir noch ein nachträgliches: Herzlich willkommen im Forum!
Aber: Wozu soll das bitte gut sein? Also, ich habe es noch nicht umgesetzt gesehen - was womöglich nicht viel heißen will.
Je nachdem was Du tatsächlich erreichen willst, hilft es vielleicht ein Dictionary zu übergeben - damit erhälst Du gleich Name:Wert-Paare und kannst auf Name und Wert zugreifen.
HTH
Christian
Sorry, ich muss fragen, ich sehe nämlich so garkeinen Sinn darin: Wieso zu Hölle wilslt du das?
-----
Und jetzt zu Antwort: Nein
Weil: Wenn du die Variable 'i' hast, dann ist 'i' nichts weiter als ein Zeiger (ich nenn es jetzt mal so, wie in C) auf eine Stelle im Speicher in der der Inhalt dieser Variablen liegt.
Rufst du jetzt die Funktion 'test' auf, dann wird eine Kopie dieser Speicherstelle erzeugt und ein neuer Zeiger darauf erstellt und in 'a' gespeichert. Das ganze ist also völlig seperat von der Orginalvariable. Daher ist das was du willst nicht möglich.
Und außerdem ist es völlig unnötig. Wozu sollte man wissen wollen wie das Orginal einer übergebene Variable hieß?
/: Achso, falls du es doch brauchst solltest du das ganze umschreiben
-----
Und jetzt zu Antwort: Nein
Weil: Wenn du die Variable 'i' hast, dann ist 'i' nichts weiter als ein Zeiger (ich nenn es jetzt mal so, wie in C) auf eine Stelle im Speicher in der der Inhalt dieser Variablen liegt.
Rufst du jetzt die Funktion 'test' auf, dann wird eine Kopie dieser Speicherstelle erzeugt und ein neuer Zeiger darauf erstellt und in 'a' gespeichert. Das ganze ist also völlig seperat von der Orginalvariable. Daher ist das was du willst nicht möglich.
Und außerdem ist es völlig unnötig. Wozu sollte man wissen wollen wie das Orginal einer übergebene Variable hieß?
/: Achso, falls du es doch brauchst solltest du das ganze umschreiben
-
- Python-Forum Veteran
- Beiträge: 16025
- Registriert: Freitag 20. Juni 2003, 16:30
- Kontaktdaten:
Du kannst es ja immer noch so machen:
Code: Alles auswählen
In [12]: def c(**kwargs):
....: print kwargs
....:
In [13]: c(i='deinwert')
{'i': 'deinwert'}
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice