Habe folgendes Problem:
Ich habe eine Funktion definiert und möchte als Ausgabe den Variablennamen und nicht dessen Wert.
Stelle mir das so in der Art vor:
Code: Alles auswählen
def func(x):
print str(x)
Danke und Grüße!
Code: Alles auswählen
def func(x):
print str(x)
Code: Alles auswählen
print 'A'
Code: Alles auswählen
def foo(**kwargs):
for i, j in kwargs.iteritems():
print i + ": " + j
foo(A="abc, B="bcs")
Code: Alles auswählen
def foo(x): print locals()
Code: Alles auswählen
def symm(x):
if all(x.transpose() == x):
print str(x)+' ist symmetrisch!'
else:
print str(x)+' ist nicht symmetrisch!'
Code: Alles auswählen
a = b = 42
func(a)
func(b)
func(42)
func(23)
func(int())
c = [a + 1]
func(c[0])
Wohl wahr. Habe ich gerade glatt ignoriert. Sorry.BlackJack hat geschrieben:@CM: `locals()` kennt `x` weiss aber nicht das das Objekt auch unter dem Namen `A` erreichbar ist.
Dann übergib doch nicht nur die Werte, sondern auch den Namen der Matrix. Das wäre eine saubere Lösung. Oder erstelle ein dict und übergib das, z.B.:sponk hat geschrieben:wenn ich nun eine Matrix A (wird vorgegeben) habe und den Befehl symm(A) ausfühe, soll eben "A ist symmetrisch!" bzw. "A ist nicht symmetrisch" rauskommen.
Code: Alles auswählen
matrix = {
"name": "Die Matrix A",
"werte": ...
}