Python⽂件_格式运算符
格式运算符
1.write ⽅法必须⽤字符串来做参数,所以如果要把其他类型的值写⼊⽂件,就得先转换成字符串才⾏。最简单的⽅法就是⽤ str函数: >>> x = 50
>>> fout.write(str(x))
python格式化输出format另外⼀个⽅法就是⽤格式运算符,也就是百分号%。在⽤于整数的时候,百分号%是取余数的运算符。但当第⼀个运算对象是字符串的时候,百分号%就成了格式运算符了。
第⼀个运算对象也就是说明格式的字符串,包含⼀个或者更多的格式序列,规定了第⼆个运算对象的输出格式。返回的结果就是格式化后的字符串了。
例如,'%d'这个格式序列的意思就是第⼆个运算对象要被格式化成为⼀个⼗进制的整数:
>>> camels = 42
>>> '%d' % camels
'42'
经过格式化后,结果就是字符串'42'了,⽽不再是整数值42了。
2.这种格式化序列可以放到⼀个字符串的任何⼀个位置,这样就可以在⼀句话⾥⾯嵌⼊⼀个值了:
>>> 'I have spotted %d camels.' % camels
'I have spotted 42 camels.'
3.如果格式化序列有⼀个以上了,那么第⼆个参数就必须是⼀个元组了。每个格式序列对应元组当中的⼀个元素,次序相同。
下⾯的例⼦中,⽤了'%d'来格式化输出整型值,⽤'%g'来格式化浮点数,'%s'就是给字符串⽤的了。
>>> 'In %d years I have spotted %g %s.' % (3, 0.1, 'camels')
'In 3 years I have spotted 0.1 camels.'
这⾥要注意,如果字符串中格式化序列有多个,那“个数”⼀定要和后⾯的元组中的元素数量相等才⾏。另外格式化序列与元组中元素的类型也必须⼀样:
>>> '%d %d %d' % (1, 2)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: not enough arguments for format string
>>> '%d' % 'zhongguo'
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: %d format: a number is required, not str
第⼀个语句中,后⾯元组的元素数量缺⼀个(格式化序列有3个,但元组缺只有2个元素),所以报错了;
第⼆个语句中,元组⾥⾯的元素类型与前⾯格式不匹配,要求为数字,⽽不是字符str,所以也报错了。
结束。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论