打印命名元组

JS.*_*JS. 4 python namedtuple

在Python 2.7.1中,我可以创建一个命名元组:

from collections import namedtuple
Test = namedtuple('Test', ['this', 'that'])
Run Code Online (Sandbox Code Playgroud)

我可以填充它:

my_test = Test(this=1, that=2)
Run Code Online (Sandbox Code Playgroud)

我可以这样打印:

print(my_test)
Run Code Online (Sandbox Code Playgroud)

测试(这= 1,那= 2)

但为什么我不能这样打印呢?

print("my_test = %r" % my_test)
Run Code Online (Sandbox Code Playgroud)

TypeError:并非在字符串格式化期间转换所有参数

编辑: 我应该知道在Python中使用字符串格式化打印元组

And*_*ark 9

由于my_test是一个元组,它将为%元组中的每个项目寻找一种格式.为了解决这个问题,将它包装在另一个元组中,其中唯一的元素是my_test:

print("my_test = %r" % (my_test,))
Run Code Online (Sandbox Code Playgroud)

不要忘记逗号.