第二篇 python基础序列之-----字符串(2)

本文详细介绍了Python中字符串的各种操作方法,包括字符串模板的创建与赋值、格式化字符串的多种方式,以及常用的字符串方法如find、join等。通过具体实例展示了如何高效地处理和操作字符串。

1 字符串模板

1.1 简单的字符串模板

#设置字符串模板
sTemp="你好,我叫%s,我今年%d岁"
#使用元组为字符串模板赋值
sValue=("小明",6)
#使用%将字符串模板和值组合生产新的字符串
sStr=sTemp%sValue

print(sStr)

1.2 使用Template

#导入string中Template函数
from string import Template
#通过模板函数生成模板对象
temp=Template("你叫$xname,今年$xage岁?工资$xmoney钱?")
#通过模板对象中的 $xname关键字参数  进行赋值并返回整合后的字符串
sStr=temp.substitute(xname="张三",xage=8,xmoney=1080.56)

print(sStr)

1.3 通过format方法简化模板赋值

#string的format方法
sStr="你好,你是{},你今年有{}了吧".format("留意到",60)
print(sStr)
#通过索引赋值
sStr="我{1}和你{0}说话呢,你咋不知声呢?".format("留意到","马达",)
print(sStr)
#通过命名参数赋值
sStr="你要疯啊,我{xname}一秒钟{xsal:0.2f}钱,你敢这样和我说话".format(xname="刘一刀",xsal=1500.581234);

print(sStr)

1.4 python3.6支持变量同名替换

from math import pi
sStr=f"圆周率{pi}"

print(sStr)

练习

1 sStr="{foo}  {}  {bar}  {}".format(1,2,bar=4,foo=3)

print(sStr)

2 sStr="{foo}  {1}  {bar}  {0}".format(1,2,bar=4,foo=3)

print(sStr)

3 mData=["one","two"]
sStr="hello  {xname[1]}".format(xname=mData)

print(sStr)

1.5 字符串模式的格式化

格式化字符串!s对应str(),!r对应的repr(),!a对应的ascii()

sStr="{pi!s} {pi!r} {pi!a}".format(pi="π")

print(sStr)

1.6 字符串基本类型转换

sStr="你的工资{sal:f}".format(sal=1.123456789456)

print(sStr)

结果

你的工资1.123457

字符串格式设置中的类型说明符

b:将整数表示为二进制

c:将整数解读为Unicode

d:默认十进制

e:科学表示法表示小数(用e来表示指数)

E:与e相同

f: 将小数表示为定点数

F:与f相同

o:将整数表示为八进制数

s:对应字符串格式不变

x:对应十六进制

X:与x相同

1.7 宽度、精度和千位分隔符

宽度用于控制显示位数

sStr="{xnum:10}".format(xnum=3)

'         3'#默认右对齐

sStr="{xname:10}".format(xname="Yarn")

'Yarn      '#字符串默认左对齐

1.8 千分位符号 

sStr="salary:{:,}".format(12345678)

print(sStr)

结果

salary:12,345,678

1.9 符号、对齐和填充

在指定宽度和精度前添加一个标识(可以是0、正负号或空格)

使用0填充显示数字:

sStr="{:010.2f}".format(8.12345);

print(sStr);

结果

0000008.12

1.10 设置对齐方式

sStr="{0:<10.2f}\n {0:>10.2f}\n {0:^10.2f}".format(8.888);

print(sStr)

结果

8.89      
       8.89

    8.89 

1.11 使用指定的字符填充

sStr="{:A^10.2}".format(6.5)

print(sStr)

1.12 使用=在正负号和数值之间分隔并对齐

sStr="{:=10.2f}".format(-5.123)
print(sStr)

1.13 设置数值的进制

sStr="{0:#b}\n{0:#g}\n{0:#o}\n{0:#x}".format(88)

print(sStr)

2 字符串中的方法

2.1 find方法

在源字符串中查找目标字符串,返回索引位置,找不到返回-1

源字符串.find(目标字符串[,起始索引][,结束索引])

2.2 join方法

合并字符串序列

sStr=('1','2','3')

#使用+合并序列

ss='+'.join(sStr)

2.3 replace

s1="hello world"

s2=s1.replace('l','LA')

2.4 split方法

按指定的字符串拆分源字符串为列表

2.5 strip

删除指定字符串

s1=" hello world "

s2=s1.strip();

删除前后空格

可以指定删除的字符

s1="aabbcc"
s2=s1.strip("ab");

print(s2)

结果

cc







评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值