python基础教程共60课-第14课字符串格式化
【Python 第14课】 字符串格式化我们在输出字符串的时候,如果想对输出的内容进行一些整理,比如把几段字符拼接起来,或者把一段字符插入到另一段字符中间,就需要用到字符串的格式化输出。
先从简单的开始,如果你想把两段字符连起来输出
str1 = 'good'
str2 = 'bye'
你可以
print str1 + str2
或者还可以把字符变量和一个字符串相加
print 'very' + str1
print str1 + ' and ' + str2
但如果你想要把一个数字加到文字后面输出,比如这样
num = 18
print 'My age is' + num
程序就会报错。因为字符和数字不能直接用+相加。
一种解决方法是,用str()把数字转换成字符串
print 'My age is' + str(18)
或
num = 18
print 'My age is' + str(num)
在这里,似乎可以解决之前遇到的那个变量与字符串格式不匹配的问题了。
还有一种方法,就是用%对字符串进行格式化
num = 18
print 'My age is %d' % num
输出的时候,%d会被%后面的值替换。输出
My age is 18
这里,%d只能用来替换整数。如果你想格式化的数值是小数,要用%f
print ‘Price is %f’ % 4.99
输出
Price is 4.990000
注意这里,小数点后面有6位小数。
print ‘Price is %.2f’ % 4.99
输出
Price is 4.99
这里会根据实际情况进行四舍五入。
name = 'Crossin'
print '%s is a good teacher.' % name
输出
Crossin is a good teacher.
或者
print 'Today is %s.' % 'Friday'
输出
Today is Friday.
注意区分:有引号的表示一段字符,没有引号的就是一个变量,这个变量可能是字符,也可能是数字,但一定要和%所表示的格式相一致。
现在,试试看用字符串格式化改进一下之前你写的小游戏。比如你输了一个数字72,程序会回答你
72 is too small.
或者
Bingo, 72 is the right answer!