Wie kann ich den Wert von exec in function zurückgeben?

Ich versuche:

def test(w,sli): s = "'{0}'{1}".format(w,sli) exec(s) return s print test("TEST12344","[:2]") 

Seine Rückkehr 'TEST12344' [: 2]

Wie man den Wert von exec in function zurückgibt

One Solution collect form web for “Wie kann ich den Wert von exec in function zurückgeben?”

exec() nicht nur Ausdrücke auswerten, es führt Code aus. Sie müssten eine Referenz innerhalb des exec() Aufrufs speichern.

 def test(w, sli): exec('s = "{}"{}'.format(w, sli)) return s 

Wenn Sie nur einen Ausdruck auswerten möchten, verwenden Sie eval() und speichern Sie einen Verweis auf den zurückgegebenen Wert:

 def test(w,sli): s = "'{0}'{1}".format(w,sli) s = eval(s) return s 

Allerdings würde ich empfehlen, exec() und eval() in jedem echten Code zu vermeiden, wann immer möglich. Wenn Sie es verwenden, stellen Sie sicher, dass Sie einen sehr guten Grund haben, dies zu tun.

  • Bestimmen Sie Präzision und Skalierung bestimmter Nummer in Python
  • Wörterbuch, wo Schlüssel sind Paar Integer in Python
  • Typecasting in Python
  • Kann Fluchtzeichen nicht in String entgehen
  • Python-String-Ersatz, alle möglichen Kombinationen # 2
  • Planen Sie ein NumPy-Array von Strings an Ganzzahlen
  • Entfernen von Zahlen aus String [geschlossen]
  • Split-String in Gruppen von gegebener Größe
  • Python-Liste in einem For-Loop
  • Python-String-Interpolation mit Wörterbuch und Strings
  • Pandas zählen Frequenzen innerhalb der Str-Serie
  • Python ist die beste Programmiersprache der Welt.