python的一些常用函数

1.大小写转换
lower()–全部变为小写,upper()–全部变成大写

 >>> print('ab XY'.lower())  
       ab xy  
 >>> print('ab XY'.upper())  
       AB XY
  

title() --每个单词首字母为大写,其余小写,capitalize()–整个字符串的首字母为大写,其余小写

  >>> print('ab XY'.title())  
         Ab Xy  
  >>> print('abc DE'.capitalize())  
          Abc de
  

swapcase()–对字符串做大小写转换,大变小,小变大

>>> print('abc XYZ'.swapcase())    
       ABC xyz

2.isxxx
isdigit()–判断是否全是数字,isalpha()–判断是否全是字母,isalnum()–判断是否是数字或字母

>>> print('34'.isdigit())    
       True  
>>> print('a34'.isalnum())    
       True
is

lower()–判断是否全小写,isupper()–判断是否全大写

>>> print('a34'.islower())    
       True  
>>> print('AB'.isupper())   
       True

istitle()–判断是否每个单词的首字母大写

>>> print('Aa_Bc'.istitle())   
        True  
>>> print('Aa bc'.istitle())    
        False

isspace()–判断字符串是否为空白(空格、制表符、换行符等)

>>> print(' '.isspace())  
    True  
>>> print(' \t'.isspace())   
    True  
>>> print('\n'.isspace())  
    True

3.填充
center(填充后的宽度,填充物【默认空格】)–将字符串居中,左右用填充物填充,使字符串长度为设定长度

>>> print('ab'.center(4,'_'))  
    _ab_  
>>> print('ab'.center(4))  
    ab 

ljust(填充后的宽度,填充物【默认空格】)–填充在字符串的右边rjust(填充后的宽度,填充物【默认空格】)–填充在字符串的左边

>>> print('xyz'.ljust(5,'_'))  
xyz__ 
>>> print('xyz'.rjust(5,'_'))  
__xyz

zfill(填充后的宽度)–用0填充在字符串的左边。若字符串前面有+或-,0填充在这个后面。

 >>> print('abc'.zfill(5))  
 00abc   
 >>> print('-abc'.zfill(5))  
 -0abc   
 >>> print('+abc'.zfill(5))  
 +0abc       

以上,若宽度小于字符串本身的长度,直接返回原字符串
4.子串搜索
count(需查找的子串,开始,结束)–返回出现的次数,指定从哪里开始哪里结束。索引从0开始算,不含end边界

# 次数1,因为不包括end,所以查找的范围为'yabxyx'  
>>> print('xyabxyxy'.count('xy',1,7))  
1

endswith(子串,开始,结束)–检查是否以该子串结尾,可指定搜索边界。

# False,因为搜索范围为'abcxy'   
>>> print('abcxyz'.endswith('xyz',0,5))   
False

startswith(子串,开始,结束)–检查是否以该子串开头,可指定搜索边界。该子串可以是一个元组tuple,只要其中任意一个元素满足条件,就返回true.
find(子串,开始位置,结束位置)–搜索是否包含子串,包含的返回索引位置,否则返回‘-1’
rfind(子串,开始位置,结束位置)–返回搜索到最右面子串的位置,如果只有一个或没有,就和find相同

>>> print('xyzabcabc'.find('bc'))   
4   
>>> print('xyzabcabc'.rfind('bc'))   
7

index(子串,开始位置,结束位置)–搜索是否包含子串,包含的返回索引位置,否则抛出ValueError错误
rindex(子串,开始位置,结束位置)–返回搜索到最右面子串的位置,如果只有一个或没有,就和index相同

>>> print('xyzabcabc'.rindex('bcd'))   
Traceback (most recent call last):   
File "<stdin>", line 1, in <module>   
ValueError: substring not found

使用in操作符来判断字符串S是否包含子串sub,它返回的不是索引位置,而是布尔值。

>>> 'xy' in 'abxycd'
True
>>> 'xyz' in 'abxycd'
False

5.替换
replace(old,new,count)–将old替换为new,若给定count,则表示只替换前count个old子串。搜索不到old,直接返回原字符串 。

>>> print('abcxyzoxy'.replace('xy','XY'))  
abcXYzoXY  
>>> print('abcxyzoxy'.replace('xy','XY',1))  
abcXYzoxy  
>>> print('abcxyzoxy'.replace('mn','XY',1))  
abcxyzoxy 

6.分割
partition(子串)、rpartition(子串)–搜索子串,并从该子串处对整个字符串进行分割最后返回一个三元素的元组。
partition()从左边第一个子串分割,rpartition()从右边第一个子串分割# 搜索到多个sep时,分别从左第一个、右第一个sep分割。

>>> print('abcxyzxyopq'.partition('xy'))
('abc', 'xy', 'zxyopq')
>>> print('abcxyzxyopq'.rpartition('xy'))
('abcxyz', 'xy', 'opq') 

# 搜索不到sep
>>> print('abcxyzxyopq'.partition('xyc'))
('abcxyzxyopq', '', '')
>>> print('abcxyzxyopq'.rpartition('xyc'))
('', '', 'abcxyzxyopq') 

7.join
(iterable)–将可迭代对象(iterable)中的字符串使用S连接起来。
注意,iterable中必须全部是字符串类型,不能包含数字或其他类型例如:字符串

>>> L='python'
>>> '_'.join(L)'
p_y_t_h_o_n' 

元组

>>> L1=('1','2','3')
>>>> '_'.join(L1)
'1_2_3'

集合。注意,集合无序。

>>> L2={'p','y','t','h','o','n'}
>>> '_'.join(L2)
'n_o_p_h_y_t'

列表

>>> L2=['py','th','o','n']
>>> '_'.join(L2)
'py_th_o_n'

字典

>>>L3={'name':"malongshuai",'gender':'male','from':'China','age':18}>>> '_'.join(L3)
'name_gender_from_age'  #(将key连接起来) 

iterable参与迭代的部分必须是字符串类型,不能包含数字或其他类型。

>>> L1=(1,2,3)
>>> '_'.join(L1)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: sequence item 0: expected str instance, int found 

以下两种也不能join。

>>> L1=('ab',2)
>>> L2=('AB',{'a','cd'}) 

8.修剪:strip、lstrip、rstrip
strip([chars])–移除左右两边的字符char
lstrip([chars])–移除左边的字符char
rstrip([chars])–移除右边的字符char
若不指定chars或指定为none,则默认移除空白(空格,制表符,换行符),唯一需要注意的是,chars可以是多个字符序列。在移除时,只要是这个序列中的字符,都会被移除。
例如:
1.移除单个字符或空白。

>>> '  spacious  '.lstrip()
'spacious  '
>>> '  spacious  '.rstrip()
'  spacious' 
>>> 'spacious  '.lstrip('s')
'pacious  ' 
>>> 'spacious'.rstrip('s')
'spaciou'

2.移除字符中的字符。

>>> print('www.example.com'.lstrip('cmowz.'))
example.com
>>> print('wwwz.example.com'.lstrip('cmowz.'))
example.com
>>>print('wwaw.example.com'.lstrip('cmowz.'))
aw.example.com
>>> print('www.example.com'.strip('cmowz.'))
'example'

由于www.example.com的前4个字符都是字符序列cmowz.中的字符,所以都被移除,而第五个字符e不在字符序列中,所以修剪到此结束。同理wwaw.example.com中第3个字符a不在字符序列中,所以修剪到此结束。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值