有没有办法在Python中打印**kwargs?

8 浏览
0 Comments

有没有办法在Python中打印**kwargs?

我对**kwargs很好奇。我刚开始学习它,所以在浏览stackoverflow和视频教程时,我注意到我们可以这样做:

def print_dict(**kwargs):
    print(kwargs)
print_dict(x=1,y=2,z=3)  

这将输出:{'y': 2, 'x': 1, 'z': 3}

所以我想为什么不反过来打印,像这样:x=1,y=2,z=3

所以我尝试了这个:

mydict = {'x':1,'y':2,'z':3}
print(**mydict)

但是我得到了一个错误:TypeError: 'z' is an invalid keyword argument for this function(有时显示'y'是无效的关键字)。

我还尝试将其分配给变量,然后打印它,但是我又得到了一个错误(SyntaxError: invalid syntax):

mydict = {'x':1,'y':2,'z':3}
var = **mydict
print(var)

看这个是可以的:

def print_dict(**this):
    print(this)
mydict = {'x':1,'y':2,'z':3}
print_dict(**mydict)

但是如果我用print(**this)而不是print(this),它会报错。

由于我们可以打印*arg,我尝试了这段代码:

def num(*tuple_num):
    print(tuple_num)
    print(*tuple_num)
num(1,2,3,4)

它完美地运行并输出:

(1, 2, 3, 4)
1 2 3 4

所以我想知道是否有可能打印**kwargs的解决方案/方法?

0