8.02 PY基础之字符串类型内置方法

mac2022-06-30  82

PY基础之字符串类型内置方法

用途:

描述性质的东西,如人的名字、单个爱好、地址、国家等

定义:

使用''、""、''''''、""""""包裹的的一串字符

u'unicode': unicode编码的字符串b'101': 二进制编码的字符串r'\n': 原生字符串,也就是说'\n'这是普通的两个字符,并没有换行的意思

常用操作+内置方法

重要

按索引取值,切片(只可取不可改变,顾头不顾尾)

str = 'nick ugly' print(str[1]) # 'i' print(str[1:3]) # 'ic' print(str[:4]) # 'nick' print(str[-4:]) # 'ugly' print(str[::-1]) # 'ylgu kcin' print(str[1:-2]) # 'ick ug' print(str[1:-1:2]) # ikul

长度len

取字符串长度

str = 'nick ugly' print(len(str)) # 9

成员运算in|not in

msg = 'my name is nick, nick handsome' print('nick' in msg) # True print('jason' not in msg) # True print(not 'jason' in msg) # True

移除空白strip

s1 = ' nick handsome ' print(s1.strip()) # 去两端的空白 s2 = '***!!!!!nick handsome----***' print(s2.strip('-*!')) # 指定多个字符一起去掉,只要strip里面有的字符就全部干掉 print(s2.strip('nick')) # 指定多个字符一起去掉,只要strip里面有的字符就全部干掉 # 首先判断字符串s的两端字符,为*,再去strip里找有没有*,有就去掉,再去判断字符串s的两端字符,!-,再从strip里面找,有去掉,没有则停止

strip实例

# 给定一个单词列表,只返回可以使用在键盘同一行的字母打印出来的单词 s = ["Hello", "Alaska", "Dad", "Peace"] lis = [] for i in s: ls = i.lower() if ls.strip('qwertyuiop') == '' or ls.strip('asdfghjkl') == '' or ls.strip('zxcvbnm') == '': lis.append(i) print(li

切分split

s = '***!!!!!nick handsome----***' print(s.split()) # 默认以空格切割字符串 print(s.split('!')) # 以!切割 print(s.split('!', 2)) # 指定切割两次

循环

s = 'nick ugly' for i in s: # for 循环遍历s print(s)

比较重要

lstrip&rstrip

s2 = '***!!!!!nick handsome----***' print(s2.lstrip('*')) print(s2.rstrip('*')) ''' !!!!!nick handsome----*** ***!!!!!nick handsome---- '''

lower&upper

s3 = 'aaabbJ' print(s3.lower()) # 大写->小写 print(s3.upper()) # 小写->大写 ''' aaabbj AAABBJ '''

startswith&endswith

s3 = 'aaabbJ' print(s3.startswith('b')) # 是否以'b'开头-> False print(s3.endswith('J')) # 是否以'J'结尾-> True

rsplit

s2 = '***!!!!!nick handsome----***' print(s2.split('*', 1)) print(s2.rsplit('*', 1)) ''' ['', '**!!!!!nick handsome----***'] ['***!!!!!nick handsome----**', ''] '''

join 一般和split联用

s3 = '*' # 以s3为间隔符,拼接列表里的每一个元素 print(s3.join(['234', '234', '234'])) # 234*234*234 s = '辣条/薯片/汽水/泡面/火腿肠/枸杞/当归/鹿茸' s1 = s.split('/') print('*'.join(s1)) # 辣条*薯片*汽水*泡面*火腿肠*枸杞*当归*鹿茸

replace

s2 = 'yongjiu handsome' # 用信字符串替代旧字符串输出 print(s2.replace('yongjiu', 'gebilaowang')) # gebilaowang handsome

isdigit,isalpha

# 一般用于登陆验证输入 s2 = '12312' print(s2.isdigit()) # 判断s2是否全为数字 s3 = 'aaac1c' print(s3.isalpha()) # 判断s3是否全为字母

find|rfind|index|rindex|count

s = '***!!!!!nick $ handsome----***' # find()遍历找到的第一个字符的索引,默认从左找,找不到返回-1,不会报错 print(s.find('$')) # 13 print(s.rfind('-')) # 26 # index()遍历找到的第一个字符的索引,默认从左找,找不到会报错(建议不使用) print(s.index('$')) # 13 print(s.rindex('-')) # 26 # count()返回字符串中指定字符的个数 print(s.count('!')) # 5

center|ljust|rjust|zfill

s2 = 'nick handsome' print(s2.center(50, '*')) # ******************nick handsome******************* print(s2.ljust(50, '*')) # nick handsome************************************* print(s2.rjust(50, '*')) # *************************************nick handsome print(s2.zfill(50)) # 0000000000000000000000000000000000000nick handsome

expandtabs

# 针对\t,只对\t起作用 s2 = 'a\ta' print(s2) print(s2.expandtabs(8)) # 针对\t而言 ''' a a a a '''

captalize|swapcase|title

# 只针对英文 s2 = 'harry Potter' print(s2.capitalize()) # 首字母(一句话的开头)大写,其他全小写,用在段落开始 print(s2.swapcase()) # 大小写互换 print(s2.title()) # 所有单词首字母大写 ''' Harry potter HARRY pOTTER Harry Potter '''

is系列

.isdecim.(): # 检查字符串是否值包含十进制字符,如果是返回True,否则返回False。 .isdigit(): # 如果字符串只包含数字则返回True,否则返回False。 .isnumeric(): # 如果字符串中只包含数字字符,则返回True,否则返回False。 .isalnum(): # 如果字符串至少有一个字符并且所有字符都是字母或数字则返回True,否则返回False。 .isalpha(): # 如果字符串至少有一个字符并且所有字符都是字母则返回True,否则返回False。 .islower(): # 如果字符串中只包含至少一个区分大小写的字符,并且所有这些(区分大小写的)字符都是小写,则返回True,否则返回False。 .isspace(): # 如果字符串中只包含空白,则返回True,否则返回False .isupper(): # 如果字符串中包含至少一个区分大小写的字符,并且所有这些(区分大小写的)字符都是大写,则返回True,# 否则返回False。 .istitle(): # 如果字符串是标题类型的(见title()),则返回True,否则返回False。

转载于:https://www.cnblogs.com/dadazunzhe/p/11290722.html

相关资源:codeblocks 8.02中文语言包 免费的IDE
最新回复(0)