【Python 第16课】字符串格式化2


#==== 继续字符串格式化 ====#

 

之前我们说到,可以用%来构造一个字符串,比如

print ('%s is easy to learn' % 'Python')

 

有时候,仅仅代入一个值不能满足我们构造字符串的需要。假设你现在有一组学生成绩的数据,你要输出这些数据。在一行中,既要输出学生的姓名,又要输出他的成绩。例如

Mike's score is 87.

Lily's score is 95.

 

在python中,你可以这样实现:

print("%s's score is %d" % ('Mike', 87))

或者

name = 'Lily'
score = 95
print("%s's score is %d" % (name, score))

 

无论你有多少个值需要代入字符串中进行格式化,只需要在字符串中的合适位置用对应格式的%表示,然后在后面的括号中按顺序提供代入的值就可以了。占位的%和括号中的值在数量上必须相等,类型也要匹配。

 

('Mike', 87) 这种用()表示的一组数据在python中被称为元组(tuple),是python的一种基本数据结构,以后我们还会用到。

 

这里有点需要留心的就是,括号比较多,一定注意括号该加到哪里。外层print的括号,要包含整个输出内容的语句,包括前面的字符串和后面的变量。内存的括号包含代入的值。如果 print 的括号加的不对,加在了 % 前面,那只能输出前半部分,导致报错了。