Python格式化

作者: 霞姐时间管理 | 来源:发表于2017-12-03 07:02 被阅读26次

如何输出格式化的字符串?我们经常会输出类似'亲爱的xxx你好!你xx月的话费是xx,余额是xx'之类的字符串,而xxx的内容都是根据变量变化的,所以,需要一种简便的格式化字符串的方式。
在Python中,采用的格式化方式和C语言是一致的,用%实现,举例如下:

>>> 'Hello, %s' % 'world'
'Hello, world'
>>> 'Hi, %s, you have $%d.' % ('Michael', 1000000)
'Hi, Michael, you have $1000000.'

你可能猜到了,%运算符就是用来格式化字符串的。在字符串内部,%s表示用字符串替换,%d表示用整数替换,有几个%?占位符,后面就跟几个变量或者值,顺序要对应好。如果只有一个%?,括号可以省略。

常见的占位符有:

%d 整数(联想记忆:数字,data)
%f 浮点数
%s 字符串
%x 十六进制整数

其中,格式化整数和浮点数还可以指定是否补0和整数与小数的位数:

>>> '%2d-%02d' % (3, 1)
' 3-01' #下面详细讲解
>>> '%.2f' % 3.1415926
'3.14'
如果你不太确定应该用什么,%s永远起作用,它会把任何数据类型转换为字符串:
>>> 'Age: %s. Gender: %s' % (25, True)
'Age: 25. Gender: True'
对于Unicode字符串,用法完全一样,但最好确保替换的字符串也是Unicode字符串:
>>> u'Hi, %s' % u'Michael'
u'Hi, Michael'
有些时候,字符串里面的%是一个普通字符怎么办?这个时候就需要转义,用%%来表示一个%:
>>> 'growth rate: %d %%' % 7
'growth rate: 7 %'
知识详解:

1)、%2d的意思?
结果十进制,长度为2 ,右对齐,不够补空格,多了以实际长度输出 。 比如结果是1,输出: (空格)1 ; 结果为123(长度大于等于2):输出:123。
补充: %-2d 左对齐,其余同上。
2)、 %02d的意思?
输出2位(十进制),不足在前面补0,如 1,则输出:01。

相关文章

  • python基础知识(3)

    python字符串 python转义字符 python字符串运算符 python字符串格式化 python格式化操...

  • 字符串的格式化操作

    旧式字符串格式化%运算符,位置格式化(python2) str.format字符串格式化(python3,它存在一...

  • python2,3的小秘密

    Python字符串格式化,有两个版本 1.Python2.5之前,我们使用的使用老式的格式化 2.Python3....

  • 实战

    python的格式化输出 #python格式化输出 ##%对于未知变量类型,用这样就不太方便了 name='lis...

  • 格式化Curl返回的Json字符

    格式化Curl返回的Json字符 格式化Curl返回的Json字符Python 格式化Nodejs 格式化 经常会...

  • Python学习笔记-3群18组-杜杜狼-2017.7.26

    在昨天的学习中发现自己对python的格式化还不明白,今天专门研究一下格式化。 Python格式化学习 Pytho...

  • 4.2 Python

    4.2.1. 格式化字符串   在Python中,有两种格式化字符串的方式,在Python2的较低版本中,格式化字...

  • 013.Python格式化

    Python格式化 1. 概述 Python2.6 开始,新增了一种格式化字符串的函数 str.format(),...

  • format() 格式化函数

    Python format 格式化函数 | 菜鸟教程

  • str.format简介

    一、python的格式化输出从2.6以后format格式化方法代替了%格式化,%的格式化当然也可以使用,不过建议全...

网友评论

    本文标题:Python格式化

    本文链接:https://www.haomeiwen.com/subject/uptabxtx.html