python中使用%与.format格式化文本
初学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 = 25name = '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/
转载于:https://www.cnblogs.com/engeng/p/6605936.html
python中使用%与.format格式化文本相关推荐
- python中日期和时间格式化输出的方法
1.将字符串的时间转换为时间戳 方法: a = "2013-10-10 23:40:00" #将其转换为时间数组 import time timeArray = time.strp ...
- [转载] python中日期和时间格式化输出的方法
参考链接: Python程序将时间从12小时转换为24小时格式 1.将字符串的时间转换为时间戳 方法: a = "2013-10-10 23:40:00" #将其转换为时间数组 i ...
- Python print函数及format()格式化输出详解
今天继续给大家介绍Python相关知识,本文主要内容是Python print函数及format()格式化输出详解. 一.print()函数基本使用 print()函数是Python中用于向控制台输出 ...
- Python中: unsupported format character ''' (0x27)
Python中: unsupported format character ''' (0x27) 1)MySQL DB使用%运算符将参数放入查询中,因此查询字符串中的任何单个%字符都被解释为参数说明符 ...
- Python中的difflib模块(文本对比)
Python中的difflib模块(文本对比) 1. difflib模块简介 2. difflib模块用法 3. 符号理解 4. 实现文本对比 5. linux文件之间的对比 1. difflib模块 ...
- python中str.format用法_详解Python中的str.format方法
字符串的内置方法大致有40来个,但是一些常用的其实就那么20几个,而且里面还有类似的用法,区分度高比如:isalpha,isalnum,isdigit,还有一些无时不刻都会用到的split切分,joi ...
- Python基础教程:format 格式化字符串用法
1.format 格式化字符串 (1) 顺序传参 (2) 索引传参 (3) 关键字传参 (4) 容器类型传参 {} 代表的是占位符 2.顺序传参 strvar = "{}向{}开了一枪&qu ...
- Python中print和字符格式化的小结(Python2.7.5)
1.print可以同时打印多个字面量或者变量,用逗号隔开,打印结果是以空格隔开 name = "Guido van Rossum" print "My name is&q ...
- Python中format_map与format字符串格式化的区别
在Python3中使用format和format_map方法都可以进行字符串格式化,但format是一种所有情况都能使用的格式化方法,format_map仅使用于字符串格式中可变数据参数来源于字典等映 ...
最新文章
- python 类的封装、继承、重写方法
- 第8章 Iptables与Firewalld防火墙
- Unity C#单例模式的实现
- 洛谷 P3865 【模板】ST表
- coloros基于java_基于Android 11 ColorOS 11海外版亮点一图抢先看:9月24日国内发布
- PHP的uniqid
- Android之java.lang.OutOfMemoryError: Failed to allocate a ** byte allocation with **free bytes and 2M
- MySQL 数据库架构
- ***git自动化部署总结
- vs自拉软件全名_vs全新操作软件说明书
- Ceph新建monitor或者osd报错:use --overwrite-conf to overwrite
- 华为人均工资高达70万,但先看看华为员工的15项标准
- excel 将日期转换为8位数字
- 和橘子菇凉一起开始python之旅吧!
- Lua_第28章 资源管理(下)
- linux上使用drive从google drive 下载文件和文件夹
- DQN的e-greedy策略理解
- 成年人社交中的10个潜规则
- Python 爬虫、抓包
- 七夕情人节生日表白爱心
热门文章
- 程序员顶尖和普通就是有5个区别!
- mysql延迟注入br,实验3—SQL注入漏洞的攻击与防御(基于时间延迟的盲注)
- 计算机科学文学学士,波士顿大学计算机科学.pdf
- 【算法】剑指 Offer 03. 数组中重复的数字
- 【ElasticSearch】Es 源码之 MetadataUpgrader 源码解读
- 【Spring】Spring的生态项目
- 【http】记一次http无法连通总是超时的问题
- 【MySQL】MySQL 8 连接出现 2059 - Authentication plugin caching_sha2_password ca
- 启动Spark出现Operation category READ is not supported in state standby
- 【java】instanceof 性能