我正在测试我的交互式shell中的一些Django功能
这是我试图探测这些物体的方法,注意结尾的“无”列表
>>> [print(foo) for foo in CharacterSkillLink.objects.all() if foo.speciality]
Streetwise (Street Countdown) Roran
[None]
更正统的理解是:
>>> [print(foo) for foo in range(1,10)]
1
2
3
4
5
6
7
8
9
[None, None, None, None, None, None, None, None, None]
九个一个,都是连续的。你知道吗
为什么我会这样?你知道吗
这是因为,您使用python3.x,其中print函数在打印到控制台后返回None,因此您得到这个输出。然而,如果您使用了Python2.x,您将正确地得到print函数的语法错误。你知道吗
更好的例子是这样的(在Python2.x中,因为您的示例在Python2.x中不起作用)
如果要打印内容并将其添加到列表中,则应如下所示:
然而,在我看来,不要使用这样的东西,因为事情可能会在一段时间后变得丑陋。你知道吗
因为
print
返回一个值,即None
。它打印什么和返回什么是两码事。你知道吗相关问题 更多 >
编程相关推荐