66

好吧,我知道如何打印变量和字符串。但是我怎样才能打印像“我的字符串”card.price(它是我的变量)之类的东西。我的意思是,这是我的代码: print "I have " (and here I would like to print my variable card.price).

4

6 回答 6

61

通过打印以逗号分隔的多个值:

print "I have", card.price

print 语句将输出由空格分隔的每个表达式,后跟换行符。

如果您需要更复杂的格式,请使用以下''.format()方法

print "I have: {0.price}".format(card)

或使用较旧和半弃用的%字符串格式化运算符

于 2012-12-26T14:13:03.390 回答
35

(令人惊讶的是)这里没有提到的东西是简单的连接。

例子:

foo = "seven"

print("She lives with " + foo + " small men")

结果:

她和七个小男人住在一起

此外,从 Python 3 开始,该%方法已被弃用。不要用那个。

于 2016-05-27T09:45:38.387 回答
28

如果您使用的是 python 3.6 和更新版本,那么您可以使用 f-strings 来完成这样的任务。

print(f"I have {card.price}")

只需在字符串前面包含 f 并将变量添加到花括号 {} 内。

请参阅博客The new f-strings in Python 3.6:由 Christoph Zwerschke 编写,其中包括各种方法的执行时间。

于 2018-12-25T06:36:10.623 回答
11

假设您使用 Python 2.7(不是 3):

print "I have", card.price(正如刚才提到的)。

print "I have %s" % card.price(使用字符串格式

print " ".join(map(str, ["I have", card.price]))(通过加入列表)

实际上,有很多方法可以做到这一点。我更喜欢第二个。

于 2012-12-26T14:18:07.070 回答
4

据我所知,打印可以通过多种方式完成

这是我遵循的:

打印带有变量的字符串

a = 1
b = "ball"
print("I have", a, b)

与带有函数的打印字符串

a = 1
b = "ball"
print("I have" + str(a) + str(b))

在这种情况下,str() 是一个函数,它接受一个变量并将其分配的内容作为字符串吐出

它们都产生相同的印刷品,但以两种不同的方式。我希望这有帮助

于 2019-01-28T03:51:01.553 回答
3

如果你安装的 Python 版本是 3.6.1,你可以通过一行代码打印字符串和变量。例如第一个字符串是“I have”,第二个字符串是“US Dollars”,变量`card.pricè等于300,我们可以这样写代码:

print("I have", card.price, "US Dollars")

print()函数将字符串输出到屏幕。
逗号可让您在一行代码中连接和打印字符串和变量。

于 2018-04-24T09:55:18.853 回答