一、字符串的拼接
a.加号(+)拼接
str = “Hello” + “ “ + “python” + “!”
# ----------------------------------------
# 字符串的拼接:+、join函数、格式化# ----------------------------------------# +(加号) 将两个字符串连接起来,成为一个新的字符串str1 = "Hello"str2 = "python"str3 = "!"str_new = str1 + " " + str2 + str3print(str_new)# 也可以使用加法赋值运算符(+=)进行连接
str_new += "^-^"print(str_new)b.join函数拼接
str = sep.join(seq)
sep:分隔符;seq:要连接的字符串序列
# join函数 'sep'.join(seq)
# sep:分隔符;seq:要连接的字符串序列sep = " "str4 = sep.join("Hello")print(str4)seq = ['10', '20', '30', '40']
str5 = sep.join(seq)print(str5)c.字符串格式化
1.使用字符串操作符%
2. 使用str.format()函数(推荐)
# 字符串格式化:%、str.format()
# 使用字符串操作符%来格式化字符串major_version = 3minor_version = 6.400str6 = "使用%%格式化输出:%s %s %d.%.1f!" % (str1, str2, major_version, minor_version)print(str6)num = 1
str7 = "如果只有%d个参数,可以省略括号" % numprint(str7)# char = 'A'char = 65 # 输出ASCII码对应的字符 a:97str8 = "%%c用来格式化字符及其ASCII码:%c" % charprint(str8)# 可以用数字指定输出数据的长度
# -,左对齐标志,默认为右对齐# 0,表示数据长度不够时,用0填充。默认用空格填充str9 = "%5s的总成绩是%3d\n%-5s的总成绩是%03d" % ("李宇", 99, "刘晓", 96)print(str9)# +,表示正负号都要输出,默认只输出负号str10 = "广州的温度为%+d,哈尔滨的温度为%+d" % (18, -18)print(str10)# 使用str.format()格式化字符串
# {}及其里面的字符 (称作格式化字段) 将会被 format() 中的参数替换# 1、按默认的顺序输出对应的参数(自动编号)print("主流的搜索引擎是:{}和{}\n".format('百度', 'Google'))# 2、在括号中用数字指定format中参数的位置(手动编号)
print("主流的搜索引擎是:{0}和{1}".format('百度', 'Google'))print("主流的搜索引擎是:{1}和{0}\n我使用{0}多一些".format('百度', 'Google'))# 3、给参数定义关键字,并且与其它方式组合使用
# 注意:不能将自动编号和手动编号的方式混合起来使用。并且位置参数不能排在关键字参数的后面。print("搜索引擎有:{0}、{1}和{sou_gou}等等".format('百度', 'Google', sou_gou='搜狗'))print("搜索引擎有:{}、{sou_gou}和{}等等".format('百度', 'Google', sou_gou='搜狗'))# print("搜索引擎有:{0}、{1}和{2}等等".format('百度', 'Google', sou_gou='搜狗'))
format_str1 = "保留小数点后两位数:{:.2f}".format(3.1415926, 8.888, pi=3.1415926)
print(format_str1)format_str2 = "保留整数,不带小数位,并且保留正负号:{:+.0f}".format(3.1415926)print(format_str2)# <,左对齐,右边填充空格;>,右对齐,左边填充空格
format_str3 = "默认左对齐:{:20s} Python!".format("Hello")print(format_str3)format_str4 = ">右对齐:{:>20s} Python!".format("Hello")print(format_str4)format_str5 = "默认填充空格,改为填充-:{:->20s} Python!".format("Hello")print(format_str5)format_str6 = "指定数据长度为3,右对齐,不够时左边填充0:{:0>3d}".format(9)
print(format_str6)format_str7 = "指定数据长度为3,左对齐,不够时右边填充0:{:0<3d}".format(9)print(format_str7)字符串格式化符号:
二、字符串的转义
字符串的转义符号
三、字符串的截取
使用str[x]、str[x:y]截取字符串中指定范围的字符,包含x,但不包含y。
# ----------------------------------------# 字符串的截取:[]、[:]# ----------------------------------------string = "字符串的截取操作!"# str[i] 表示截取第几个字符,字符索引值从0开始
print("string[1]:", string[1])# str[x:y] x表示开始截取的索引值,y表示停止截取的索引值(包含x,但不包含y)
print('string[2:5]:', string[2:5])# 如果省略开始索引值,就从第一个字符到结尾索引值
print('string[:5]:', string[:5])# 如果省略结尾索引值,就从开始索引值到最后一个字符
print('string[2:]:', string[2:])# 更新字符串
# string[3] = "被"string = string[:3] + "被" + string[4:]print(string)# 使用in和not in判断某个字符或字符串是否存在于另一个字符串中
sub_string = "截取"if sub_string in string: print("in")else: print("not in")sub_string = "是"
if sub_string not in string: print("not in")else: print("in")四、字符串的常用函数
count():统计字串里某个字符出现的次数
len():返回字符串的长度
find():检测字符串中是否包含子字符串
replace():把字符串中的旧字符串替换为新字符串
lower():转换字符串中的所有大写字母为小写
upper():转换字符串中的所有小写字母为大写
swapcase():对字符串中的大小写字母进行相互转换
strip():删除字符串左右两侧的空格或指定的字符
isalnum():检测字符串中的字符是否全部由字母或数字组成
# ----------------------------------------
# 字符串的常用函数# ----------------------------------------# count() 用于统计字符串里某个字符出现的次数string = "Hello python!"sub_str = 'o'print("字符o出现的次数为:", string.count(sub_str))# len()返回字符串的长度print("字符o出现的次数为:", string.count(sub_str, 5, len(string)))# find() 检测字符串中是否包含子字符串。如果包含,返回开始的索引值;否则返回-1。
sub_str1 = "py"sub_str2 = "pn"print("查找子串py,返回索引值:", string.find(sub_str1))print("查找子串pn,返回索引值:", string.find(sub_str2, 2))print("查找子串py,返回索引值:", string.find(sub_str1, 3, 8))# index()与find()函数的用法相同,只是当字符串中没有包含指定的子串时,会报一个异常,而不是返回-1。
# replace() 把字符串中的旧字符串替换为新字符串
print(string.replace("python", "word")) # 默认是进行全部替换print(string.replace("o", "w", 1)) # 也可以指定替换的最大次数# swapcase() 对字符串中的大小写字母进行相互转换
print("swapcase:", string.swapcase())# lower() 转换字符串中所有大写字符为小写
print("lower:", string.lower())# upper() 转换字符串中所有小写字母为大写
print("upper:", string.upper())# strip() 删除字符串左右两侧的空格或指定的字符
string2 = "------ch02_基础语法--------"print("strip:", string2.strip('-'))string1 = "Python3"
# isalnum() 如果字符串至少有一个字符,并且所有字符都是字母或数字则返回True,否则返回False。print("isalnum:", string1.isalnum())# isalpha() 如果字符串至少有一个字符,并且所有字符都是字母则返回True,否则返回False。print("isalpha:", string1.isalpha())# isdigit() 如果字符串只包含数字则返回True,否则返回False。print("isdigit:", string1.isdigit())# title() 返回一个标题化的字符串(即所有单词以大写开头,其余字母均为小写)
print(string.title())# center() 返回一个指定宽度并且居中显示的字符串,并在左右两侧填充指定的字符,默认为空格
print("center:", string.center(40, '-'))