零基础学Python6

字符串

判断一个数是否为回文数(正数倒数都一样)

x="12321"
"是回文数" if x==x[::-1] else "不是回文数"
'是回文数'

字符串的各种方法大全

字符串的各种方法大合集,《零基础入门学习Python》【最新版】,Python交流,鱼C论坛 - Powered by Discuz! (fishc.com.cn)https://fishc.com.cn/thread-183975-1-1.html大小写字母换来换去的方法:capitalize()  casefold()   title()  swapcase()  upper()  lower()

casefold() 除了可以处理英语之外 还可以处理别的语言

x="i love a"
x.capitalize()  #capitalize 将字符串首字母变为大写 其他字母变成小写
'I love a' # 返回的不是原字符串(字符串是不可改变的)是生成一个新的字符串
x
'i love a'

x.casefold()  #返回一个所有字母都是小写的新字符串
'i love a'

x.title()  #将字符串的每个单词首字母变成大写 其他字母变成小写
'I Love A'

x.swapcase()  #大小写翻转
'I LOVE A'
 
x.upper()  #所有字母都大写
'I LOVE A'
 
x.lower()  #所有字母都是小写
'i love a'

 左中右对其的分类

width 指定字符串宽度  如果指定的宽度小于或者等于源字符串 直接源字符串输出

fillchar 参数 默认填充是空格 可随意修改填充字符

x="有内鬼,停止交易!"

x.center(5)   #参数width比原字符串小 输出原字符串
'有内鬼,停止交易!'

x.center(15)  #参数width比原字符串大 左右会用空格去填充 
'   有内鬼,停止交易!   '

x.ljust(15)    #左对齐
'有内鬼,停止交易!      '
x.rjust(15)    #右对齐
'      有内鬼,停止交易!'
x.zfill(15)    #用0填充左侧
'000000有内鬼,停止交易!'

"520".zfill(5)
'00520'
"-520".zfill(5)
'-0520'

x.rjust(15,"呀")  #修改fillchar参数 改变填充参数
'呀呀呀呀呀呀有内鬼,停止交易!'

查找:count(sub[,start[,end]]) 用于查找 sub参数指定的子字符串在字符串中出现的次数; start、end用于指定查找的起始和结束位置

x="上海自来水来自海上"
x.count("海")
2

x.count("海",0,5) #指定区间0-5
1

x.find("海") #从左往右找找到第一个”海“ 下标是1
1
x.rfind("海")  #从右往左找找到第一个”海“ 下标是7
7

x.rfind("贵")  #定位不到子字符串返回-1
-1
x.index("贵")  #定位不到子字符串会报错

find(sub[,start[,end]]) 用于定位sub参数指定的子字符串在字符串中的索引下标 从左往右找

rfind(sub[,start[,end]])用于定位sub参数指定的子字符串在字符串中的索引下标 从右往左找

index(sub[,start[,end]])index 和 find 功能是一样的 区别是如果定位不到字符串返回值不一样

rindex(sub[,start[,end]])

替换:expandtabs([tabsize=8])使用空格替换制表符 并返回一个新的字符串(使用空格代替tab,不要在一段代码中混合使用空格和tab) 参数是指一个tab等于多少空格

replace(old,new,count=-1): 返回一个将所有old的参数指定的子字符串替换为new参数指定的新字符串 , count参数指定的是替换的次数 默认-1 即替换全部

translate(table) 返回一个根据table参数转换后的新字符串 table表格 转换规则表格 利用str.maketrans(x[,y[,z]])来获取表格   还有第三个参数:将指定的字符串忽略

"在吗,我在你家楼下,快点下来".replace("在吗","想你")
'想你,我在你家楼下,快点下来'

table=str.maketrans("ABCDEFG","1234567") #先制作一个表格
"i LOVE FFFU".translate(table)  #根据表格替换 E对应5 F对应6
'i LOV5 666U'

"i LOVE FFFU".translate(str.maketrans("ABCDEFG","1234567")) #也可以直接把表格写到参数中
'i LOV5 666U'

"i LOVE FFFU".translate(str.maketrans("ABCDEFG","1234567","LOVE")) #第三个参数指将 LOVE 忽略
'i  666U'

判断和检测:返回的都应该是一个布尔类型的值

startswith(prefix[,start[,end]]) 用于判断参数指定的子字符串是否位于字符串首位

endswith(suffix[,start[,end]]) 用于判断参数指定的子字符串是否位于字符串末尾 

[  ]指的是可选参数

参数支持 元组形式

x.startswith("我")
True
x.endswith("python")
True
x.startswith("我",1)
False
x.endswith("py",0,4)
True

x="他爱python"
if x.startswith(("我","你","他")): #如果元组中提供的元素 如果有可以匹配成功的就返回Ture
    print("总有人喜爱python")
总有人喜爱python

istitle( ) :判断一个字符串中所有单词是否都是以大写字母开头

isupper():判断一个字符串中所有单词是否都是大写字母

x="I Love You"
x.istitle()
True
x.isupper()
False
x.upper().isupper() #连续调用多种方法 从左往右的规则
True

 islower():判断一个字符串中所有单词是否都是小写字母

isalpha():判断一个字符串中是否只是由字母构成

isspace():判断一个字符串中是否是空白字符串(tab 空格  \n 都属于空白字符串)

isprintable():判断一个字符串中是否都是可打印的

"    \n".isspace() 
True

x.isprintable()
True
"i love you\n".isprintable()  #  \n 不是可打印字符
False

isdecimal() isdigit() isnumeric() 都是用来判断数字的

x="12345"  #十进制数
x.isdecimal()
True
x.isdigit()
True
x.isnumeric()
True
x="2²"   #平方
x.isdecimal()
False
x.isdigit()
True
x.isnumeric()
True
x="ⅠⅡⅢⅣⅤ" #罗马数字
x.isdecimal()
False
x.isdigit()
False
x.isnumeric()
True
x="一二三四五"  #中文数字
x.isdecimal()
False
x.isdigit()
False
x.isnumeric()
True

isalnum():只要isalpha() 、isdecimal()、isdigit()、isnumeric()中任意一个返回Ture 其结果就是Ture

isidentifier():判断这个字符串是否是一个合法的Python标识符

"i am a good gay".isidentifier() #标识符不能有空格
False
"i_am_a_good_gay".isidentifier() 
True

使用 keyword模块中的iskeyword函数 实现 判断一个字符串是否是python保留的标识符

import keyword
keyword.iskeyword("if")
True
keyword.iskeyword("py")
False

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值