python基础之字符串函数(9)

本文主要探讨Python中的字符串基础知识,包括转义字符、字符串的运算和操作、重点讲解了字符串查找和操作相关的函数,以及如何进行字符串的格式化操作,是Python初学者的重要参考资料。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.转义字符

2.字符串的相关运算操作

3.字符串的相关函数

4.字符串格式化

1.转义字符:

#1.\ 	 转义符,续行符。在后面出现特定的字符可以实现转义效果,在行尾出现可以在下一行继续书写

str1="王大锤对小妹说:我喜欢你,你愿意嫁给我吗?\
   小妹回答:你是好人"
print(str1)  

#2.\n  	 代表一个换行符

str1="王大锤对二美说:嫁给我把\n二美回答:\n渣男"
print(str1)

#3.\r   返回光标至行首(从行首开始覆盖) 

str1="大锤是个好人还是渣男呢\r王大锤是个好渣男"
print(str1)

#4.\t   水平制表符(缩进)

str1="小美和大美又是什么关系呢?\t大美是长大的小妹"
print(str1)

#5.\b	 退格符

str1="后来,大美变成了\b胖妹"
print(str1)

#6.\\ 	 输出反斜杠
#原样输出转义字符,只需要在字符串前面加r即可。

str1=r"大锤还是80\n小美变成了\\\\老妹"
print(str1)

3.字符串的相关操作

#1. + 字符串连接运算

str1="王大锤"
str2="路小雨"
res=str1+str2
print(res)

#2. * 字符串复制运算

str1="只因你太没"
res=str1*5
print(res)

#3. [] 字符串索引操作

str1='大锤最终和美美幸福的在一起玩泥巴'
res=str1[4]
print(res)
print(str1[-12])

#4. 字符串的分片操作
str[开始值:结束值:跳步值]  跳步值默认是1
开始值默认是0,结束值默认是到最后
反向查找根据跳步值的正负而定

str1="小锤是大锤的小孩吗?不是,是弟弟"
res=str1[0::2]
print(res)
res=str1[-2:3:-1]
print(res)

4.字符串函数

与英文相关的,大小写转换的函数
1.upper() 将字符串中所有小写字母转换为大写
    字符串.upper()
    
str1="abc1234"
res=str1.upper()
print(res)
    
2.lower() 将字符串中所有大写字母转化为小写
    字符串.lower()

str1="DJHKH"
res=str1.lower()
print(res,type(res))


3.swapcase() 将字符串中大小写字母进行互换
    字符串.swapcase()

str1="AbddddKKK"
res=str1.swapcase()
print(res)

4.title()   将字符串中的字母进行标题化处理(每个单词首字母大写)
    字符串.title()
    
str1="hello world"
res=str1.title()
print(res)

5.capitalize() 将字符串中第一个字母变为大写 首字母大写函数
    字符串.captialize()

str1="hello wrj"
res=str1.capitalize()
print()

字符串查找相关的函数

1.index()   从字符串左侧开始向右查找指定字符第一次出现的位置(找不到字符串报错) *
    字符串.index(查找的字符串)
    字符串.index(查找的字符串,开始索引)
    字符串.index(查找的字符串,开始索引,结束索引)
    
str1="大锤,小妹说要嫁给你"
res=str1.index("小",-7,-1)
print(res)         #结果是按正的顺序编号

2.rindex() 从字符串右侧开始向左查找指定字符第一次出现的位置(找不到字符串报错) *
    字符串.rindex(查找的字符串)
    字符串.rindex(查找的字符串,开始索引)
    字符串.rindex(查找的字符串,开始索引,结束索引)
    
3.find()   和index一样(找不到字符串返回-1) *
    字符串.find(查找的字符串)
    字符串.find(查找的字符串,开始索引)
    字符串.find(查找的字符串,开始索引,结束索引)
    
str1="明明可以开豪车.我却要蜗居"
res=str1.find("以")
print(res)

4.rfind()  和rindex一样(找不到字符串返回-1) *
    字符串.rfind(查找的字符串)
    字符串.rfind(查找的字符串,开始索引)
    字符串.rfind(查找的字符串,开始索引,结束索引)

str1="这就是我和明明区别"
res=str1.rfind("ni ",0,9)
print(res)

判断相关的字符串函数
1.isupper() 检测字符串是否都是大写字母组成
    变量.isupper()
str="adfdaf"
res=str.isupper()
print(res)

2.islower() 检测字符串是否都是小写字母组成
    变量.islower()
    
str="adfdaf"
res=str.islower()
print(res)

3.istitle() 检测字符串是否符合标题要求
    变量.istitle()

4.isalnum() 检测字符串是否由数字和字母及文字组成
    变量.isalnum()

str="年后abf134"
res=str.isalnum()
print(res)

5.isalpha() 检测字符串是否由字母和文字组成
    变量.isalpha()
    
str="年后abd"
res=str.isalpha()
print(res)

6.isdigit() 检测字符串是否由10进制字符组成(数字) *
	True: Unicode数字,byte数字(单字节),全角数字(双字节)
	False: 汉字数字
	Error: 无
    变量.isdigit()
    
str="百千万"
res=str.isdigit()
print(res)
#结果为Flase

7.isnumeric()检测字符串是否由数字字符组成(数字)
	True: Unicode数字,全角数字(双字节),汉字数字
	False: 无
	Error: byte数字(单字节)
    变量.isnumeric()
    
str="46432"
res=str.isnumeric()
print(res)

8.isspace() 检测字符串是是否由空白字符(不可见字符)组成 *
    变量.isspace()
    
str="  "
res=str.isspace()
print(res)

9.startswith() 检测字符串是否以指定的字符串开头 *
    变量.startswith('检测的字符串')

str="今天天气真好"
res=str.startswith("今天")
print(res)

10.endswith()  检测字符串是否以指定的字符串结尾 *
    变量.endswith('检测的字符串')

字符串操作相关函数

#1.split() 使用特定的字符串切割字符串 *
    变量.split(切割的字符)
    变量.split(切割的字符,切割次数)

str="今天天气真好,我带着我小弟,去我家玩"
res=str.split("我",3)
print(res)

#2.join() 使用特定字符串将容器数据连接成一个字符串 *
    特定字符串.join(容器)

str="你我他"
res="是".join(str)
print(res)
    
你是我是他    
    
list1=["猛妹子","萌妹子"]
res="是".join(list1)
print(res)

猛妹子是萌妹子

dict1={"你":1,"我":2}
res="不是".join(dict1)
print(res)

你不是我

set1={'洋葱','那个男孩','我不配'}
res="和".join(set1)
print(res)   #结果无序排列

#3.zfill()  zero fill 零填充效果(即长度不够用0填充),内容靠右
    变量.zfill(整个字符串的长度)
    
str="你我他"
res=str.zfill(10)
print(res)
结果:0000000你我他

4.center()  使用指定的字符将字符串填充到指定的长度,原有内容居中对齐 
    变量.center(填充长度)
    变量.center(填充长度,填充字符)
       
str="你我他"
res=str.center(10,"#")
print(res)
结果:###你我他####

5.ljust()使用指定的字符将字符串填充到指定的长度,原有内容靠左对齐
    变量.ljust(填充长度)
    变量.ljust(填充长度,填充字符)

str="你我他"
res=str.ljust(10,"#")
print(res)
结果:你我他#######

6.rjust()使用指定的字符将字符串填充到指定的长度,原有内容靠右对齐
    变量.rjust(填充长度)
    变量.rjust(填充长度,填充字符)
    
7.strip() 去除字符串左右两侧指定的连续字符 *
    变量.strip() 默认去除左右两侧空格字符
    变量.strip(去除的指定字符串)

str="伤害我丫我伤害"
res=str.strip("伤害")
print(res)

8.lstrip()去除字符串左侧指定的连续字符
    变量.lstrip() 默认去除左右两侧空格字符
    变量.lstrip(去除的指定字符串)
    

9.rstrip()去除字符串右侧指定的连续字符
    变量.rstrip() 默认去除左右两侧空格字符
    变量.rstrip(去除的指定字符串)
    
    
10.replace() 字符串的替换操作 *
    变量.replace('被替换的字符串','替换成的字符串')
    变量.replace('被替换的字符串','替换成的字符串',替换次数)

str="王大锤喜欢萌妹子,萌妹子喜欢帅哥"  
res=str.replace("萌妹子","汉子",1)
print(res)

11.count() 统计指定字符串 在字符串中出现的次数  *
	变量.count('指定的字符串',开始值,结束值) 开始值和结束值是可选的
	
str1="现在的年轻人,没事就看小电影,叫小姐姐,真的是小孩子"
res=str1.count("小",1,15)
print(res)

5.字符串格式化操作

% 百分号格式化操作
        基本格式:字符串 % 格式化使用的数据
    占位符号:
        %d   要格式化一个整型  *

str1="今天下午%d点小美学我去吃饭"%10
print(str1)

        %f   要格式化一个浮点型(默认小数点后6位)
        
str1="圆周率等于%8f"%3.1456465321
print(str1)
        
        %s   要格式化一个字符串  *
        
str="王大锤喜欢%s,小龙女喜欢%s"%('孔连顺','过儿')
print(str)
        
   
        %c   要格式化一个ascii码
        
str1="%c的ascii码是97"%97
print(str1)

        %u   要格式化一个无符号整型 效果同%d

str1="小明吃了%u个包子"%10
print(str1)

        %o   要格式化一个无符号的八进制整型

str1="10的8进制是%o"%10
print(str1)

        %x   要格式化一个无符号的十六进制数
        
str1="18的16进制是%x"%18
print(str1)

        %X   要格式化一个无符号的十六进制数(大写)
        
str1="18的16进制是%X"%18
print(str1)

        %e   要格式化一个科学记数法的浮点型

str1="3334.456464的科学计数法是%e"%3334.456464
print(str1)

        %E   效果和%e一样

    精度设定:(例子)
        %.5f   表示精确到小数点后5位
    宽度设定:(例子)
    
str1="hello%7s你好"%"耐克"
print(str1)
结果 hello     耐克你好

str1="hello%-7s你好"%"耐克"
print(str1)
结果 hello耐克    你好

        %长度s   不设定的时候左侧填充,内容靠右
        %-长度s  设定-,右侧填充,内容靠左
    零填充效果:(例子)
        %0长度d  不够的长度使用0填充而不是默认的空格
    正负号显示效果:
        %+d   表示整数显示 +值,负数显示-值
        
# 原样输出 %

str1="你好%s,我是%%s外星%s人"%("水星","火星")
print(str1)
#再加一个%就原样输出了
format函数格式化操作(2.6以上)
        基本格式:
            变量.format(参数,参数,....)
		传参:
			顺序传参
			
str1="小楼昨夜又{},故国不堪回首明{}".format("东风",'月中')
print(str1)

			索引(位置传参)
str1="小楼昨夜又{1},故国不堪回首明{2}".format("西风","东风",'月中','水中')
print(str1)

			关键字传参
str1="小楼昨夜又{dong_feng},故国不堪回首明{yue_zhong}".format(dong_feng="东风",yue_zhong="月中")
print(str1)

			容器类型传参(列表或元组索引)
str1="小楼昨夜又{0[1]},故国不堪回首明{1[0]}".format(["西风","东风"],['月中','水中'])
print(str1)

        限定符号:(必须在:后面使用)
        对齐相关:参数位置:填充符号 对齐符号总长度   1:#> 20
            <   左对齐
            ^   居中对齐
            >   右对齐

str="小明上学没带{1:#>10}就去了".format("书包","皮箱","书")
print(str)
#小明上学没带########皮箱就去了

        进制转换符号:
            d   十进制      
            b   二进制
            o   八进制
            x   十六进制
            
str="10的二进制等于{1:b}".format(20,10)
print(str)


        精度限定符号:
            .2f  表示小数点后保留2位  
            
str="圆周率是{:.5f}".format(3.14545465454)
print(str)

        金融限定符号:
            ,  表示数字从右向左,每三位数添加一个逗号(整数部分)
            
str="马云一天挣{:,}的钱".format(34654564546456)
print(str)

第七天作业题
h=1
while True:
    str1 = input("请输入一串字符:")
    if str("卧槽") in str1 and h==1:
        h+=1
        print("第一次违规")
    elif str("卧槽") in str1 and h==2:
        h+=1
        print("第二次违规")
    elif str("卧槽") in str1 and h==3:
        print("退出程序")
        exit()
    else:
        res=len(str1)
        print("您检测的字符一共有",res,"个")
        i=0
        j=0
        m=0
        k=0
        for num in str1:
            if str(num).isalpha():
                i+=1
            elif str(num).isspace():
                j+=1
            elif str(num).isdigit():
                m+=1
            else:
                k+=1
        print("其中英文汉字=",i,"空白符=",j,"数字=",m,"其他=",k)


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值