Ich habe eine Funktion:Raw Text als Argument Zeichenfolge in Python
def list_printer(name):
frame = sys._getframe(1)
print(name, '=', repr(eval(name, frame.f_globals, frame.f_locals)))
return
und eine Liste:
my_list = [1, 2, 3, 4, 5]
Wenn sie aufgerufen wird es wie folgt aussieht:
list_printer('my_list')
und Ausgänge :
my_list = [1, 2, 3, 4, 5]
Die Sache ist, wie Sie sehen können, muss ich eine Zeichenfolge als Argument verwenden, gibt es eine Möglichkeit, wie ich rohen Text eingeben und dann in eine Zeichenfolge innerhalb der Funktion konvertieren kann, so dass ich keine Anführungszeichen verwenden muss?
Äh, wenn Sie das Objekt selbst übergeben wollen, was ist dann der Sinn dieses schrecklichen Frame/Eval-Zeugs? Warum nicht einfach 'print (meine_liste)'? –
Testen Sie die Klasse des Objekts ('isinstance()') übergeben. Wenn eine Schnur dann kannst du all das Zeug machen. Wenn nicht eine Zeichenkette dann drucken Sie es einfach aus. – cdarke