为什么在Python中输出这个单引号和括号?

时间:2016-11-05 01:25:44

标签: python python-3.x loops python-2.x

我在ubantu版本16.04中使用ipython notebook并运行此代码,

word = 'Rushiraj'
length = 0
for char in 'rushiraj':
    length = length + 1
print('There are', length,'character')

我得到这个输出: ('有',8,'字符')

输出中单引号和圆括号的原因是什么?它应该不存在!

2 个答案:

答案 0 :(得分:4)

您看到的输出是由于您使用的是Python 2,但您使用的是Python 3中的print语法。在Python 3中,print是一个函数并像其他函数一样获取参数(如print(...))。

在Python 2中,print是一个语句,通过使用括号,您实际上将tuple作为其第一个参数传递给它(因此您打印出元组的Python表示形式)。 / p>

您可以通过两种方式解决此问题。

如果您将from __future__ import print_function添加到文件顶部,那么print的行为就像在Python 3中一样。

或者,您可以将其称为:

print 'There are', length,'character'

答案 1 :(得分:0)

你正在打印一个元组(即使乍一看可能看起来不那样),所以输出是该元组的重复。