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(('你','我','他')):     #在元组中的多个元素,只要有一个符合就是Trueprint('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'

python中的方法相关推荐

  1. Python 中strip()方法怎么用?

    Python strip() 方法用于去除字符串开头和结尾处指定的字符(默认为空格或换行符)或字符序列,不会去除字符串中间对应的字符. 相关函数有lstrip()和rstrip() .用法与strip ...

  2. python中new方法详解及_Python中new方法的详解

    new_ 方法是什么? __new__方法其实就是创建对象的方法 new()方法是在类准备将自身实例化时调用. 一个类可以有多个位置参数和多个命名参数,而在实例化开始之后,在调用 init()方法之前 ...

  3. python isalnum函数_探究Python中isalnum()方法的使用

    探究Python中isalnum()方法的使用 isalnum()方法检查判断字符串是否包含字母数字字符. 语法 以下是isalnum()方法的语法: str.isa1num() 参数 NA 返回值 ...

  4. python中file方法

    文章目录 一.python中file方法 总结 一.python中file方法 open() 方法 Python open() 方法用于打开一个文件,并返回文件对象. 在对文件进行处理过程都需要使用到 ...

  5. python expandtabs_详解Python中expandtabs()方法的使用

    详解Python中expandtabs()方法的使用 expandtabs()方法返回制表符,即该字符串的一个副本. '\t'已经使用的空间,可选择使用给定的tabsize(默认8)扩展. 语法 以下 ...

  6. python中replace()方法

    Python中replace() 方法把字符串中的 old(旧字符串) 替换成 new(新字符串),如果指定第三个参数max,则替换不超过 max 次. 用法: str # 某一个字符串 str.re ...

  7. python中eval方法的妙用

    python中eval方法的妙用 python中eval的妙用 python中eval的妙用 对于python中的eval函数,通常就知道是一个计算函数,比如: eval("111" ...

  8. Python中__init__方法有什么作用

    Python中__init__方法有什么作用 当使用类名()的方法去创建对象的时候 python解释器会自动调用__init__方法 因此可以在__init__方法中做一些初始化的设定 在每次创建新对 ...

  9. python方法重载_关于类:如何在Python中使用方法重载?

    我尝试在python中实现方法重载: class A: def stackoverflow(self): print 'first method' def stackoverflow(self, i) ...

最新文章

  1. for循环递减_讲讲关于循环的那些事
  2. python opencv 窗口循环显示时,如果用鼠标拖动窗口会导致程序暂停(卡住)(不知道为啥。。。)
  3. Python中OpenCV2. VS. CV1
  4. 为什么要有 hash 和 history
  5. 分布式6大核心专题_分布式ID
  6. 1-6:学习shell之重定向
  7. Ubuntu下安装Git以及Git帮助手册【转】
  8. 机器人学导论学习笔记No.1-第一章 :概述
  9. 360手机助手电脑版 v2.4.0.1251 官方版
  10. 学习笔记(01):Java小白修炼手册-工欲善其事必先利其器,掌握Java开发工具
  11. 最近在搞TAM TIM
  12. 排列组合(Java随笔)—全排列
  13. 建行u盾单片机可以再次使用吗_Si7021建行U盾19264液晶制作温湿度显示,实物单片机代码开源...
  14. vue-currency-input 金额组件的安装及使用
  15. 中国科学院大学计算机考研信息汇总
  16. 20230103编译ToyBrick的TB-RK3588X的Andorid12的LOG01
  17. 网络规划设计师5天修炼-施游-专题视频课程
  18. 赤兔android手机视频恢复软件,赤兔安卓手机视频恢复软件
  19. 中船嘉年华(上海)邮轮有限公司正式宣布落户上海宝山区;“乐高(R)奇妙花园探秘之旅”于宋庆龄文化空间启程 | 全球旅报...
  20. Android中颜色设置

热门文章

  1. 凸优化第三章凸函数 3.1基本性质和例子
  2. 上海亚商投顾:沪指缩量反弹 新能源汽车产业链走强
  3. Excel如何将阿拉伯数字转为中文数字
  4. linux mint安装账户,如何安装和配置Linux Mint的
  5. 【硬件】LED灯发光原理总结
  6. HTML5+Downloader文件下载
  7. 【笔记】【WPF编程宝典】 第02章 XAML
  8. 计算机系学生未来憧憬,北京科技大学计算机与通信工程学院-脚踏实地,展望未来——计通学院2018级本科生年级会...
  9. 蓝奏云网盘无法访问解决方法
  10. 蓝桥杯简单题之十六进制转八进制(JAVA版)