1.字母大小写相关(中文无效)

  1.1 S.upper() -> string

    返回一个字母全部大写的副本

  1.2 S.lower() -> string

    返回一个字母全是小写的副本

  1.3 S.swapcase() -> string

    返回一个字母大小写转换后的副本

  1.4 S.title() -> string

    将单词的首字母大写,即为所谓的标题

    方框里是中文的编码,可以发现 s 还是大写了,说明会无视其他类型的字符,找到英文单词就将其首字母大写

  1.6 S.capitalize() -> string

    将字符串的首字母大写,要注意不是所有单词,注意和上面的区别

    而且当字符串的首字符不是字母的时候是无效的

  1.5 S.isupper() -> bool

    判断字符串内的字母是否全是大写,字符串中必须要有字母,返回布尔值

    和其他字符混合时情况如下

    会无视其他字符,只对字母进行判断

  1.6 S.islower() -> bool

    判断字符串内的字母是否全是小写,字符串中必须要有字母,返回布尔值

    和大写判断是相对应的,这里不继续举例了。

  1.7 S.istitle() -> bool

    判断字符串是否符合标题格式,返回布尔值,关于python字符串中何为标题上面也是详细介绍了,这里不多说。


2.字符串组成字符判断

  字符串内的字符除了是英文字母之外,还可以有其他字符,有一些方法可以对字符串的组成字符进行判断

  2.1 S.isalpha() -> bool

    判断字符串是否全是由字母组成,返回布尔值

    

    只有是全字母才行,有数字和中文等都不行

  2.2 S.isdigit() -> bool

    判断字符串是否全是由数字组成,返回布尔值

    和上面类似,不多说明

  2.3  S.isalnum() -> bool

    判断字符串是否全是由字母和数字组成,返回布尔值

    是上面两种判断的合并

  2.4  S.isspace() -> bool

    判断字符串是否都是由空字符组成,返回布尔值

  

    空字符不意味着字符串为空,如空格,\n 等特殊字符都算是空字符


3.字符串是否是以某特定字符开头或结尾的判断

  3.1  S.startswith(prefix[, start[, end]]) -> bool

    判断是否是以某特定字符开头,返回布尔值

    默认是从第一个字符开始,也就是索引值为0开始,可以用索引来指定对某个范围的字符进行判断

  3.2 S.endswith(suffix[, start[, end]]) -> bool

    判断是否是以某特定字符结尾,返回布尔值

    和上面类似,不多解释


关于字符串中带判断的就是这么多,下面总结一下究竟可以判断什么:

  1.字符串里的字母是否全是小写或大写

  2.字符串是否符合标题格式的判断

  3.字符串的组成是否是全字母,全数字,或全是字母和数字,或者全是空字符

  4.字符串是否是以给定的字符开头或结尾


4.在字符串内寻找给定字符

  4.1 S.find(sub [,start [,end]]) -> int

    在原字符串内寻找给定的字符,找到了的第一个,返回其索引值,没找到返回-1

  注意是从左向右寻找,找到的第一个,像这里的 o ,在原字符串有多个,但只返回了第一个的索引值,另外当给的字符不只一个时,按给的字符串的第一个字符作为基准点,如这里的 co 返回的就是 c 的索引值。当然可以指定范围,但指定范围其并不意味会重新计算索引值,得到的依然是相对于整个字符串的索引。

  4.2 S.rfind(sub [,start [,end]]) -> int

    与上面的相同,只不过是从右往左寻找。

  4.3  S.index(sub [,start [,end]]) -> int

    和 find() 方法基本一样,只不过 find() 找不到时返回的是-1,而 index() 找不到是会报错。

  4.4 S.rindex(sub [,start [,end]]) -> int

    同理,这个是从右往左找


5.字符串出现的计数

  和寻找类似,不过上面介绍的寻找的方法都只是找到第一个,如果我想知道某个特定的字符串在原字符中出现了多少次的时候怎么办,就可以使用计数了。

  5.1 S.count(sub[, start[, end]]) -> int

  

    这个方法会找到范围内所有指定的子字符串,返回其出现的次数,没找到的话则返回0


6.字符的替换

  注意,虽然说是替换,但原字符串是不可变的,我在上篇也说过,字符串的所有方法都没有改变原字符串本身,都是返回了一个新的对象。

  所谓的替换,只是针对于返回对象的效果而已。

  5.1 S.replace(old, new[, count]) -> string

  

  

  可以看出原字符串本身是不变的,只是返回了一个新对象,这个对象在内存之中,如果后面要有利用这个新对象的话,可以将其赋值给变量,当然也可以当做函数的参数直接传参,但传参的时候要注意数据类型。

  其中,count 指定要替换的次数,不指定则全部替换


7.字符串中的对齐和填充等

  这里的操作类似于在world中编辑文字,所以可以联想理解。

  7.1 S.ljust(width[, fillchar]) -> string

    左对齐

     首先要体现对齐的效果要有一个前提,那就是那一行不能是满的,否则无论怎么对齐也没有用,而在python中,一个字符串对象默认就是占满一行的,其行宽就是字符串是长度。

     但是,当我强制声明这一行的宽度是多少,而这个宽度(width)大于原字符串的长度(小于无效,但不会报错),此时对齐就有效果了。

    

     为了体现效果我将光标放上去了,否则都是空格看不出来。

    我们将一行的宽度设置为15,而原字符串我用 len()内置函数得出其长度,可以知道原字符串长度为11。当我指定一行长为15,并设置左对齐,右边的多出来的位置就默认用空格填充了,当然我们也可以指定用什么填充(fillchar),但只能是字符串类型。

    注意,只能用一个字符,且不能用中文。

  7.2  S.rjust(width[, fillchar]) -> string

    右对齐,原理同上

  7.3  S.center(width[, fillchar]) -> string

    居中对齐,原理也一样,但是这里指定的宽度是两边的和,且多出来的位置无法平均分配到两边的话会优先给右边

    设置为15时,多出来的位置是15-11=4,可以平均分到两边去,每边都是4/2=2个位置,但设置为16时,16-11=5,5个位置无法平均分配,此时优先给右边多一个。

  7.4 S.zfill(width) -> string

    快捷的填充方式,只不过只能是右对齐,且填充的内容为 0

  7.5 S.strip([chars]) -> string or unicode

    除了填充外,我们还可以反填充,这个方法是去掉格式类似于填充后的字符串内的填充内容的。

    但是,这并不意味着我们要使用了对齐填充方法以后才能用,只有格式符合就可以。

    默认是去除两边的空格,不过要注意,中间的空格是不去除的

    当然,我们还可以指定去除的字符

    只要填充内容是一样的,指定填充字符的时候用几个都无所谓,就算超过原字符串中的填充字符也可以。

  7.6 S.lstrip([chars]) -> string or unicode

    和上面的类似,不过这个只去除左边的填充内容

  7.7 S.rstrip([chars]) -> string or unicode

    同类,只去除右边的


8.字符串的分隔

  字符串的分隔是用过给定的标记进行分隔后,返回一个由被分隔后的字符串组成的新对象,就像切菜一样,画好标记,手起刀落,菜就分成了几段了。

  8.1 S.split([sep [,maxsplit]]) -> list of strings

  方法返回的是一个列表对象,seq就是给定的字符串,maxsplit 表示分隔的最大次数,默认只要出现给定的分隔字符串都会进行分隔。

  其中有一些很奇怪的行为特性,当两个分隔字符相邻时,列表的对应位置会出空字符串元素,最大次数为0时不分隔,分隔字符在字符串的最后时也会出现空字符串。

  另外,分隔是从左向右的,是全部分隔,方向倒是不重要,结果是一样的,但如果指定了最大次数,那就有意义了,因为分隔次数的计算是从左向右的。

  8.2 S.rsplit([sep [,maxsplit]]) -> list of strings

  同上,只不过分隔方向是从右向左

  8.3 S.splitlines(keepends=False) -> list of strings

  按照换行符分隔,注意linux中的换行符为 \n ,windows中的换行符为 \r \n

  上面的分隔方式都要一个特点,那就是指定的分隔字符是不会出现到分隔后的结果中的

  8.4  S.partition(sep) -> (head, sep, tail)

  和上面的分隔方法相比,这种分隔方法返回的是一个元祖对象,且分隔次数只有一次,另外被按照('分隔字符之前','指定的分隔字符','分隔字符之后')排序

  另外,也是找到的第一个,是从左向右找的。

  8.5 S.rpartition(sep) -> (head, sep, tail)

  同上,不过是从右往左找。


9.特殊字符转义

  9.1 S.expandtabs([tabsize]) -> string

   将制表符(\r )换成空格,默认一个制表符转换8个空格,可以用 tabsize 指定转换空格的个数


10.字符串编码

  10.1 S.decode([encoding[,errors]]) -> object

  解码

  10.2 S.encode([encoding[,errors]]) -> object

  编码

  编解码问题会在文件操作中细讲


11.字符串拼接

  11.1 S.join(iterable) -> string

  前面的博文详细讲过,这里不再重复


12.字符串格式化

  12.1 % 运算符

  前面的博文详细讲过,这里不再重复

  12.2  S.format(*args, **kwargs) -> string

  % 格式化的升级版,一般% 就够用了,所以我也没怎么了解过,这里就不乱说了。


13.字符串过滤

  13.1 S.translate(table [,deletechars]) -> string

  根据参数table给出的表(翻译表,翻译表是通过maketrans方法转换而来)转换字符串的字符, 要过滤掉的字符放到 del 参数中。

python字符串-内置方法用法分析的更多相关文章

  1. 7.python字符串-内置方法分析

    上篇对python中的字符串内置方法进行了列举和简单说明,但这些方法太多,逐一背下效率实在太低,下面我来对这些方法按照其功能进行总结: 1.字母大小写相关(中文无效) 1.1 S.upper() -& ...

  2. 6.python字符串-内置方法列举

    所谓内置方法,就是凡是字符串都能用的方法,这个方法在创建字符串的类中,下面是总结: 首先,我们要学习一个获取帮助的内置函数 help(对象) ,对象可以是一个我们创建出来的,也可以是创建对象的那个类, ...

  3. python字符串-内置方法列举

    所谓内置方法,就是凡是字符串都能用的方法,这个方法在创建字符串的类中,下面是总结: 首先,我们要学习一个获取帮助的内置函数 help(对象) ,对象可以是一个我们创建出来的,也可以是创建对象的那个类, ...

  4. python字符串内置方法

    网上已经有很多,自己操作一遍,加深印象. dir dir会返回一个内置方法与属性列表,用字符串'a,b,cdefg'测试一下 dir('a,b,cdefg') 得到一个列表 ['__add__', ' ...

  5. python 字符串内置方法实例

    一.字符串方法总结: 1.查找: find(rfind).index(rindex).count 2.变换: capitalize.expandtabs.swapcase.title.lower.up ...

  6. Python字符串内置方法使用及年龄游戏深入探究

    目录 作业 ==程序代码自上往下运行,建议自上而下的完成下列任务== 作业 使用代码实现以下业务逻辑: 写代码,有如下变量name = " aleX",请按照要求实现每个功能: 移 ...

  7. Python 字符串内置方法笔记

    一. 大小写转换 ① capitalize() capitalize() #字符串首字母大写 >>> str0 = 'hello World' >>> str0.c ...

  8. python数据类型内置方法 字符串和列表

    1.字符串 内置方法操作# a = 'qqssf'#1. print(a[-1:]) #按索引取,正向从0开始,反向从-1开始# print(len(a)) #取长度# a = 'qqssf'# 2. ...

  9. python 字典内置方法get应用

    python字典内置方法get应用,如果我们需要获取字典值的话,我们有两种方法,一个是通过dict['key'],另外一个就是dict.get()方法. 今天给大家分享的就是字典的get()方法. 这 ...

随机推荐

  1. 开源小工具 酷狗、网易音乐缓存文件转mp3工具

    发布一个开源小工具,支持将酷狗和网易云音乐的缓存文件转码为MP3文件. 以前写过kgtemp文件转mp3工具,正好当前又有网易云音乐缓存文件需求,因此就在原来小工具的基础上做了一点修改,增加了对网易云 ...

  2. drbd(三):drbd的状态说明

    本文目录:1.drbd配置文件2.状态 2.1 连接状态(connect state,cs)和复制状态 2.2 角色状态(roles,ro) 2.3 磁盘状态(disk state,ds) 2.4 I ...

  3. git常用命令速查

    创建 $ git init  #在当前目录下创建一个空的本地仓库 $ rm -rf  .git  #删除本地仓库 $ git add .  #把当前目录下的所有文件添加到暂存区 $ git commi ...

  4. 记录python接口自动化测试--主函数(第六目)

    把操作excel的方法封装好后,就可以用准备好的接口用例来循环遍历了 我的接口测试用例如下 主函数代码: run_handle_excel.py# coding:utf-8 from base.run ...

  5. Welcome to StackEdit!

    Welcome to StackEdit! Hey!our first Markdown document in StackEdit1. Don't delete me, I'm very helpf ...

  6. 微信小程序测试总结

    概述 由于项目中,微信前端和后端对接出现错误.所以Alpha测试分为微信小程序前端,管理员web测试. 测试工具选择 微信小程序的前端使用微信小程序开发工具测试. 管理员web使用web测试. 测试工 ...

  7. PHP、Java、Python、C、C++ 这几种编程语言都各有什么特点或优点

    PHP.Java.Python.C.C++ 这几种编程语言都各有什么特点或优点 汇编: C: Java: C#: PHP: Python: Go: Haskell: Lisp: C++: &l ...

  8. V7000数据恢复(存储文件系统损坏)案例_北亚数据恢复

    我们今天介绍的数据恢复案例是一起 v7000存储文件系统损坏导致的数据丢失,首先简单介绍一下设备基本情况:发生文件系统损坏的是一台挂载在Windows2003服务器上的v7000存储,划分了一个容量为 ...

  9. Java面试题合集(二)

    接下来几篇文章准备系统整理一下有关Java的面试题,分为基础篇,javaweb篇,框架篇,数据库篇,多线程篇,并发篇,算法篇等等,陆续更新中.其他方面如前端后端等等的面试题也在整理中,都会有的. 注: ...

  10. Ajax 的onreadystatechange事件注意事项.

    <script type="text/javascript"> function createXHR() { var request = false; try { re ...