字符串
一、序列统计函数
字符串也是序列,跟列表一样,都是可以分片截取的。
title = "www.csdn.net"
print("字符串长度:%d" % len(title)) #12
函数 | 描述 |
---|---|
len(seq) | 获取序列的长度 |
max(seq) | 获取序列中的最大值 |
min(seq) | 获取序列中的最小值 |
sum(seq) | 计算序列中的内容总和 |
any(seq) | 序列中有一个内容为True结果就为True |
all(seq) | 序列中有一个内容为False结果就为False |
二、数据处理函数
函数 | 描述 |
---|---|
strip() | 删除左右空格 |
translate() | 替换单个字符 |
maketrans(oc,nc[,d]) | 与translate()函数结合使用,定义要替换的字符内容以及删除的字符内容[,d] |
replace(old,new[,limit]) | 字符串替换,[,limit]是替换次数 |
join(data) | 字符串连接 |
split(data[,limit]) | 字符串拆分 |
find(data) | 字符串数据查找,查找到内容返回索引位置,找不到返回-1 |
center() | 字符串居中显示 |
upper() | 字符串转大写 |
lower() | 字符串转小写 |
capitalize() | 首字母大写 |
例子:
#字符串连接
url = ".".jion(["www","csdn","net"])
user = "_".jion("小明老师")
print("使用者:{user_param},网站:{url_param}".format(user_param=user,url_param=url))
#执行结果:使用者:小_明_老_师,网站:www.csdn.net
#字符串拆分
ip = "172.16.230.2"
print("全部拆分:%s" % ip.split(".")) #['172','16','230','2']
print("指定拆分多少:%s" % ip.split(".",2)) #['172','16','230.2']
#替换内容及删除内容
str_a = "www csdn net" #缺少“.”
mt_a = str_a.maketrans(" ",".") #定义转换表
print(str_a.translate(mt_a)) #www.csdn.net
str_b = "www_csdn_net;\twww_jy_com;"
mt_b = str_b.maketrans("_",".",";") #将_替换成.且删除;
print(str_b.translate(mt_b)) # www.csdn.net www.jy.com
#去除左右空格(中间的空格是不会被删除的) “用户名:密码”
login_info =" csdn:123 "
result = login_info.split(":")
if(result[0]=="csdn" and result[1]=="123"):
print("登录成功,欢迎%s用户访问" % result[0])
#使用find()实现内容查找
print("www.csdn.net".find("csdn")) #4,若不存在返回-1
print("www.csdn.net".find("cs",5)) #从第5个索引开始查找
print("www.csdn.net".find("cs",5,10)) #从索引5~10这个范围查找
三、格式化处理
1.系统内置
info = "姓名:%s,年龄:%d" % ("小明",18)
print(info)
标记 | 描述 |
---|---|
%c | 格式化字符 |
%s | 格式化字符串 |
%d | 格式化整型 |
%f | 格式化浮点型,可以设置保留精度 |
%e | 科学计数法,使用小写字母e |
%E | 科学计数法,使用大写字母E |
%g | %f和%e的简写 |
%G | %f和%E的简写 |
%u | 格式化无符号整型 |
%o | 格式化无符号八进制数 |
%x | 格式化无符号十六进制数 |
%X | 格式化无符号十六进制数(大写字母) |
2.字符串格式化函数:format()
“…{成员标记!转换格式:格式描述}…”.format(参数内容,…)
- 成员标记:用于进行成员或参数序号定义,如果不定义,则参数需要按照顺序进行设置;
- 转换格式:将指定参数的数据内容进行数据格式转换,需要使用转换标记完成;
- 格式描述:提供若干配置选项,选项定义顺序为
[[fill]align] [sign] [#] [0] [width] [,] [.precision] [type]
name = "小明"
age = 18
info1 = "姓名:{},年龄:{}".format(name,age)
info2 = "姓名:{name_param},年龄:{age_param}".format(name_param=name,age_param=age)
info3 = "姓名:{1},年龄:{0}".format(age,nmae)
msg = ["小明","男",18]
info4 = info1 = "姓名:{list_param[0]},性别:{list_param[1]},年龄:{list_param[2]}".format(list_param=msg)
类型符 | 描述 |
---|---|
a | 将字符串按Unicode编码输出 |
b | 将整数转为二进制数 |
c | 将整数转为ASCII码 |
d | 十进制整数 |
e | 将十进制数字转为科学计数法使用“e”表示 |
E | 将十进制数字转为科学计数法使用“E”表示 |
f | 浮点数显示,会将特殊值(nan、inf)转为小写 |
F | 浮点数显示,会将特殊值(nan、inf)转为大写 |
g | 浮点数与科学计数法之间表示形式,若整数位超过6位,与e相同,否则与f相同 |
G | 浮点数与科学计数法之间表示形式,若整数位超过6位,与E相同,否则与F相同 |
o | 将整数转为八进制数 |
s | 将数据以字符串的形式输出 |
r | 将数剧转为供解释器输出的信息 |
x | 将整数转为十六进制数,字母部分用小写 |
X | 将整数转为十六进制数,字母部分用大写 |
% | 将数值格式化为百分比形式 |