【问题标题】:Set sep-parameter for print-function globally全局设置打印功能的 sep 参数
【发布时间】:2021-12-10 11:38:30
【问题描述】:

有没有办法全局设置print函数的sep参数?
我已经厌倦了总是为每个 print 语句手动执行此操作。

简单示例:

some_superlong_list : List # existing list-object with A LOT of elements
print(*some_superlong_list, sep ="\n")

# do something with some_super_long_list

print("IDs:", *map(id.some_superlong_list), sep = "\n")
print("new values:", *some_super_long_list, sep = "\n")

当然,我可以添加一个快捷方式sep = "\n",但我仍然需要为每个print 语句分配sep 参数。

有没有办法做这样的事情?

print.sep = "\n" # something like this, to set the 'sep' parameter to "\n" by default

【问题讨论】:

  • 我也试过print.__setattr__("sep","\n"),它引发了一个AttributeError:'builtin_function_or_method' object has no attribute 'sep'

标签: python printing printf global


【解决方案1】:

灵感来自this answer:

from functools import partial

println = partial(print, sep='\n')

那么您可以在任何需要行分隔符时使用println

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-08-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多