包装print()的自定义打印函数

2024-05-28 20:22:14 发布

您现在位置:Python中文网/ 问答频道 /正文

如何包装print(),以便在作为参数传递以打印的内容的开头和结尾添加任意字符串?

def xprint(*args):
    print("XXX", *args, "XXX")
xprint("hi", "yo", 4)

不起作用。

基本上,我希望我的自定义函数xprint()print()一样工作,但是在每个输出的开头和结尾添加'XXX'


Tags: 函数字符串内容def结尾argshixxx
3条回答

将在没有关键字参数时适用于Python2和3

def xprint(*args):
    print( "XXX"+" ".join(map(str,args))+"XXX")

In [5]: xprint("hi", "yo", 4)
XXXhi yo 4XXX

对于python 3print()函数(或者在python 2中使用__future__中的print_function时),关键字参数也可能存在。要确保传递这些内容,请使用表单

def xprint(*args, **kwargs):
    print( "XXX"+" ".join(map(str,args))+"XXX", **kwargs)

您可以循环通过args并分别设置它们的格式

def xprint(*args):
    for i in args:
        print('XXX{}XXX'.format(i), end=' ')

>>> xprint('hi', 'yo', 4)
XXXhiXXX XXXyoXXX XXX4XXX 

如果您只想将整个表达式包装成XXX,那么可以

def xprint(*args):
    s = ' '.join(str(i) for i in args)
    print('XXX{}XXX'.format(s), end=' ')

>>> xprint('hi', 'yo', 4)
XXXhi yo 4XXX 

这个怎么样:

def xprint(*args):
    args = ("XXX",)+args+("XXX",)
    print(*args)
xprint("hi", "yo", 4)

输出是XXX hi yo 4 XXX

相关问题 更多 >

    热门问题