Laozizuiku 2019-10-24
# 拼接字符串
s1 = ‘121‘
s2 = ‘1sda‘
s3 = 213
print(s1 + ‘---‘ + s2) # 121---1sda
# print(s1 + s2 + s3) # TypeError: can only concatenate str (not "int") to str
print(s1 + s2 + str(s3)) # 1211sda213
print(s1 + ‘\n‘ + s2)
# 121
# 1sda
s4 = ‘人123‘
print(len(s4)) # 4
# python中,数字,英文,小数点,下划线,空格占一个字节,一个汉字可能占2~4个字节,
# 汉字在gbk/gb2312占2个字节,utf-8/unicode占3个字节(或4个字节)
print(len(‘我‘.encode(‘utf-8‘))) # 3
print(len(‘人‘.encode(‘utf-8‘))) # 3
print(len(‘我‘.encode(‘gbk‘))) # 2
print(len(‘人‘.encode(‘gbk‘))) # 2# 截取字符串
str1 = ‘123456‘
s1 = str1[1]
s2 = str1[3:]
s3 = str1[:3]
s4 = str1[1:3]
print(s1 + ‘ ‘ + s2 + ‘ ‘ + s3 + ‘ ‘ + s4) # 2 456 123 23
try:
print(str1[6])
except IndexError:
print(‘str[6]不存在‘) # str[6]不存在# 分割,合并字符串
s1 = ‘1,2,3.4-5‘
# split(sep,maxsplit) 分割
# sep:指定分割符,默认None
# maxsplit:可选参数,分割的次数,如果不指定或者为-1,则没有次数限制
print(s1.split(sep=‘,‘, maxsplit=1)) # [‘1‘, ‘2,3.4-5‘]
print(s1.split(sep=‘,2‘)) # [‘1‘, ‘,3.4-5‘]
# str.join(iterable) 合并字符串,将每个元素用空格加str进行连接
l_f = [‘a‘, ‘b‘, ‘c‘]
s_f = ‘@‘.join(l_f)
print(s_f) # @c# 检索字符串
# count(x,start,end)
# x:表示要检索的子字符串
# start:可选参数:表示检索范围的起始位置的索引,默认从头开始
# end:可选参数:表示检索范围的结束位置的索引,默认到结尾
str1 = ‘@a,@2,@3‘
print(str1.count(‘@‘)) # 3
print(str1.count(‘1‘)) # 0
# find(sub,start,end),首次出现sub的位置索引,找不到返回-1
print(str1.find(‘@‘)) # 0
print(str1.find(‘1‘)) # -1
print(str1.rfind(‘@‘)) # 6
# index(),与find类似,但找不到会抛出异常
print(str1.index(‘@‘)) # 0
# print(str1.index(‘1‘)) # ValueError: substring not found
# startswith(prefix,start,end) 是否以prefix开头,是返回True,否则返回False
print(str1.startswith(‘@‘)) # True
# endswith(suffix,start,end) 是否以suffix结尾,是返回True,否则返回False
print(str1.endswith(‘@‘)) # False