python学习笔记---字符串

字符串是一个像元组一样的不可变的序列,所以它满足序列的常见用法包括索引,切片,拼接拷贝和一系列内置函数。它是python中的一种数据类型,用单引号 ‘ 双引号 ’‘ 或者三引号 ’‘’ 或 '''''' 来定义。

1.字符串的大小写转换和左右中间对齐

1.1大小写转换

upper() 所有字母大写

lower() 所有字母小写

casefold() 所有字母小写,其他语言也可

capitalize() 首字母大写

title() 每个单词首字母大写

swapcase() 大小写反转

1.2左右中间对齐

center(width,fillchar='') 中间对齐,width指总长度,fillchar指填充内容

ljust(width,fillchar='') 左对齐

rjust(width,fillchar='') 右对齐

zfill(width) 左边用0填充

2.字符串的查找和替换

2.1查找

count(sub [,start] ,end ] ]) 查找词sub在字符串中出现的次数,start是起始位置,end是结束位置

find(sub [,start] ,end ] ]) 从左边查找词sub在字符串中的索引下标值,不存在会显示-1

rfind(sub [,start] ,end ] ]) 从右边查找词sub在字符串中的索引下标值,-1

2.2替换

expandtabs([tabsize=8]) 将tab替换为空格,括号内是空格的数量

replace(old, new, count = -1) 将old替换为new,替换的数量为count

translate(table) 首先使用table = str.maketrans(x[,y[,z]])用y替换x,然后“字符串”.translate(table),z表示忽略z字符串

3.字符串的判断

14个方法判断,返回布尔类型的值

startswith(prefix[,start],end]]) 判断字符串的索引值从start到end,是否以prefix开头

endswith() 判断字符串的索引值从start到end,是否以prefix结束

istitle() 判断字符串是否首字母大写

isupper() 判断字符串是否全大写

isspace() 判断字符串是否全空格

isprintable() 判断字符串是否可打印

isdecimal() 判断是否是十进制

isdigit() 判断字符串,True:Unicode,byte数字,全角数字,罗马数字 False:汉字数字

isnumeric() 判断字符串,True:Unicode,全角数字,罗马数字,汉字数字False: Error:byte数字

isalpha() 判断是否为全字母

isalnum() 以上四种只要返回True他就为True

isidentifier() 判断字符串是否是合法的标识符

iskeyword() 判断字符串是否是关键词,import keyword   print(keyword.iskeyword( ' if ' ))

4.字符串的截取,拆分,拼接

4.1字符串的截取

lstrip() 截去左侧的留白

rstrip() 截去右侧的留白

strip() 截去左右两侧的留白

4.2字符串的拆分

partition()从左侧以括号内的内容拆分一次(不可以规定次数)

rpartition()从右侧以括号内的内容拆分一次

split()从左侧以括号的内容全部拆分并删除该内容(可以规定次数)默认无数次

rsplit()从右侧以括号的内容全部拆分并删除改内容

splitlines()指定结果是否包含分隔符,默认不包括,splitlines(True)即包括

4.3字符串的拼接

‘ a ’.join(' b ' , ' c ' , ' d ')将a拼接进括号内的逗号位置处

bacad

print("fishc".join(["", "", ""]))
print("".join(("fishc", "fishc")))  # 速度更快,也是高手的方法
s = "fishc"
s += s
print(s)  # 新手的方法,速度更慢

输出:

fishcfishc
fishcfishc
fishcfishc

5.格式化字符串

format()

year = 2010
print("我出生于{}年".format(year))
print(f"我出生于{year}年")

输出:

我出生于2010年
我出生于2010年

位置参数:在括号内写上数字0,1,2,...

关键字参数:在括号内写上关键字名称

字符串的格式化语句:

{ :}冒号左边是位置索引,右边是对齐方向,数字是宽度

print("{0:<10}和{1:>20}和{2:0=10}和{3:^20}".format(222, 333, 777, 6666666))

输出:

222       和                 333和0000000777和      6666666   

输入: 

print("{:{fill}{align}{width}.{precision}{ty}}".
format(3.1415, fill='+', align='^',width=10, precision=3, ty='g'))

输出:

+++3.14+++

语法糖:

print("{:010}".format(-520))
print(f"{-520:010}")
-000000520
-000000520

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值