当前位置:首页>python>6_Python_字符串

6_Python_字符串

  • 2026-10-11 08:32:54
6_Python_字符串

一、可变数据类型和不可变数据类型

# python中常见的数据类型:int float str list tuple bool dict set NoneType bytes# # python中可以分为可变数据类型和不可变数据类型# 可变数据类型:#     (dict list set)# 不可变数据类型:#     (int float str bool tuple)

二、str字符串

1.概述

由多个字母,数字,特殊字符组成的有限序列

在Python中,使用单引号或者双引号都可以表示字符串 """ 文本  """   或者 '''文本 '''

注意:没有单符号的数据类型

'a'   "a"

2.创建字符串

代码演示:

# 字符串的定义:可以使用一对单引号或者双引号,也可以一对三个单引号或者一对三个双引号定义字符串。# 创建字符串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\笔记'

3.字符串运算

代码演示:

# 访问字符串中的内容可以通过下标访问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("你值得更好的!!!!!!")

4.常用功能

4.1获取长度和次数

代码演示:

str4="张哥,'嘻嘻嘻嘻'"# 获取字符串的长度 len() print(len(str4))# count() 在整个字符串中查找子字符串出现的次数str="上机卡了,ss上机呢?"print(str.count("手机"))   # 2
4.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!
4.3填充

代码演示:

ss2="我们已经进入人工智能时代!"print(ss2)print(ss2.center(30))print(ss2.center(30,"-"))  # -----------我们已经进入人工智能时代!-----------print(ss2.ljust(40,"%"))  # 我们已经进入人工智能时代!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%print(ss2.rjust(40,"="))  # ================================我们已经进入人工智能时代!print(ss2.zfill(40)) # 00000000000000000000000000000000我们已经进入人工智能时代!
4.4查找 

代码演示:

# 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
4.5提取

代码演示:

# 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("*"))
4.6 分割和合并 

代码演示:

# 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
4.7替换 

代码演示:

# 替换# replace() 对字符串中的数据进行替换ss9="我不入地狱,谁入地狱"print(ss9)print(ss9.replace("地狱","**"))# 控制替换的字符的次数print(ss9.replace("地狱","**",2))
4.8判断

代码演示:

# 字符串判断# 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
4.9前缀和后缀

代码演示:

# 前缀和后缀  判断字符串是否以指定字符开头或者以指定字符结束# startswith()   判断字符串是否以指定字符开头# endwith() 判断字符串是否以指定字符结束s1="HelloPython"print(s1.startswith("Hello")) # Trueprint(s1.endswith("thon")) # True
4.10编解码

代码演示:

# encode() 编码# decode() 解码s2="hello 中国"s3=s2.encode()print(s2.encode()) print(s2.encode("utf-8")) print(s2.encode("gbk"))# 解码print(s3.decode())  # hello 中国
4.11 ASCII码转换

代码演示:

# chr()  将对应的ASCII码的值转换为对应的字符# ord()  获取对应字符的ASCII的值print(chr(65))   # Aprint(ord("a"))  # 97

最新文章

随机文章