# python中常见的数据类型:int float str list tuple bool dict set NoneType bytes# # python中可以分为可变数据类型和不可变数据类型# 可变数据类型:# (dict list set)# 不可变数据类型:# (int float str bool tuple)
由多个字母,数字,特殊字符组成的有限序列
在Python中,使用单引号或者双引号都可以表示字符串 """ 文本 """ 或者 '''文本 '''
注意:没有单符号的数据类型
'a' "a"
代码演示:
# 字符串的定义:可以使用一对单引号或者双引号,也可以一对三个单引号或者一对三个双引号定义字符串。# 创建字符串str="apple"str1='orange'print(type(str), type(str1))# \ 转义字符 作用:让一些符号失去原有的意义str2="\"张三\""str3='\'李四\''print(str2, str3)# 定义字符串的时候,单双引号可以互相嵌套str4="张哥,'嘻嘻嘻嘻'"print(str4)# 字符串前加 r# r"" 的作用是去除转义字符.# 即如果是“\n”那么表示一个反斜杠字符,一个字母n,而不是表示换行了。# 以r开头的字符,常用于正则表达式,对应着re模块。s=r'C:\Users\xxx\Desktop\笔记'
代码演示:
# 访问字符串中的内容可以通过下标访问print(str4[0],str4[7])# 遍历字符串# 第一种方式: for inforiinstr4:print(i) # 第二种方式: 通过下标foriinrange(len(str4)):print(str4[i])# 第三种方式:enumrate()fori,vinenumerate(str4):print(i,v,end=" ")# 字符串拼接使用 +str5="welcome to "str6=" china"num=19print(str5+str6)# print(str5 + num) # 注意,+ 只能用于字符串和字符串之间进行拼接# 字符串重复 *print(str5*3)# 字符串截取(切片)ss1="good good study,day day up"print(ss1[1:6]) # ood gprint(ss1[2:]) # od good study,day day upprint(ss1[:9]) # good goodprint(ss1[-1]) # pprint(ss1[1::2]) # odgo td,a a p # 将步长设置为2print(ss1[::-1]) # pu yad yad,yduts doog doog # 将字符串实现翻转# 判断指定元素是否在字符串中 成员运算符 in 或者 not inprint("good"inss1)if"love"inss1:print("终于遇见了你")else:print("你值得更好的!!!!!!")
代码演示:
str4="张哥,'嘻嘻嘻嘻'"# 获取字符串的长度 len() print(len(str4))# count() 在整个字符串中查找子字符串出现的次数str="上机卡了,ss上机呢?"print(str.count("手机")) # 2
代码演示:
# 2.字符串大小写转换 upper() lower()# upper()将字符串中的小写字母转换为大写str1="i Miss you Very Much!"print(str1.upper()) # I MISS YOU VERY MUCH!# lower() 将字符串中的大写字母转化为小写print(str1.lower()) # i miss you very much!# swapcase 将字符串中的大写转换为小写,将小写转换为大写print(str1.swapcase()) # I mISS YOU vERY mUCH!# title() 将英文中每个单词的首字母转换为大写str2="i love you forever!"print(str2.title()) # I Love You Forever!
代码演示:
ss2="我们已经进入人工智能时代!"print(ss2)print(ss2.center(30))print(ss2.center(30,"-")) # -----------我们已经进入人工智能时代!-----------print(ss2.ljust(40,"%")) # 我们已经进入人工智能时代!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%print(ss2.rjust(40,"=")) # ================================我们已经进入人工智能时代!print(ss2.zfill(40)) # 00000000000000000000000000000000我们已经进入人工智能时代!
代码演示:
# find() 查找子串在字符串中第一次出现的位置, 返回的是下标,若未找到返回-1ss3="123asdfASDCXaZ8765sahbzcd6a79"print(ss3.find("a")) # 3print(ss3.find("y")) # -1 未找到子串,返回-1# 在指定区间内查找print(ss3.find("a",5,20)) # 12# rfind 查找子串在字符串中最后一次出现的位置,返回的是下标,若未找到返回-1print(ss3.rfind("a")) # 25print(ss3.rfind("y")) # -1# index() 功能和find类似 在字符串中未找到的时候,直接报错 (了解)print(ss3.index("d")) # 5# print(ss3.index("y")) # ValueError: substring not found
代码演示:
# strip() 去除字符串两边的指定字符(默认去除的是空格)ss4=" today is a nice day "ss5="***today is a nice day****"print(ss4)print(ss4.strip())print(ss5)print(ss5.strip("*"))# lstrip 只去除左边的指定字符(默认去除的是空格)print(ss5.lstrip("*"))# rstrip 只去除右边的指定字符(默认去除的是空格)print(ss5.rstrip("*"))
代码演示:
# split() 以指定字符对字符串进行分割(默认是空格)ss6="this is a string example.....wow!"print(ss6.split()) # 以空格进行分割 ['this', 'is', 'a', 'string', 'example.....wow!']print(ss6.split("i"))# splitlines() 按照行切割ss7='''将进酒君不见黄河之水天上来,奔流到海不复回.君不见高堂明镜悲白发,************.'''print(ss7)print(ss7.splitlines())# join 以指定字符进行合并字符串ss8="-"tuple1= ("hello","every","body")print(tuple1)print(ss8.join(tuple1)) # hello-every-body
代码演示:
# 替换# replace() 对字符串中的数据进行替换ss9="我不入地狱,谁入地狱"print(ss9)print(ss9.replace("地狱","**"))# 控制替换的字符的次数print(ss9.replace("地狱","**",2))
代码演示:
# 字符串判断# isupper() 检测字符串中的字母是否全部大写print("ASDqwe123".isupper()) # Falseprint("ASD123".isupper()) # True# islower() 检测字符串中的字母是否全部小写print("ASDqwe123".islower()) # Falseprint("qwe123".islower()) # True# isdigit() 检测字符串是否只由数字组成print("1234".isdigit()) #Trueprint("1234asd".isdigit()) # False#istitle() 检测字符串中的首字母是否大写print("Hello World".istitle()) # Trueprint("hello everybody".istitle()) # False# isalpha() 检测字符串是否只由字母和文字组成print("你好everyone".isalpha()) # Trueprint("你好everyone123".isalpha()) # False
代码演示:
# 前缀和后缀 判断字符串是否以指定字符开头或者以指定字符结束# startswith() 判断字符串是否以指定字符开头# endwith() 判断字符串是否以指定字符结束s1="HelloPython"print(s1.startswith("Hello")) # Trueprint(s1.endswith("thon")) # True
代码演示:
# encode() 编码# decode() 解码s2="hello 中国"s3=s2.encode()print(s2.encode()) print(s2.encode("utf-8")) print(s2.encode("gbk"))# 解码print(s3.decode()) # hello 中国
代码演示:
# chr() 将对应的ASCII码的值转换为对应的字符# ord() 获取对应字符的ASCII的值print(chr(65)) # Aprint(ord("a")) # 97