2012-12-26 30 views
27

好的,我知道如何打印变量和字符串。但我怎么能打印像“我的字符串”card.price(这是我的变量)。我的意思是,这里是我的代码: print "I have " (and here I would like to print my variable card.price)打印变量和python中的字符串

回答

28

通过印刷由逗号分隔的多个值:

print "I have", card.price 

print statement将输出每一个表达由空格隔开,然后换行。

如果您需要更复杂的格式,使用''.format() method

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

,或者使用旧的和半过时% string formatting operator

+0

格式化字符串和基本字符串连接的可能性如何?可以用一种很好的方式扩展你的答案,为不同目的展示不同的方法。 – s1lence

+0

@Martijn Pieters:我首先用'format'回答了纳秒级) – alexvassel

+0

@alexvassel:但是我的文档链接是一个更好的例子,并且也指向'%'字符串格式。 :-P –

7

假设你使用Python 2.7(不3):

print "I have", card.price(如上所述)。

print "I have %s" % card.price(使用string formatting

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

有很多方法可以做到同样的,其实。我宁愿第二个。

+0

即使结果不是字符串,但数字是否可以吗? – user203558

+0

是的,没关系。尽管%d也会起作用。 – aemdy

10

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

实施例:

foo = "seven" 

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

结果:

她与七个小男人

另外,如Python 3中的,该方法%不推荐使用。不要使用它。