python中的方法

方法

大小写转换

capitalize():返回第一个字符转化为大写,其他为小写的字符串。
casefold():返回所有字符为小写的字符串。
title():每个单词的首字母大写,其余小写。
swapcase():将所有字母反转,大写变下写,小写变大写。
upper():将所有的字母变为大写。
lower():将所有字母变为小写。

>>> x = 'i love FishC'
>>> x.capitalize()
'I love fishc'
>>> x.casefold()
'i love fishc'
>>> x.title()
'I Love Fishc'
>>> x.swapcase()
'I LOVE fISHc'
>>> x.upper()
'I LOVE FISHC'
>>> x.lower()
'i love fishc'

对齐

center():居中对齐。
ljust():左对齐。
rjust():右对齐。
zfill():用0填充左侧。

>>> x = '有内鬼,停止交易!'
>>> x.center(15)                #15为空格加字符的总字符数,若参数<len(x),则原样输出
'   有内鬼,停止交易!   '
>>> x.ljust(15)
'有内鬼,停止交易!      '
>>> x.rjust(15)
'      有内鬼,停止交易!'
>>> x.zfill(15)
'000000有内鬼,停止交易!'
>>> '520'.zfill(5)
'00520'
>>> '-520'.zfill(5)
'-0520'
#fillchar参数可修改填充的字符不为空格
>>> x.center(15,'淦')
'淦淦淦有内鬼,停止交易!淦淦淦'
>>> x.ljust(15,'淦')
'有内鬼,停止交易!淦淦淦淦淦淦'
>>> x.rjust(15,'淦')
'淦淦淦淦淦淦有内鬼,停止交易!'

查找

count():查找某一元素的出现次数。
find():从左往右查找下标。
rfind():从右往左查找下标。
index():从左往右查找下标。(index和rindex如果找不到目标字符会抛出异常)

>>> x = '上海自来水来自海上'
>>> x.count('海')
2
>>> x.count('海',0,5)
1
>>> x.find('海')
1
>>> x.rfind('海')
7
>>> x.index('海')
1
>>> x.rindex('海')
7
#find和rfind如果找不到目标字符会返回-1
>>> x.rfind('龟')
-1
>>> x.find('龟')
-1
#index和rindex如果找不到目标字符会抛出异常
>>> x.index('龟')
Traceback (most recent call last):
  File "<pyshell#92>", line 1, in <module>
    x.index('龟')
ValueError: substring not found

替换

expandtabs():把Tab制表符的缩进都替换成空格缩进。
replace(old,new,count = -1):将老字符串替换为新字符串,count是替换的次数,默认-1即全部替换。
translate(table):根据table表格的内容做出替换。

>>> code = '''
		print('I love FidhC')
    print('I love fyy')'''            #4个空格的缩进
>>> new_code = code.expandtabs(4)     #参数4表示一个Tab制表符为4个空格
>>> print(new_code)

    print('I love FidhC')
    print('I love fyy')
>>> '你们好,先生们和女士们。'.replace('你们','大家')
'大家好,先生们和女士们。'
#利用str.maketrans()方法制作一个转换表作为替换的依据
>>> table = str.maketrans('ABCDEFG','1234567')
>>> 'I love FishC'.translate(table)
'I love 6ish3'
#也可以直接利用str.maketrans()方法
>>> 'I love FishC'.translate(str.maketrans('ABCDEFG','1234567'))
'I love 6ish3'
#str.maketrans()的第三个参数表示将指定的字符串忽略
>>> 'I love FishC'.translate(str.maketrans('ABCDEFG','1234567','love'))
'I  6ish3'

判断

startswith():判断参数字符是否在起始位置。
endswith():判断参数字符是否在末尾位置。

>>> x = '我爱python'
>>> x.startswith('我')
True
>>> x.endswith('python')
True
>>> x.endswith('py')
False
>>> x.endswith('n')
True
>>> x.startswith('爱',1)             #‘爱’字符在下标为1的位置,返回True
True
>>> x.startswith('我',1)             #‘我’字符不在下标为1的位置,返回False
False
>>> x.endswith('py',0,4)            #‘py’字符在(0,4)范围的末尾,返回True
True
>>> if x.startswith(('你','我','他')):     #在元组中的多个元素,只要有一个符合就是True
	print('python是世界上最好的语言')

	
python是世界上最好的语言

istitle():判断字符串中所有单词是否都首字母大写。
isupper():判断字符串中是否所有的字母都大写。
islower():判断字符串中是否所有的字母都小写。

>>> x = 'I love Python'
>>> x.istitle()
False
>>> x.isupper()
False
>>> x.upper().isupper()
True
>>> x.islower()
False

isalpha():判断字符串是否全都由字母组成。
isspace():判断字符串是否全都由空白字符组成。
isprintable():判断字符串中是否所有字符都是可以打印的。

>>> x.isalpha()
False                   #x中含有空格字符,所以返回False
>>> y = 'ilovepython'
>>> y.isalpha()
True
>>> "	  \n".isspace()       #Tab、空格和换行都属于空白字符
True

isdecimal():判断数字是否为十进制
isdigit():判断数字是否为十进制
isnumeric():判断数字是否为十进制

>>> x = "12345"
>>> x.isdecimal()
True
>>> x.isnumeric()
True
>>> x.isdigit()
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()中只要有一个True就返回True。

>>> "abcde".isalnum()
True
>>> "一二三".isalnum()
True

isidentifier():判断字符串是否为一个合法的python标识符。

>>> "2ac".isidentifier()
False
>>> "I love python".isidentifier()
False
>>> "I_love_python".isidentifier()
True

keyword模块的函数iskeyword():判断字符串是否为python保留标识符(即关键字)。

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

截取

lstrip(chars = None):截掉左侧所匹配的字符。
rstrip(chars = None):截掉右侧所匹配的字符。
strip(chars = None):截掉左右两边所匹配的字符。
ps:按顺序截取到没有所匹配的字符时,会停止截取。

>>> "    左侧不要留白".lstrip()
'左侧不要留白'
>>> "右侧不要留白   ".rstrip()
'右侧不要留白'
>>> "   左右不要留白   ".strip()
'左右不要留白'
>>> "www.baidu.com".lstrip("wcom.")
'baidu.com'
>>> "www.baidu.com".rstrip("wcom.")
'www.baidu'
>>> "www.baidu.com".strip("wcom.")
'baidu'

以下两个方法要用3.9版本的python。
removeprefix(prefix):删除指定的前缀。
removesuffix(suffix):删除指定的后缀。
ps:匹配参数指定的整个字符串。

>>> "www.baidu.com".removeprefix("www.")
'baidu.com'
>>> "www.baidu.com".removesuffix(".com")
'www.baidu'

拆分与拼接

将字符串以参数指定的分割符为依据进行切割,并将切割后的结果返回一个三元组(三个元素的元组)。
partition():从左至右寻找分割符。
rpartition():从右至左寻找分割符。

>>> "www.baidu.com".partition(".")
('www', '.', 'baidu.com')
>>> "www.baidu.com/python".rpartition("/")
('www.baidu.com', '/', 'python')

split(sep = None,maxsplit = -1):默认空格为切割点,打包成列表返回。
rsplit(sep = None,maxsplit = -1):从右至左依次分割。
maxsplit:指定分割的次数。
splitlines():按行分割,以列表形式返回。

>>> "苟日新,日日新,又日新".split()
['苟日新,日日新,又日新']
>>> "苟日新 日日新 又日新".split()
['苟日新', '日日新', '又日新']
>>> "苟日新,日日新,又日新".split(",")        #指定中文逗号为分割符
['苟日新', '日日新', '又日新']
>>> "苟日新,日日新,又日新".split(",",1)       #设定分割次数为1
['苟日新', '日日新,又日新']
>>> "苟日新,日日新,又日新".rsplit(",",1)      #从右往左分割一次
['苟日新,日日新', '又日新']
>>> "苟日新\n日日新\n又日新".splitlines()       #在linux中换行为\n
['苟日新', '日日新', '又日新']
>>> "苟日新\r日日新\r又日新".splitlines()       #在Mac中换行为\r
['苟日新', '日日新', '又日新']
>>> "苟日新\r日日新\r\n又日新".splitlines()     #\n\r混合使用也可
['苟日新', '日日新', '又日新']
>>> "苟日新\r日日新\r\n又日新".splitlines(True)       #参数为True,返回值显示换行符
['苟日新\r', '日日新\r\n', '又日新']                  #默认情况下,参数还是False

join():拼接字符。
join的拼接速度远远大于"+",字符越多,"+"越慢。

>>> ".".join(["www","baidu","com"])
'www.baidu.com'
>>> "^".join(("www","baidu","com"))     #也可以使用元组
'www^baidu^com'
>>> s = "FishC"
>>> s += s                          #用+来拼接显得很小白,建议用join()方法
>>> s
'FishCFishC'
>>> "".join(("FishC","FishC"))      #用join()方法显得很大神
'FishCFishC'
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

帅超超i

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值