如何用asp做网站的登录界面,关键词组合工具,网站建设笔记,兰州手机网站制作公司哪家好Python 程序设计入门#xff08;005#xff09;—— 字符串操作 目录 Python 程序设计入门#xff08;005#xff09;—— 字符串操作一、字符串切片与连接1、切片的索引方式2、切片操作的基本表达式3、 切片操作举例4、字符串连接 二、字符串替换#xff1a;replace() 方…Python 程序设计入门005—— 字符串操作 目录 Python 程序设计入门005—— 字符串操作一、字符串切片与连接1、切片的索引方式2、切片操作的基本表达式3、 切片操作举例4、字符串连接 二、字符串替换replace() 方法三、去除字符串首尾特殊字符strip() 方法四、字符串大小写转换五、字符串的检索1、count() 方法2、find() 方法3、index() 方法4、len() 函数 六、分割字符串split() 方法 Python 中的字符串是一种序列序列是一块用于存放多个值的内存空间。Python 内置了以下几种序列结构字符串、列表、字典、元组和集合。
Python 中的字符串由一个或多个单个字符组成。可以通过特定的函数实现对字符串的拼接、截取、格式化等操作。
一、字符串切片与连接
在 Python 中可以对字符串进行遍历操作也可以使用切片的方式截取字符串。在Python中切片slice是对序列型对象如liststringtuple的一种高级索引方法。普通索引只取出序列中一个下标对应的元素而切片可以取出序列中一个范围对应的元素这里的范围不是狭义上的连续片段。
1、切片的索引方式
以 a [1,2,3,4,5,6,7,8,9] 为例正索引和负索引如下表所示
值123456789正索引012345678负索引-9-8-7-6-5-4-3-2-1
2、切片操作的基本表达式
一个完整的切片包含三个参数start_indexend_indexstep和两个冒号。当只有一个冒号时默认第三个参数step1当一个冒号也没有时start_index end_index表示切取 start_index 指定的那个元素。
切片操作的语法格式如下
string[start_index: end_index: step]说明
1string表示要截取的字符串。
2在中括号中以冒号分隔索引值。
3start_index表示要截取的开始索引值。该参数可以省略表示从第一个字符开始。
4end_index表示要截取的结束索引值。该参数可以省略表示截取到最后一个字符结束。
5step表示切片步长该参数可以省略默认值为 1。
3、 切片操作举例
1切割单个字符
str1www.hist.edu.cn
print(str1[0]) # 单个字符第0位就是第一个字符
print(str1[4]) # 第4位第5个字符注意从0作为第一个字符程序运行结果如下RESTART: C:\Python\Python38\First.py
w
h2切割完整字符串
str1www.hist.edu.cn
print(str1[:]) # 单独一个冒号,代表从头取到尾,步长默认为1
print(str1[::]) # 单独两个冒号一样代表从头取到尾,步长默认为1
print(str1[::-1]) # 步长为-1,故应从右往左取实现字符串的翻转程序运行结果如下RESTART: C:\Python\Python38\First.py
www.hist.edu.cn
www.hist.edu.cn
nc.ude.tsih.www3当 start_index 和 end_index 全部为正数时
str1www.hist.edu.cn
print(str1[4:8]) # 默认步长为1,从左往右取出hist,注意前闭后开
print(str1[1:6:-1]) # 当取值的大小方向与步长的方向冲突时,返回值为空
print(str1[:3]) # 没有star_index代表从头开始取
print(str1[:8:-1]) # step为-1从最后一个字符到第8个
print(str1[6::-1]) # step为-1从第6个字符到第0个程序运行结果如下RESTART: C:\Python\Python38\First.py
histwww
nc.ude
sih.www4当 start_index 和 end_index 全部为负数时
str10123456789
print(str1[:-6]) # 从头开始取到从右往左数的第6个字符,默认步长为10123
print(str1[-1:-6]) # 当取值的大小方向与步长的方向冲突时,返回值为空
print(str1[-1:-6:-1]) # 从右边第1个字符取到右边第5个字符98765
print(str1[-6:-1]) # step为-1从最后一个字符到第6个45678
print(str1[:-6:-1]) # 从0取到-6,步长为-198765
print(str1[-6::-1]) # 从-6取到开头,步长为-143210程序运行结果如下RESTART: C:\Python\Python38\First.py
012398765
45678
98765
432105start_index 和 end_index 为正负混合时
str10123456789
print(str1[1:-6]) # 从第1个字符开始取到从右往左数的第6个字符,默认步长为1123
print(str1[1:-6:-1])# 返回值为空
print(str1[-1:6]) # 返回值为空
print(str1[-1:6:-1])# 从右边第1个字符取到第6个字符,步长为-1987程序运行结果如下RESTART: C:\Python\Python38\First.py
1239874、字符串连接
使用 可以实现字符串的连接操作。格式如下
var str1 str2 str3 ...说明在进行字符串拼接时所有参与拼接的常量和变量都必须是 string 类型。
例如
str1 中国
str2 河南
str3 新乡
a 20
print(str1 str2 str3)
print(str1 str2 str(a))程序运行结果如下RESTART: C:\Python\Python38\First.py
中国河南新乡
中国河南20 举例
1取出身份证中的生日信息程序如下
str1410755198701255210
birthstr1[6:10]年str1[10:12]月str1[12:14]日
print(birth)程序运行结果如下RESTART: C:\Python\Python38\First.py
1987年01月25日2截取电话号码中的数字进行运算程序如下
num13803732541
num1int(num[-2:]) # num141
num2int(num[:2]) # num213
num2num1 # num254
num1num2 # num195
num2//3 # num218
num1%num2 # num15
print(num1)程序运行结果如下RESTART: C:\Python\Python38\First.py
5二、字符串替换replace() 方法
replace() 方法用于将字符串中的一部分字符替换为指定的新字符。如果不指定新字符则删除字符。replace() 方法的语法格式如下
str.replace(old[,new[,count]])说明
1old表示要被替换的字字符串。
2new表示用于替换 old 的新字符串。
3count可选参数表示要替换的次数。该参数如果省略则替换所有匹配字符指定替换次数时从左向右依次进行。
例如
str1www.hist.edu.cn
str213703735512
str3410825198710122551
str4Whats your name?\nMy name is Ligang.
str5/u01/app/grid_11/log/log_2023_04_22.xml
print(str1.replace(.,))
print(str2.replace(str2[3:7],****))
print(str3.replace(str3[6:13],********))
print(str4.replace(name,NAME,1))
print(str5.replace(/,).replace(_,).replace(.,))程序运行结果如下RESTART: C:\Python\Python38\First.py
wwwhisteducn
137****5512
410825********22551
Whats your NAME?
My name is Ligang.
u01appgrid11loglog20230422xml三、去除字符串首尾特殊字符strip() 方法
Python 提供了三个方法strip()、lstrip()、rstrip()用于去除字符串首尾的空格及特殊字符。其中 strip() 方法用于去除字符串左右两端的特殊字符或空格lstrip() 方法用于去除字符串左侧的特殊字符或空格rstrip() 方法用于去除字符串右端的特殊字符与空格。
以上三个方法的参数相同如果不指定参数则默认去除空格、制表符\t、回车符\r与换行符\n。
方法 strip()、lstrip()、rstrip() 的语法格式如下
str.strip(chars)
str.lstrip(chars)
str.rstrip(chars)例如
str1 Xinxiang
str2*Henan%%
print(Address:str1City)
print(Address:str1.lstrip()City)
print(Address:str1.rstrip()City)
print(Address:str1.strip()City)
print(str2.strip(%).strip(*))程序运行结果如下RESTART: C:\Python\Python38\First.py
Address: Xinxiang City
Address:Xinxiang City
Address: XinxiangCity
Address:XinxiangCity
Henan四、字符串大小写转换
Python 提供了用于字母大小写转换的方法包括upper()、lower()、capitalize() 与 title()。语法格式如下
str.upper() # 将所有字母转换为大写
str.lower() # 将所有字母转换为小写
str.capitalize() # 将一段内容的首字母转换为大写
str.title() # 将每个单词的首字母转换为大写例如
str1Im a teacher.You are a student.
print(str1.upper())
print(str1.lower())
print(str1.title())
print(str1.capitalize())程序运行结果如下RESTART: C:\Python\Python38\First.py
IM A TEACHER.YOU ARE A STUDENT.
im a teacher.you are a student.
IM A Teacher.You Are A Student.
Im a teacher.you are a student.五、字符串的检索
Python 提供了用于实现字符串检索的方法通过这些方法可以实现字符串中字符的检索、统计等。
1、count() 方法
count() 方法用于查询一个字字符串出现的次数。语法格式如下
str.count(sub[,begin[,end]]) 说明
1sub表示要检索的子字符串。
2begin 和 end表示检索范围的起始位置和结束位置的索引值。可以省略如果不指定则起始位置为字符串的最左侧结束位置则是字符串的结尾处。
3检索时区分大小写。
例如
str1www.hist.edu.cn
print(str1.count(.)) # 3次
print(str1.count(。)) # 0次不存在
print(str1.count(.,8)) # 2次
print(str1.count(.,9)) # 1次
print(str1.count(w,0,2)) # 2次(前开后闭)程序运行结果如下RESTART: C:\Python\Python38\First.py
3
0
2
1
22、find() 方法
find() 方法用于查询一个字字符串出现的索引位置如果没有检索到返回 -1。语法格式如下
str.find(sub[,begin[,end]]) 说明sub、begin、end 三个参数与 count() 方法对应的参数作用相同。
例如
str1www.hist.edu.cn
print(str1.find(.)) # 位置为3
print(str1.find(。)) # 没找到返回 -1
print(str1.find(.,8)) # 位置为8
print(str1.find(.,9)) # 位置为12
print(str1.find(w,0,2)) # 位置为0程序运行结果如下RESTART: C:\Python\Python38\First.py
3
-1
8
12
0可以使用 rfind() 方法实现从右向左检索。例如
str1www.hist.edu.cn
print(str1.rfind(.)) # 位置为12
print(str1.rfind(。)) # 没找到返回 -1
print(str1.rfind(.,8)) # 位置为12
print(str1.rfind(.,9)) # 位置为12
print(str1.rfind(w,0,2)) # 位置为1程序运行结果如下RESTART: C:\Python\Python38\First.py
12
-1
12
12
13、index() 方法
index() 方法用于查询一个字字符串首次出现的索引位置如果没有检索到则抛出异常 ValueError。语法格式如下
str.index(sub[,begin[,end]]) 说明sub、begin、end 三个参数与 find() 方法对应的参数作用相同。
例如
str1www.hist.edu.cn
print(str1.index(.)) # 位置为3
print(str1.index(.,8)) # 位置为8
print(str1.index(.,9)) # 位置为12
print(str1.index(w,0,2)) # 位置为0
print(str1.index(。)) # 没找到抛出异常程序运行结果如下RESTART: C:\Python\Python38\First.py
3
8
12
0
Traceback (most recent call last):File C:\Python\Python38\First.py, line 6, in moduleprint(str1.index(。)) # 没找到抛出异常
ValueError: substring not found4、len() 函数
len() 函数用于计算字符串的长度或列表、元组中元素的个数。len() 函数的语法格式如下
len(s)
说明s表示对象可以是字符串、列表、元组、字典等。例如
print(len(abc)) # 3
print(len(河南新乡)) # 4
print(len(中国China)) # 7
print(len(My123)) # 5
print(len()) # 0程序运行结果如下RESTART: C:\Python\Python38\First.py
3
4
7
5
0六、分割字符串split() 方法
用 split() 方法分割字符串得到一个字符串列表。split() 方法的语法格式如下
str.split(sep[, maxsplit])说明
1sep指定分隔符。
2maxsplit指定要分割的次数。该参数可以省略如果省略该参数则分割所有匹配字符。
例如
str1王刚,男,20,河南省新乡市,13737351268
str2a b c d
str3张三\n李四\n王五\n赵六
str4Tom\rKate\rJack\rRose
print(str2.split()) # 如果省略s则按默认值空格换行符制表符分割
print(str3.split())
print(str4.split())
print(str1.split(,))
print(str1.split(,,2)) # 只分割前两项第二个逗号后面的内容作为第三项
print(str1.split(,,3))程序运行结果如下RESTART: C:\Python\Python38\First.py RESTART: C:\Python\Python38\First.py
[a, b, c, d]
[张三, 李四, 王五, 赵六]
[Tom, Kate, Jack, Rose]
[王刚, 男, 20, 河南省新乡市, 13737351268]
[王刚, 男, 20,河南省新乡市,13737351268]
[王刚, 男, 20, 河南省新乡市,13737351268]