博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Python字符串使用
阅读量:4098 次
发布时间:2019-05-25

本文共 2263 字,大约阅读时间需要 7 分钟。

字符串字段替换

>>> str1 = "{},{}, and{}".format('first','second', 'third')>>> str1'first,second, andthird'

还可以使用索引的方式替换字符串

>>> '{3} {0} {2} {1} {3} {0}'.format('be','not','or','to')'to be or not to be'

还可以指定命名替换

>>> '{name} is approximately {value:.2f}.'.format(value=3.1415, name='pi')'pi is approximately 3.14.'

如果变量与替换字段同名,还可以使用一种简写,使用f字符串

>>> from math import e>>> f'Euler\'s constant is roughly {e}.'"Euler's constant is roughly 2.718281828459045."

可以在格式化字符串的时候使用字符串数组作为标识符

>>> fullname = ['Alfred', 'Smoketoomucn']>>> 'Mr {name[1]}'.format(name=fullname)'Mr Smoketoomucn'

类型转换,可以指定要转换的类型,以标识符冒号类型符的方式

>>> 'The number is {num:f}'.format(num=22)'The number is 22.000000'>>>
类型 含义
b 将整数表示为二进制数
c 将整数解读为Unicode码点
d 将整数视为十进制数进行处理,这是整数默认使用的说明符
e 使用科学表示法来表示小数(用e来表示指数)
E 与e相同,但使用E来表示指数
f 将小数表示为定点数
F 与f相同,但对于特殊值(nan和inf),使用大写表示
g 自动在定点表示法和科学表示法之间做出选择。这是默认用于小数的说明符,但在默认情况下至少有1位小数
G 与g相同,但使用大写来表示指数和特殊值
n 与g相同,但插入随区域而异的数字分隔符
o 将整数表示为八进制数
s 保持字符串的格式不变,这是默认用于字符串的说明符
x 将整数表示为十六进制数并使用小写字母;X,与x相同,但使用大写字母

%

将数表示为百分比值(乘以100,按说明符f设置格式,再在后面加上%)

宽度、精度和千位分隔符

注意:默认数字和字符串的对齐方式是不同的

>>> '{num:10}'.format(num=3)'         3'>>> '{name:10}'.format(name='bob')'bob       '>>> 'One googol is {:,}'.format(10**100)'One googol is 10,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000'>>>

符号、对齐和用0填充

左对齐'<'、居中'^'和右对齐'>'

>>> print('{0:<10.2f}\n{0:^10.2f}\n{0:>10.2f}'.format(3.2123))3.21   3.21      3.21>>>

用指定字符‘$’填充,居中'^',长度15 

>>> '{:$^15}'.format('WIN BIG')'$$$$WIN BIG$$$$'>>>

'=' 说明符

>>> print('{0:10.2f}\n{1:10.2f}'.format(3.12, -3.12))      3.12     -3.12>>> print('{0:10.2f}\n{1:=10.2f}'.format(3.12, -3.12))      3.12-     3.12>>>

'#'说明符

>>> '{:b}'.format(32)'100000'>>> '{:#b}'.format(32)'0b100000'>>>
>>> '{:g}'.format(42)'42'>>> '{:#g}'.format(42)'42.0000'>>>

字符串方法:

center

find

join 合并序列的元素

>>> seq = ['1', '2', '3', '4', '5']>>> sep = '+'>>> sep.join(seq)'1+2+3+4+5'>>>

replace

split将字符串拆分为序列

>>> sesplit'1+2+3+4+5'>>> sesplit.split('+')['1', '2', '3', '4', '5']>>>

strip 将字符串开头和结尾的空白删除

>>> '$#@#$#$ SPAM *D#$ for everyone!!!***'.strip(' $#@!*')'SPAM *D#$ for everyone'>>>

translate

>>> table = str.maketrans('cs', 'kz')>>> 'this is an incredible test'.translate(table)'thiz iz an inkredible tezt'

 

转载地址:http://fjmii.baihongyu.com/

你可能感兴趣的文章
DirectX11 聚光灯
查看>>
DirectX11 HLSL打包(packing)格式和“pad”变量的必要性
查看>>
DirectX11 光照演示示例Demo
查看>>
VUe+webpack构建单页router应用(一)
查看>>
Vue+webpack构建单页router应用(二)
查看>>
从头开始讲Node.js——异步与事件驱动
查看>>
Node.js-模块和包
查看>>
express的应用
查看>>
NodeJS开发指南——mongoDB、Session
查看>>
Express: Can’t set headers after they are sent.
查看>>
2017年,这一次我们不聊技术
查看>>
实现接口创建线程
查看>>
Java对象序列化与反序列化(1)
查看>>
HTML5的表单验证实例
查看>>
JavaScript入门笔记:全选功能的实现
查看>>
程序设计方法概述:从面相对象到面向功能到面向对象
查看>>
数据库事务
查看>>
JavaScript基础1:JavaScript 错误 - Throw、Try 和 Catch
查看>>
SQL基础总结——20150730
查看>>
SQL join
查看>>