在Python中打印多个参数
这只是我的代码片段:
print("Total score for %s is %s ", name, score)
但我希望它打印出来:“(名称)的总分是(分数)”,其中名称是列表中的variables,分数是整数。 这是python3.3如果有所帮助。
把它作为一个元组来传递:
print("Total score for %s is %s " % (name, score))
或者使用新的string格式:
print("Total score for {} is {}".format(name, score))
或者传递值作为参数, print
将做到这一点:
print("Total score for", name, "is", score)
如果不想通过print
自动插入空格,请更改sep
参数:
print("Total score for ", name, " is ", score, sep='')
如果您使用的是Python 2,那么您将无法使用最后两个,因为print
不是Python 2中的函数。但是,您可以从__future__
导入此行为:
from __future__ import print_function
有很多方法可以打印。
让我们来看看另一个例子。
a = 10 b = 20 c = a + b #Normal string concatenation print("sum of", a , "and" , b , "is" , c) #convert variable into str print("sum of " + str(a) + " and " + str(b) + " is " + str(c)) # if you want to print in tuple way print("Sum of %s and %s is %s: " %(a,b,c)) #New style string formatting print("sum of {0} and {1} is {2}".format(a,b,c)) #in case you want to use repr() print("sum of " + repr(a) + " and " + repr(b) + " is " + repr(c))
保持简单,我个人喜欢string连接:
print("Total score for " + name + " is " + score)
它适用于Python 2.7和3.X.
注意:如果score是一个int ,那么你应该把它转换为str :
print("Total score for " + name + " is " + str(score))
你试一试:
print ( "Total score for", name,"is", score )
在py 3.6 f-string
更清洁
在较早的版本中:
print("Total score for %s is %s " % (name, score))
在py 3.6中:
print(f'Total score for {name} is {score}')
会做。
更高效和优雅。
print("Total score for %s is %s " % (name, score))
%s
可以被%d
或%f
代替
如果score
是一个数字,那么
print("Total score for %s is %d" % (name, score))
如果分数是一个string,那么
print("Total score for %s is %s" % (name, score))
如果score是一个数字,那么它是%d
,如果它是一个string,那么它是%s
,如果score是一个float,那么它是%f
只要按照这个
idiot_type= "biggest idiot" year= 22 print("I have been {} for {} years ".format(idiot_type,years))
要么
idiot_type= "Biggest idiot" year= 22 print("I have been %s for %s years "% (idiot_type,year))
而忘记所有其他人的大脑不会能够映射所有的格式。
这就是我所做的:
print("Total score for " + name + " is " + score)
记得在之后和之前和之后放置一个空间。 快乐的编码。