有没有办法执行类似eval的函数,将其值强制转换为浮点值?我希望
eval('1/3')
Run Code Online (Sandbox Code Playgroud)
并让它返回浮点值.333333而不是整数值0.
Ign*_*ams 14
获取编译器标志__future__.division,传递它和您的代码compile(),然后eval()在返回的代码对象上运行.
(注意mh)这具有不改变全局分割操作的附加优点,这可能会产生意想不到的副作用.(尾注)
>>> import __future__
>>> eval(compile('1/3', '<string>', 'eval', __future__.division.compiler_flag))
0.33333333333333331
Run Code Online (Sandbox Code Playgroud)
你的问题是:我怎么能让Python默认进行浮点除法.答案是:
from __future__ import division
Run Code Online (Sandbox Code Playgroud)