字符串的格式化 可变字符串

字符串的格式化

Python2.6 开始,新增了一种格式化字符串的函数 str.format(),它增强了字符串格式化的功能。
基本语法是通过 {} 和 : 来代替以前的 % 。

format 函数可以接受不限个参数,位置可以不按顺序。

先来看看以前的%的方法。

先占一个位置,之后再填上实际的变量,可以省去使用数据转换函数的麻烦。例如print(‘血量:%s 攻击:%s’ % (player_life,player_attack))。实际变量之间用逗号隔开。

%s :占一个位置用来放字符串
%f:占一个位置用来放浮点数,%.2f表示保留两位小数,‘.’后的数字表示小数位数
%d:占一个位置用来放整数

import time
n=input("请输入您的血量:\n")
m=input("请输入您的攻击力:\n")
print("正在生成数据中,请稍后...")
time.sleep(1.5)
print("您的血量为:%i\n您的攻击力为:%i"%(int(n),int(m)))

再来看看现在学习到的format()方法。

a="血量是:{0};攻击力是:{1}"
print(a.format(1000,200))

#输出结果
血量是:1000;攻击力是:200

相比之下,format()方法更加精简和方便,不用区分%+类型码了。

除了借助{0}、{1}这类索引占位符来传递参数,还可以直接命名一个参数名,精准传入参数。

a="名字是:{name};年龄是:{age}"
print(a.format(name="王者",age=24))

#输出结果
名字是:王者;年龄是:24

可变字符串

在 Python 中,字符串属于不可变对象,不支持原地修改,如果需要修改其中的值,智能创建新的字符串对象。但是,经常我们确实需要原地修改字符串,可以使用 io.StringIO对象或 array 模块。

import io
s = "hello, world"
sio = io.StringIO(s)
print(sio.getvalue())
sio.seek(7)
sio.write("g")
print(sio.getvalue())

#输出结果
hello, world
hello, gorld
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值