初学python,看来零零碎碎的格式化文本的方法,总结一下python中格式化文本的方法。使用不当的地欢迎指出谢谢。

1、首先看使用%格式化文本

常见的占位符:

常见的占位符有:
%d 整数
%f 浮点数
%s 字符串
%x 十六进制整数

使用方法:

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

使用的时候不知道写什么的地方直接使用 %s 进行代替,语句的末尾加上 %() 括号里面直接填写内容即可(字符串加上引号,中间用“,”分割),如果只有一个%?,括号可以省略。

高级一点的用法:

格式化整数指定是否补零:

首先看代码:

>>> '%d-%d' % (3, 23)
'3-23'
>>> '%2d-%2d' % (3, 23)
' 3-23'
>>> '%3d-%3d' % (3, 23)
' 3- 23'
>>> '%4d-%4d' % (3, 23)
' 3- 23'
>>> '%01d-%01d' % (3, 23)
'3-23'
>>> '%02d-%02d' % (3, 23)
'03-23'
>>> '%03d-%03d' % (3, 23)
'003-023'
>>> '%04d-%04d' % (3, 23)
'0003-0023'
>>>

可以看得出来,d前面的数字用来指定占位符,表示被格式化的数值占用的位置数量(字节还是什么不知道这样的表述是否正确),指定之后比如%3d,代表这个整数要占用3个位置,前面如果有0代表占用的地方使用0补齐,没有就使用空格补齐。指定的空间位置小于实际的数字大小,以实际占用的位置大小为准。

指定小数的位数:

>>> '%.f' % 3.1415926
'3'
>>> '%.1f' % 3.1415926
'3.1'
>>> '%.2f' % 3.1415926
'3.14'
>>> '%.3f' % 3.1415926
'3.142'
>>>

可以看出.后面的数字用来表示保留的小数点的位数,".1"代表保留小数点后面一位小数。

如果不确定应该用什么,%s永远起作用,它会把任何数据类型转换为字符串:

>>> 'Age: %s. Gender: %s' % (25, True)
'Age: 25. Gender: True'

有些时候,字符串里面的%是一个普通字符怎么办?这个时候就需要转义,用%%来表示一个%

>>> 'growth rate: %d %%' % 7
'growth rate: 7 %'

尝试使用其他方法对%进行转义,但是好像没有用,有什么其他方法欢迎评论。

2、使用format 方法进行格式化

代码演示:

age = 25
name = 'Swaroop'
print('{0} is {1} years old'.format(name, age))
print('Why is {0} playing with that python?'.format(name))

位置使用{1}按照使用的顺序写好,后面格式使用 .format()  写好对应的参数即可。

输出结果:

Swaroop is 25 years old
Why is Swaroop playing with that python?

其实也可以使用第一种方法实现:

age = 25
name = 'Swaroop'
print('%s is %s years old'%(name, age))
print('Why is %s playing with that python?'%(name))

输出

Swaroop is 25 years old
Why is Swaroop playing with that python?

实现的结果都是一样的。

具体两者的区别参看 http://python.jobbole.com/87065/

python中使用%与.format格式化文本的更多相关文章

  1. Python中日期和时间格式化输出的方法

    本文转自:https://www.jb51.net/article/62518.htm 本文实例总结了python中日期和时间格式化输出的方法.分享给大家供大家参考.具体分析如下: python格式化 ...

  2. Python中使用%还是format来格式化字符串?

    Python中应该使用%还是format来格式化字符串?   %还是format Python中格式化字符串目前有两种阵营:%和format,我们应该选择哪种呢? 自从Python2.6引入了form ...

  3. Python中format_map与format字符串格式化的区别

    在Python3中使用format和format_map方法都可以进行字符串格式化,但format是一种所有情况都能使用的格式化方法,format_map仅使用于字符串格式中可变数据参数来源于字典等映 ...

  4. python中强大的format函数

    自python2.6开始,新增了一种格式化字符串的函数str.format(),此函数可以快速处理各种字符串.语法 它通过{}和:来代替%. 请看下面的示例,基本上总结了format函数在python ...

  5. WPF中XAML中使用String.Format格式化字符串示例

    货币格式 <TextBlock Text="{Binding Price, StringFormat={}{0:C}}" /> // $123.46 货币格式,一位小数 ...

  6. python中的while循环,格式化输出,运算符,编码

    一.while循环 1.1语法 while 条件: 代码块(循环体) else: 当上面的条件为假的的时候,才会执行. 执行顺序:先判断条件是否为真,如果是真的,执行循环体,再次判断条件,直到条件不成 ...

  7. Python进制转换format格式化

    进制转换:先介绍用传统数学方法,再介绍用python内置方法 二进制转十进制: 1101 转为十进制 1*2^(4-1)+1*2^(3-1)+0*2^(2-1)+1*2^(1-1) 即各个位拆开,乘以 ...

  8. python中的时间戳和格式化之间的转换

    import time #把格式化时间转换成时间戳 def str_to_timestamp(str_time=None, format='%Y-%m-%d %H:%M:%S'): if str_ti ...

  9. python中转义符&str格式化

    转义字符: 1.将有意义的字符变的无意义 2.将无意义的字符变的有意义 语法: \ + 某个字符 \n, \r\n :    代表换行 \t :      代表一个缩进, (水平制表符) \r :   ...

随机推荐

  1. docker-compose 部署 EFK

    信息: Docker版本($ docker --version):Docker版本18.06.1-ce,版本e68fc7a 系统信息($ cat /etc/centos-release):CentOS ...

  2. centos7安装vim以及在vim中显示中文

    1.centos7安装vim yum -y install vim(简单粗暴安装方法) 2.在vim中显示中文不出现乱码 (1).vim ~/.vimrc (~/.vimrc为vim配置文件) (2) ...

  3. Unity生成简易二维码

    最近项目需求,需要在Unity中动态生成二维码.所以就研究了一下,下面把动态生成二维码的方法向大家分享一下. 第一种方法 需要一个 ZXing.dll文件. 下载地址我会在文章结尾给出. 直接将下载好 ...

  4. SpringCloud 学习(二) :服务注册与发现Eureka

    Spring Cloud应用中可以支持多种的服务治理框架,比如Eureka.Consul.Zookeeper等,现在我们用的是consul,本文以SpringCloud Dalston.SR5版本介绍 ...

  5. 2.2 Oracle之DML的SQL语句之多表查询以及组函数

    一.SQL的多表查询: 1.左连接和右连接(不重要一方加(+)) SELECT e.empno,e.ename,d.deptno,d.dname,d.loc FROM emp e,dept d WHE ...

  6. 【坚持】Selenium+Python学习记录 DAY11

    2018/06/1-2018/06/4 参考资料: [菜鸟教程](http://www.runoob.com/python3/python3-examples.html) [Python解惑:True ...

  7. Linux下端口映射工具rinetd

    Linux下简单好用的工具rinetd,实现端口映射/转发/重定向官网地址http://www.boutell.com/rinetd 软件下载wget http://www.boutell.com/r ...

  8. Ambiguous mapping. Cannot map 'labelInfoController' method

    使用springboot项目中,启动时出现Ambiguous mapping. Cannot map 'labelInfoController' method , 原因是,@RequestMappin ...

  9. 20162325 金立清 S2 W3 C13

    20162325 2017-2018-2 <程序设计与数据结构>第3周学习总结 教材学习内容概要 查找是在一组项内找到指定目标或是确定目标不存在的过程 高效的查找使得比较的次数最少 Com ...

  10. 面向对象程序设计第三次作业-Calculator

    题目: 最终代码: Scan.h: Print.h: Calaulator.cpp: 解题过程 看到题目后,在查询之后明白了这是多文件的题目,然后通过翁凯老师的视频讲解知道了.h和.cpp文件的区别和 ...