【问题标题】:print variable and a string in python在python中打印变量和字符串
【发布时间】:2012-12-12 01:59:02
【问题描述】:

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

【问题讨论】:

  • 问题中的语法仅适用于 Python 2,其中 print 还不是函数。这里的大多数答案都适用于 Python 2 和 Python 3; print 后面没有左圆括号 ( 的任何内容仅适用于 Python 2,而带括号的内容通常适用于两个版本。

标签: python printing


【解决方案1】:

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

print "I have", card.price

print statement 将输出每个表达式,以空格分隔,后跟换行符。

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

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

或使用旧的和半弃用的% string formatting operator。

【讨论】:

  • 格式化字符串和基本字符串连接的可能性如何?可以很好地扩展您的答案,展示针对不同目的的不同方法。
  • @Martijn Pieters:我是纳秒第一,format 回答)
  • @alexvassel:但我的包含文档链接,一个更好的例子,并且指向% 字符串格式。 :-P
  • “半弃用”:它没有被弃用,半或其他。
  • @NedBatchelder:关于它的弃用“噪音”,我知道它现在没有被弃用,但它是明确.format()是首选。
【解决方案2】:

假设您使用 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]))(通过加入列表)

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

【讨论】:

  • 即使结果不是字符串而是数字也可以吗??
【解决方案3】:

这里(令人惊讶地)没有提到的东西是简单的串联。

例子:

foo = "seven"

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

结果:

她和七个小男人住在一起

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

【讨论】:

  • 工作正常 :) 用于多个 var 注入(带有 outfile print ): print("SELECT mot FROM " + choixL + " WHERE mot LIKE " + mot + ";", file=open(" verif.sql", "a"))
  • @NuX_o 注意不要让任何用户输入这些字段!
  • 这仅在您要插入的变量是字符串时才有效。
【解决方案4】:

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

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

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

【讨论】:

  • 请解释您的代码行,以便其他用户了解其功能
  • 这里没有特定于 Python 3.6.1 的内容,尽管在 Python 2 中输出看起来很奇怪。
【解决方案5】:

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

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

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

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

【讨论】:

  • 拧 F 弦。它们在 Python2 和 Python3 上都中断了。 Python 开发人员应该再次因打破基本 I/O 而获得达尔文奖。
  • 这个特性是在 python 3.6 中引入的。如果您在早期的 python 版本中使用它,它显然会中断。如果您使用的是旧版 python,请不要使用它们。您可以使用良好的旧格式()。
【解决方案6】:

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

这是我遵循的:

打印带有变量的字符串

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

与使用函数打印字符串

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

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

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

【讨论】:

    猜你喜欢
    • 2015-12-30
    • 2017-12-15
    • 1970-01-01
    • 1970-01-01
    • 2019-10-17
    • 2018-05-09
    • 2016-12-10
    • 2016-05-29
    • 1970-01-01
    相关资源
    最近更新 更多