【python教程入门学习】python基础学习之字符串的常用操作

218 篇文章 7 订阅
207 篇文章 6 订阅

为了实现某项功能,经常需要对某些字符串进行特殊处理,如:拼接字符串、截取字符串、格式化字符串等。

1.拼接字符串

使用“+”运算符可以完成多个字符串的拼接,“+”运算符可以连接多个字符串并产生一个字符串对象。

示例:

a = "我们一起来"
b = "学习python!"
print(a + b)

代码执行结果如下:

python基础学习之字符串的常用操作

字符串不允许直接与其他类型的数据拼接,如果需要进行拼接,则需要把其它数据类型转换为字符串

2.计算字符串的长度

由于不同的字符所占的字节数不同,所以要计算字符串的长度,首先要先了解各个字符所占的字节数,在python中数字、英文、小数点、下划线、空格占一个字节,一个汉字可能占2~4个字节,占几个字节取决于使用的编码,汉字在GBK和GB2312编码中占用2个字节,在UTF-8和Unicode中一般占3或4个字节。最后,如果你的时间不是很紧张,并且又想快速的python提高,最重要的是不怕吃苦,建议你可以架尉♥信(同音):276 3177 065 ,那个真的很不错,很多人进步都很快,需要你不怕吃苦哦!大家可以去添加上看一下~,包括小编自己整理的一份2022最新的Python资料和0基础入门教程,欢迎初学和进阶中的小伙伴。在不忙的时间我会给大家解惑

python中提供了len()函数计算字符串的长度,语法格式如下:

len(string)
#参数说明
#string:指定要进行长度统计的字符串

示例:

a = "我们一起来学习python"
b = len(a)
print(b)

代码执行结果如下:

python基础学习之字符串的常用操作

3.截取字符串

字符串也属于序列,如果要截取字符串,可以使用切片方法实现,语法格式如下:

string[start : end : step]
#参数说明string:要截取的字符串start:要截取的第1个字符的索引(包括该字符),如果不指定参数,则默认值为0end:要截取的最后1个字符的索引(不包括该字符),如果不指定参数,则默认值为字符串的长度step:要切片的步长,如果省略步长,则默认值为1

示例:

a = "我们一起来学习python"b = a[1]    
#截取第2个字符c = a[5:]   
#从第6个字符截取d = a[:5]   
#从左边开始截取5个字符e = a[2:5]  
#截取第3个到第5个字符
print("原字符是:", a)
print(b + '\n' + c + '\n' + d + '\n' + e)

执行结果如下:

python基础学习之字符串的常用操作

4.分割字符串

字符串对象split()方法可以实现字符串分割,也就是把一个字符串按照指定的分割符切分为字符串列表,在该列表中不包括分割符,语法格式如下:

str.split(sep, maxsplit)
#参数说明str:要进行分割的字符串sep:指定分割符,可以包含多个字符,默认值为Nonemaxsplit:可选参数,用于指定分割的次数,如果不指定该参数或值为-1,则分割次数没有限制,否则返回的结果列表元素个数最多为maxsplit+1返回值:分割后的字符串列表

示例:

a = "我 们 一 起 来 >> 学 习 python"b = a.split()
#用默认分割符进行分割c = a.split('>>')
#用多个字符进行分割d = a.split(' ', 4)  
#用空格进行分割,并且只分割4个字符
print("原字符是:", a)
print(str(b) + '\n' + str(c) + '\n' + str(d))

代码执行结果如下:

python基础学习之字符串的常用操作

5.检索字符串

count()方法用于检索指定字符串在另一个字符串中出现的次数,如果检索的字符串不存在则返回0,如果存在则返回出现的次数,语法格式如下:

str.count(sub[, start[, end]])
#参数说明
#str:原来字符串
#sub:要检索的子字符串#start:可选参数,检索范围的起始位置的索引,如果不指定则从头开始
#end:可选参数,检索范围的结束位置的所有,如果不指定则一直检索到结尾

示例:

a = "我@们@一@起@来@学@习@python"print("@出现了", a.count('@'), "次")

代码执行结果如下:

python基础学习之字符串的常用操作

find()方法用于检索是否包含指定的子字符串,如果检索的字符串不存在,则返回-1,如果存在则返回首次出现该子字符串时的索引,语法格式如下:

str.find(sub[, start[, end]])
#参数说明
#str:原来字符串
#sub:要检索的子字符串
#start:可选参数,检索范围的起始位置的索引,如果不指定则从头开始#end:可选参数,检索范围的结束位置的所有,如果不指定则一直检索到结尾

示例:

a = "我@们@一@起@来@学@习@python"
print("@首次出现的位置索引为:", a.find('@'))

代码执行结果如下:

python基础学习之字符串的常用操作

index()方法和find()方法类似,也是用于检索是否包含指定的子字符串,只是使用index()方法,当指定字符不存在时则会抛出异常,语法格式如下:

str.index(sub[, start[, end]])
#参数说明#str:原来字符串
#sub:要检索的子字符串
#start:可选参数,检索范围的起始位置的索引,如果不指定则从头开始
#end:可选参数,检索范围的结束位置的所有,如果不指定则一直检索到结尾

示例:

a = "我@们@一@起@来@学@习@python"
print("*首次出现的位置索引为:", a.index('*'))

代码执行结果如下:

python基础学习之字符串的常用操作

startswith()方法用于检索字符串是否以指定子字符串开头,如果存在则返回True,如果不存在则返回False,语法格式如下:

str.startswith(prefix[, start[, end]])
#参数说明
#str:原来字符串
#prefix:要检索的子字符串
#start:可选参数,检索范围的起始位置的索引,如果不指定则从头开始
#end:可选参数,检索范围的结束位置的所有,如果不指定则一直检索到结尾

示例:

a = "我@们@一@起@来@学@习@python"
print("判断字符串", a, "是否以我开头", "结果是:", a.startswith("我"))

代码执行结果如下:

image.png

endswith()方法用于检索字符串是否以指定子字符串结尾,如果存在则返回True,如果不存在则返回False,语法格式如下

str.endswith(prefix[, start[, end]])
#参数说明
#str:原来字符串
#prefix:要检索的子字符串
#start:可选参数,检索范围的起始位置的索引,如果不指定则从头开始#end:可选参数,检索范围的结束位置的所有,如果不指定则一直检索到结尾

示例:

a = "我们一起来学习python"
print("判断字符串", a, "是否以python结尾", "结果是:", a.endswith("python"))

代码执行结果如下:

image.png

6.字母的大小写转换

lower()方法用于将字符串中的大写字母转换为小写字母,如果要转换字符串中没有需要转换的字符,则返回原字符串,如果要转换字符串中有需要转换的字符,则返回一个新的字符串,语法格式如下:

str.lower()

示例:

a = "我们一起来学习PYTHON"
print("大小写转换后的字符串为:", a.lower())

代码执行结果如下:

python基础学习之字符串的常用操作

upper()方法用于将字符串中的小写字母转换为大写字母,如果要转换字符串中没有需要转换的字符,则返回原字符串,如果要转换字符串中有需要转换的字符,则返回一个新的字符串,语法格式如下:

str.upper()

示例:

a = "我们一起来学习python"
print("大小写转换后的字符串为:", a.upper())

代码执行结果如下:

image.png

strip()方法用于删除字符串左右两侧的空格和特殊字符,语法格式如下:

str.strip([chars])
#参数说明
#chars:可选参数,用于指定要删除的字符,可以指定多个

示例:

a = " 我们一起来学习python@"
print("原字符串是:", a)
print("字符串:" + a.strip())
print("字符串" + a.strip('@'))

代码执行结果如下:

python基础学习之字符串的常用操作

lstrip()方法用于删除字符串左侧的空格和特殊字符,语法格式如下:

str.lstrip([chars])
#参数说明
#chars:可选参数,用于指定要删除的字符,可以指定多个

示例:

a = " 我们一起来学习python"
print("原字符串是:", a)
print("字符串:" + a.lstrip())
b = "@我们一起来学习python"
print("原字符串是:", b)
print("字符串:" + b.lstrip('@'))

代码执行结果如下:

python基础学习之字符串的常用操作

rstrip()方法用于删除字符串左侧的空格和特殊字符,语法格式如下:

str.rstrip([chars])
#参数说明
#chars:可选参数,用于指定要删除的字符,可以指定多个

示例:

a = "我们一起来学习python "
print("原字符串是:", a)
print("字符串:" + a.rstrip())
b = "我们一起来学习python@"
print("原字符串是:", b)
print("字符串:" + b.rstrip('@'))

代码执行结果如下:

python基础学习之字符串的常用操作

7.高级字符串内置函数

eval()函数用于执行一个字符串表达式,并返回表达式的值,语法格式如下:

eval(object[, globals[, locals]])
#参数说明
#expression:字符串类型表达式
#globals:可选参数,遍历作用域,全局命名空间,如果指定了globals参数,则globals参数必须是一个字典对象
#locals:可选参数,遍历作用域,局部命名空间,如果指定了locals参数,则locals参数可以是任何映射对象#返回值:返回表达式计算结果

示例:

print(eval('1+2+3+4+5'))n = 6print(eval("n + 7"))

代码执行结果如下:

python基础学习之字符串的常用操作

exec()函数用于执行存储在字符串或文件中的pyhton语句,语法格式如下:

eval(expression[, globals[, locals]])
#参数说明
#object:必选参数,需要被指定的python代码,必须是字符串或code对象,如果object是一个字符串,则该字符串会先被解析为一组python语句,然后在执行,如果是一个code对象,则它被简单执行
#globals:可选参数,遍历作用域,全局命名空间,如果指定了globals参数,则globals参数必须是一个字典对象
#locals:可选参数,遍历作用域,局部命名空间,如果指定了locals参数,则locals参数可以是任何映射对象#返回值:返回表达式计算结果

示例:

import randomcode = ""
i = 0
a = []
while i < 5:    
a.append(random.randint(0, 20))    
i += 1print(a)
exec(code)

代码执行结果如下:

image.png

ascli()函数用于返回对象的可打印字符串,语法格式如下:

ascli(object)
#参数说明
#object:对象
#返回值:返回一个表示对象的字符串

示例:

print(ascii("我们一起来学习python"))
print(ascii(3))
print(ascii("python"))

代码执行结果如下:

image.png

compile()函数将一个字符串编译为字节代码,语法格式如下:

compile(source, filename, mode[, dont_inherit])
#参数说明
#source:字符串或AST对象
#filename:代码文件名称,如果不是从文件读取代码,则传递一些可辨认的值
#mode:指定编译代码的种类,可指定为exec、eval、single
#flags:变量作用域,局部命名空间,如果指定该参数,则可以是任何映射对象
#flags和dont_inherit:用来控制编译源码时的标志
#返回值:返回表达式执行结果

示例:

code = ""for i in range(0, 10):    
if i % 2 == 0:        
print(i, end='、')
byteExec = compile(code, '', 'exec')
exec(byteExec)

代码执行结果如下:

image.png

  • 6
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值