Python字符串格式方式 %s format()
p.p1 { margin: 0; font: 12px ".PingFang SC" }
p.p2 { margin: 0; font: 12px "Helvetica Neue" }
span.s1 { font: 12px "Helvetica Neue" }
span.s2 { font: 12px ".PingFang SC" }
python中格式化字符串的方式有两种,一种是使用"%s"的方式,一种是str.format()的方式,接下来就对这两种方式做个介绍
1.%s的方式
两种用法,第一种是在字符串中使用%s占位,在字符串后使用%替换值来替换,例如:
print("my name is %s and i am %d years old" %("xiaoming",18)
输出结果:my  name is xiaoming and i am 18 years old
print("Hello,%s" % "Tom")
输出结果:Hello,Tom
该方式的优点是简单,缺点是影响可读性的,在数量多了以后,很难清楚哪一个占位符对应哪一个实参,排序很麻烦
另一种方式可以用字典的形式进行表示:
print ("Hello,%(name)s" % {"name":"Tom"})
# 参数比较多的情况下这样用
value = {"greet": "Hello world", "language": "Python"}
print("%(greet)s from %(language)s." % value)
print("%(greet)s from %(language)s." % {"greet": "Hello world", "language": "Python"}  
常用字符格式有:
- %% 百分号标记 #就是输出一个%
 - %c 字符及其ASCII码
 - %s 字符串
 - %d 有符号整数(十进制)
 - %u 无符号整数(十进制)
 - %o 无符号整数(八进制)
 - %x 无符号整数(十六进制)
 - %X 无符号整数(十六进制大写字符)
 - %e 浮点数字(科学计数法)
 - %E 浮点数字(科学计数法,用E代替e)
 - %f 浮点数字(用小数点符号)
 - %g 浮点数字(根据值的大小采用%e或%f)
 - %G 浮点数字(类似于%g)
 - %p 指针(用十六进制打印值的内存地址)
 - %n 存储输出字符的数量放进参数列表的下一个变量中
 
2.format()方式
在python2.6开始,Python中新增加了一个字符串格式化字符的函数str.format(),此函数可以快速的处理各种字符串,增强了字符串格式化的功能。
基本语法是使用{}来替代%。format函数的实参位置可以不按照顺序
1.使用位置参数
要点:位置参数不受顺序约束,且可以为{},只要format里有相对应的参数值即可,参数索引从0开,传入位置参数列表可用*列表
"{} {}".format("hello","world")#设置指定位置,按默认顺序
输出为:'hello world'
"{1} {0}".format("world","hello") # 设置指定位置
输出为:'hello world'
"{1} {0} {1}".format("hello", "world") # 设置指定位置
输出为:'world hello world'
input=["hello", "world"] #传入位置参数列表可用*列表
"{} {}".format(*input)
输出为:'hello world'
2.使用关键字参数,类似于使用字典key值占位,将字典作为参数传入字符串
要点:字符串中的关键字参数要与传入的参数值对得上,可用字典当关键字参数传入值,字典前加**即可
hash = {'name':'Bingo','age':18}
'my name is {name},age is {age}'.format(name='Bingo',age=18)
输出:'my name is Bingo,age is 18'
'my name is {name},age is {age}'.format(**hash)#通过关键字,并用字典当关键字传入值时,在字典前加**即可
输出:'my name is Bingo,age is 18'
3、填充与格式化(:[填充字符][对齐方式 <^>][宽度])
^、<、>分别是居中、左对齐、右对齐,:号后面带填充的字符,只能是一个字符,不指定的话默认是用空格填充,对齐方式后面紧跟一个整数可以限定该字段的宽度。
'{0:*>10}'.format(9) ##右对齐
输出:'*********9'
'{0:*<10}'.format(9) ##左对齐
输出:'9*********'
'{0:*^10}'.format(9)##居中对齐
输出:'****9*****'
4、精度与进制
'{0:.2f}'.format(1/3)
输出:'0.33'
'{0:b}'.format(10)    #二进制
输出:'1010'
'{0:o}'.format(10)     #八进制
输出:'12'
'{0:x}'.format(10)     #16进制
输出:'a'
'{:,}'.format(12369132698)  #千分位格式化
输出:'12,369,132,698'
5、通过下标
my_list = ['xiaoming',18]
"name {0[0]}, age {0[1]}".format(my_list) #通过列表索引设置参数
'name xiaoming, age 18'
扩展:
如果字符串里面含有 "{" 或者 "}"时,需要把 "{" 和 "}" 字符以 "{{" 和 "}}" 代替。
例如:"{'name1':'{0}','name2':'{1}'}".format('qpy','wjx') 该字符串中包含额外的{},执行该命令后,会报错,解决方法是将{}用{{}}代替,即
p.p1 { margin: 0; font: 16px Menlo; color: rgba(0, 0, 0, 1) }
span.s1 { font-variant-ligatures: no-common-ligatures }
"{{'name1':'{0}','name2':'{1}'}}".format('qpy','wjx')
参考:https://www.cnblogs.com/qiujichu/p/10663197.html
https://www.cnblogs.com/Detector/p/8516464.html
p.p1 { margin: 0; font: 16px Menlo; color: rgba(0, 0, 0, 1) }
span.s1 { font-variant-ligatures: no-common-ligatures }
p.p1 { margin: 0; font: 16px Menlo; color: rgba(0, 0, 0, 1) }
span.s1 { font-variant-ligatures: no-common-ligatures }
p.p1 { margin: 0; font: 16px Menlo; color: rgba(0, 0, 0, 1) }
span.s1 { font-variant-ligatures: no-common-ligatures }
p.p1 { margin: 0; font: 16px Menlo; color: rgba(0, 0, 0, 1) }
span.s1 { font-variant-ligatures: no-common-ligatures }
p.p1 { margin: 0; font: 16px Menlo; color: rgba(0, 0, 0, 1) }
span.s1 { font-variant-ligatures: no-common-ligatures }
Python字符串格式方式 %s format()的更多相关文章
- Python字符串格式化方式之format
		
format方式是在Python3引入了一个新的字符串格式化的方法,并且随后支持了Python2.7.这个新的字符串格式化方法摆脱了%操作符并且使得字符串格式化的语法更规范了.现在时候通过调用字符串对 ...
 - Python字符串类型格式化之format方法
		
python字符串格式化一般使用 format() 方法,用法如下: <模板字符串>.format(<逗号分割的参数>) 其中模板字符串中可以由一个或多个 {} 组成的 槽 , ...
 - python字符串连接方式(转)
		
在python中有很多字符串连接方式,今天就在这里具体总结一下: ①.最原始的字符串连接方式:str1 + str2②.python 新字符串连接语法:str1, str2③.奇怪的字符串方式:str ...
 - Python字符串连接方式
		
python中有很多字符串连接方式,总结一下: 1 最原始的字符串连接方式:str1 + str22 python 新字符串连接语法:str1, str23 奇怪的字符串方式:str1 str24 % ...
 - python字符串格式和编码与解码问题
		
%c 转换成字符(ASCII码值,长度为一的字符串) %r 有线使用repr()函数进行字符串转换 %s 有线使用str()函数进行字符串转换 %d or %i 转换成有符号十进制数 %u 转换成无符 ...
 - Python字符串格式转换
		
转换类型 转换类型 说明 d, i 带符号十进制 b 无符号二进制 o 无符号八进制 u 无符号十进制 x 无符号十六进制(小写) X 无符号十六进制(大写) e 科学计数法表示的浮点数(小写) E ...
 - python字符串格式化输出 %和format举例
		
#!/usr/bin/env python # -*- coding: UTF-8 -*- #pyversion:python3.5 #owner:fuzj s1 = "i am %s, i ...
 - Python字符串格式符号含义
		
====== #字符串格式化符号含义 #%C 格式化字符串及其ASCLL码 >>> '%c' %97 'a' >>> '%c' % 97 'a' >>& ...
 - Python 3的f-Strings:增强的字符串格式语法(指南)
		
最近也在一个视频网站的爬虫,项目已经完成,中间有不少需要总结的经验. 从Python 3.6开始,f-Strings是格式化字符串的一种很棒的新方法.与其他格式化方式相比,它们不仅更具可读性,更简洁且 ...
 
随机推荐
- elk搜集日志,实现logstash根据message中结构不同动态创建索引并扩展功能,区分message中json和非json数据简单方式
			
搜集日志,但是框架本身也会打印很多日志是字符串的.我们自己希望的日志用json,但是又需要json字段可以扩展,logstash收集日志后都放在了message字段中,我们自定义打印的是json串,s ...
 - python3 读取txt文件数据,绘制趋势图,matplotlib模块
			
python3 读取txt文件数据,绘制趋势图 test1.txt内容如下: 时间/min cpu使用率/% 内存使用率/% 01/12-17:06 0.01 7.61 01/12-17:07 0.0 ...
 - MyBatis  动态 SQL 语句中出现 '<' 的问题
			
问题描述 映射接口方法如下: /** * 根据姓名和年龄查询用户信息 * @param name 姓名 * @param user 获取年龄 * @return */ public List<U ...
 - cgic: CGI的C函数库-(转自COS)
			
下载回源码包以后,就3个文件:cgic.c 函数库capture.c 一个很简单的CGI例子,仅仅输出两行提示文字cgictest.c 一个演示读取form表单数据的CGI例子 首先在 ...
 - 利用MathType快速提取论文中的公式
			
首先随便打开一个论文,比如下图,我们想提取公式(2.2.7) 第一步:按截图快捷键:Win+Shift+S ,把公式截取下来 第二步:打开大佬开发的网站:https://mathf.itewqq.cn ...
 - MySQL之数据操纵语言(DML)
			
数据操纵语言(DML) 数据操纵语(Data Manipulation Language),简称DML. DML主要有四个常用功能. 增 删 改 查 insert delete update sele ...
 - 原型和原型链 prototype和proto的区别
			
原型 原型是function对象下的属性,它定义了构造函数的共同祖先,也就是一个父子级的关系,子对象会继承父对象的方法和属性 prototype是函数下的属性,对象想要查看原型使用隐式属性__Prot ...
 - 如何挑选深度学习 GPU?
			
如何挑选深度学习 GPU? 深度学习是一个对计算有着大量需求的领域,从一定程度上来说,GPU的选择将从根本上决定深度学习的体验.因此,选择购买合适的GPU是一项非常重要的决策.那么2020年,如何选择 ...
 - C++标准模板库(STL)——set常见用法详解
			
set的定义 set<typename> name; typename可以是任何基本类型,如int.double.char.结构体等,也可以是STL标准容器,如vector.set.que ...
 - 开发掉坑(二)前端静态资源 Uncaught SyntaxError: Unexpected token <
			
某天,有同学反馈后台管理系统出现静态资源无法加载的问题. 复现如下: 进入首页. 点击侧边栏某个子功能,静态资源可正常访问到. 等待10分钟左右,点击侧边栏其他子功能,无法访问到静态资源. 查看控制台 ...