Python:限制所有打印调用中小数的最大数量



我有一个包含大量打印调用的脚本。

我想将所有打印的数字限制在最多5位小数,但用f_strings或格式化手动更改它将是一项艰巨的工作。

有没有办法在脚本开头指定,无论何时调用print函数或使用f字符串,我都不想知道超过5(或n(个小数,而不必更改每次调用的格式?

我只关心屏幕的表现。引擎盖下的数字是否有更多的小数对我来说并不重要。

从本质上讲,不必将每次打印都重写到此

print(f'{value:.6f}')我想要类似这样的东西:#define max_print_length = 10

谢谢!

我一直在寻找方法,试图改变打印功能的行为,或者在脚本开始时定义某种标志,但到目前为止,我两手空空。我找到了几个解决方案,但它们适用于不同的编程语言。

因为我不认为有一种方法可以为整个代码设置浮点精度,所以一个接受多个参数的不那么优雅的自定义打印方法可能会很有用。例如

def myprint(dict_to_print: Dict[str,float], precision:int)->None:
to_print = f""
for key, value in dict_to_print.items():
to_print += f"{key}: {value:.{precision}f}n"
print(to_print)
myprint({'1st': 12.9943943504538, '2nd': 9.4093485739048}, 2)
>>> 1st: 12.99
2nd: 9.41

PS。一行:

def myprint(dict_to_print: Dict[str, float], precision: int) -> None:
print("".join([f"{key}:{value:.{precision}f}n" for key, value in dict_to_print.items()]))

最新更新