3.字符串

# 字符串拼接
print("11"+"22") 
# str()和repr()的区别
str1 = "123456"
s_str = str(str1)
s_repr = repr(str1)
print("str: ", s_str) # str()保留了字符串最原始的样子
print("repr: ", s_repr) # 而repr()使用引号将字符串包围起来

# 字符串切片(截取)strname[start:end:step]
str1 = "0123456789"
print(str1[0:3]) # 截取时不包含end
print(str1[4:])

# 获取字符串长度或字节数
print(len(str1))
str2 = "隔离时光"
print(len(str2))

# str.split(sep=None, maxsplit=-1),分割字符串并将子串保存到列表中返回
# sep默认为None,表示空格,换行"\n",制表符"\r"等。
# maxsplit分割次数,默认-1,表示分割次数没有限制
str3 = "11.1 22.2 33.3"
print(str3.split())
print(str3.split('.'))
print(str3.split('.', 1))

# newstr=str.join(iterable)
# newstr:生成的新字符串
# str:用于合并时的分隔符
# iterable:用作合并操作的源字符串,允许以列表、元组等形式提供。
list1 = ['11', '22', '33']
print('.'.join("01234567"))
print('-'.join(list1))

# str.count(sub[,start[,end]])统计字符串出现的次数
# sub:要检索的子字符串
str1 = "0123456789012"
print(str1.count('1'))
print(str1.count('1',0,5))

# str.find(sub[,start[,end]])检测字符串,存在:返回最小的索引,不存在:返回-1
# sub:要检索的子字符串
str1 = "0123456789012"
print(str1.find('0'))
print(str1.find('10'))

# str.index(sub[,start[,end]])类似find(),不同之处:不存在时抛出异常,而不是返回-1
# sub:要检索的子字符串
str1 = "0123456789012"
print(str1.index('0'))

# newstr=str.ljust(width[,fillchar])原字符串右侧填充字符,使其左对齐
# newstr:生成的新字符串
# str:要进行填充的字符串
# width:newstr的长度
# fillchar:可选参数,用来指定填充字符串所用的字符,默认使用空格
str1 = "12345"
print(str1.ljust(10,'-'))

# newstr=str.rjust(width[,fillchar])原字符串左侧填充字符,使其右对齐
# newstr:生成的新字符串
# str:要进行填充的字符串
# width:newstr的长度
# fillchar:可选参数,用来指定填充字符串所用的字符,默认使用空格
str1 = "12345"
print(str1.rjust(10,'-'))

# newstr=str.center(width[,fillchar])原字符串左右两侧填充字符,使其居中
# newstr:生成的新字符串
# str:要进行填充的字符串
# width:newstr的长度
# fillchar:可选参数,用来指定填充字符串所用的字符,默认使用空格
str1 = "12345"
print(str1.center(10,'-'))

# startswith(sub[,start[,end]])用于检索字符串是否以指定字符串开头,返回True或False
# sub:要检索的子字符串
str1 = "123456789"
print(str1.startswith('12'))

# endswith(sub[,start[,end]])用于检索字符串是否以指定字符串结尾,返回True或False
# sub:要检索的子字符串
str1 = "123456789"
print(str1.endswith('89'))

# str.title()将字符串中每个单词的首字母转换为大写,其他字母转为小写
str1 = "chong shi de ge li sheng huo"
print(str1.title())

# str.lower()将字符串中所有大写字母转换成小写
str1 = "Chong Shi De Ge Li Sheng Huo"
print(str1.lower())

# str.upper()将字符串中所有小写字母转换成大写
str1 = "Chong Shi De Ge Li Sheng Huo"
print(str1.upper())

# str.strip([chars])默认删除字符串左右两侧的空格或特殊字符
# chars:指定删除的字符
str1 = "123 45\n\r\t"
print(str1.strip())
str2 = "12345-"
print(str2.strip('1'))

# str.lstrip([chars])默认删除字符串左侧的空格或特殊字符
# chars:指定删除的字符
str1 = "123 45\n\r\t"
print(str1.lstrip())
str2 = "12345-"
print(str2.lstrip('1'))

# str.rstrip([chars])默认删除字符串左侧的空格或特殊字符
# chars:指定删除的字符
str1 = "123 45\n\r\t"
print(str1.rstrip())
str2 = "12345"
print(str2.rstrip('5'))

# str.format(args)对字符串进行格式化
# str:用于指定字符串的显示样式,需要用{}和:来指定占位符
# str语法:{[index][:[[fill] align] [sign] [#] [width] [.precision] [type]]}
# args:指定要进行格式转换的项,多项用逗号隔开
print("数据右对齐:{:->20}".format(12345))
print("数据左对齐:{:-<20}".format(12345))
print("正数前带加号:{:->+}".format(12345))
print("保留两位小数:{:.2f} 百分号输出:{:.2%}".format(3.1415926,3.1415926))

# str.encode()将str转换成bytes(这个过程称为“编码”)
str1 = "除夕夜快乐".encode('utf-8') # 或str1 = bytes('除夕夜快乐', encoding='utf-8')
print(str1)
# str.decode()将bytes转换成str(这个过程称为“解码”)
str2 = str1.decode('utf-8')
print(str2)

 

 
posted @ 2024-05-10 00:23  jason8826  阅读(28)  评论(0)    收藏  举报