调用变量并打印变量会返回两个不同的输出

时间:2014-11-01 07:09:13

标签: python

我有一个名为var1的变量:

var1 = tweet[0]["id_str"]

当我在控制台上输入var1时,这就是输出:

>>> var1
u'528427823468642304'

但是,然后我打印var1,这是输出:

>>> print var1
528427823468642304

为什么输出不同?我只需要数字,没有单引号或字母u,但两个不同的输出让我感到困惑..

2 个答案:

答案 0 :(得分:1)

u'前缀表示有问题的对象是unicode字符串。打印变量时会自动删除它。如果您尝试使用或索引字符串,则不必担心出现u'部分。

有可能看起来有点讽刺(我不打算),看起来很清楚你实际上并没有尝试在任何意义上使用var1。如果您尝试过:

 print(var1[0])

你已经意识到字符串本身的第一个索引是5。

如果你尝试过:

 print(var1 == '528427823468642304')
你已经看过True了。无论哪种方式,你都会意识到u'前缀与你使用字符串的方式无关。要启动,你可以直接用Google搜索“python u prefix”,第一个结果会告诉你你需要知道什么。这并不是说你不应该问某个人已经在互联网上的某个地方问过的问题,只是我的经验是知道在花时间提出问题之前搜索问题的具体细节。通常会带来更快的学习。

答案 1 :(得分:0)

字符u表示这是一个unicode字符串。如果您想要实际数字,可以在其上执行int(var1)将其转换为整数。