Gibt es eine Möglichkeit, eine eval
-like-Funktion auszuführen, die ihre Werte in Fließkomma-Werte umwandelt? Ich hoffe auf
und lassen Sie den Fließkommawert .333333 lieber als den Ganzzahlwert 0 zurückgeben.
Nehmen Sie das Compiler-Flag für __future__.division
, übergeben Sie es und Ihren Code an compile()
, und führen Sie eval()
für das zurückgegebene Code-Objekt aus.
(Anmerkung von mh) Dies hat den zusätzlichen Vorteil, dass die Divisionsoperation global nicht geändert wird, was zu unerwarteten Nebeneffekten führen kann. (Endnote)
%Vor%Dies funktioniert standardmäßig auf Python3
%Vor% Für Python2 können Sie -Qnew
in der Befehlszeile übergeben (was äquivalent zu from __future__ import division