1.概念:
字符串由若干个字符(字母,数字,特殊符号,中文,表示形式:采用单引号或者双引号)组成的有限序列。
注意:字符串属于不可变实体
2.创建字符串:
str1 = "hello" str2 = 'hello' str3 = 'h' #python中不支持单字符类型,单字符在python中 属于一个字符串
3.字符串的运算:
(1)字符串的拼接
#字符串的连接【拼接】 s1 = "welcome " s2 = "to china" print(s1 + s2) print(s1) print(s2)
注意:字符串拼接(只能用于字符串和字符串之间的拼接),新建了一个字符串,不会改变原有字符串
(2)重复输出字符串
s3 = "good" print(s3 * 3) print(s3,s3,s3) #输出的good中间带有空格
注意:生成一个新的字符串,不改变原有字符串
(3)获取字符串中的某个字符,与list和tuple类似,通过索引的方式访问字符串中的字符
#访问方式:字符串名[索引] s4 = "hasoffhfj" print(s4[2]) #遍历字符串 for c in s4: print(c) for i in range(len(s4)): print(s4[i]) for i,c in enumerate(s4): print(i,c)
注意:string和元组tuple类似,不可以随意更改,在底层维护一个由不同字符组成的元组
(4)字符串的截取【切片】
str1 = "hello world" print(str1[6:11]) #包头不包尾 print(str1[:11]) print(str1[6:]) str2 = "abc123456" print(str2[2::2]) #str2[start:end:step] print(str2[::-1]) #表示从右往左以步长为1进行打印【字符串反转】 print(str2[-3:-1]) #前包后不包
(5)判断一个字符串中是否包含指定字符:成员运算符
str3 = "you are a good man" print("good" in str3) print("good" not in str3)
4.格式化字符串
通过%来改变后面字母的含义,%被称为占位符。
%s:字符串【对象】 %d:整型 %f:浮点型,可以指定小数点后面的位数【精度】
print("hello") num = 10 str1 = "hello" print(num,str1) print("num= ",num,"str1= ",str1) print("%d + %s"%(num,str1)) #格式化 f = 12.34545 print("num = %d,str1 = %s,f = %.3f"%(num,str1,f))
注意:%.nf,如果n省略,则表示取整,如果n>1则表示保留小数点后几位,此时四舍五入
5.转义字符
通过\改变后面字母的含义
\t:相当于按下tab键 \n:相当于换行符
#打印反斜杠\ str1 = "\\" print(str1) #打印单引号 str2 = "\'" print(str2) #打印“hello” print("\"hello\"") #如果字符串内部有很多个换行,用\n写在一行可读性差 str5 ="""today is a nice day """ print(str5) #将一个路径当做字符串加载进来 str7 = “E:\\Python学习\\1py基础\\Day6\\视频” print(str7) #简化 str8 = r"E:\Python学习\1py基础\Day6\视频" print(str8)
注意:多个换行符容易误读,使用'''VVVVV'''实现;涉及到路径,使用r"路径"来实现
6.字符串功能 (eval、count、lower、upper、swapcase、capitalize、title)
#1.字符串和整数之间的转换 #int() str() #eval(str) 将str转换为有效的表达式,参与运算,并返回运算结果 num1 = eval("123") print(num1) print(type(num1)) print(eval("12 + 3")) #可以进行有效表达式的运算
#2.统计子字符串在原字符串中出现的次数:count #count(str,start,end) str1 = "good good good" c = str1.count("good") print(c)
#3.大小字母转换 #lower():将字符串中的大写字母转换为小写字母 str2 = "Tomorrow is Better" newstr2 = str2.lower() print(newstr2) print(str2) #upper():将小写字母转换为大写 print(str2.upper()) #swapcase():将大写转换为小写,小写转换为大写 print(str2.swapcase()) #capitalize():首个单词的首字母大写,其他全部小写 print(str2.capitalize()) #title():每个单词的首字母都大写 print(str2.title())