76

要在 Python 中打印字符串和数字,除了执行以下操作之外还有其他方法吗:

first = 10
second = 20
print "First number is %(first)d and second number is %(second)d" % {"first": first, "second":second}
4

5 回答 5

133

使用不带括号的 print 函数适用于旧版本的 Python,但Python3 不再支持,因此您必须将参数放在括号内。但是,如该问题的答案中所述,有一些解决方法。由于对 Python2 的支持已于 2020 年 1 月 1 日结束,因此已将答案修改为与 Python3 兼容

您可以执行以下任何操作(可能还有其他方法):

(1)  print("First number is {} and second number is {}".format(first, second))
(1b) print("First number is {first} and number is {second}".format(first=first, second=second)) 

或者

(2) print('First number is', first, 'second number is', second) 

(注:逗号隔开后会自动加空格)

或者

(3) print('First number %d and second number is %d' % (first, second))

或者

(4) print('First number is ' + str(first) + ' second number is' + str(second))
  

在可用的情况下,最好使用format() (1/1b)。

于 2012-08-18T13:34:31.760 回答
7

就在这里。首选语法是优先str.format于已弃用的%运算符。

print "First number is {} and second number is {}".format(first, second)
于 2012-08-18T13:34:02.243 回答
6

如果您使用的是 3.6 试试这个

 k = 250
 print(f"User pressed the: {k}")

输出:用户按下:250

于 2018-06-16T20:53:37.500 回答
4

其他答案解释了如何生成像您的示例中那样格式化的字符串,但如果您需要做的只是print这些东西,您可以简单地编写:

first = 10
second = 20
print "First number is", first, "and second number is", second
于 2012-08-18T13:37:18.077 回答
4

在 Python 3.6 中

a, b=1, 2 

print ("Value of variable a is: ", a, "and Value of variable b is :", b)

print(f"Value of a is: {a}")
于 2018-07-30T06:08:18.493 回答