一、填充显示:靠左、居中、靠右

1、str.ljust(width , fillchar=None)   将字符串靠左

2、str.center(width , fillchar=None)  将字符串居中

3、str.rjust(width , fillchar=None)  将字符串靠右

注意:width设计显示宽度;fillchar指明填充符号,默认为空格。

1)默认空格填充

s = 'jfweif'ret_left= s.ljust(56)

ret_right= s.rjust(56)

ret_center= s.center(56)print(ret_left)print(ret_center)print(ret_right)

View Code

2)设置fillchar填充

s = 'jfweif'ret_left= s.ljust(56,'*')

ret_right= s.rjust(56,'*')

ret_center= s.center(56,'*')print(ret_left)print(ret_center)print(ret_right)

View Code

4、str.zfill(width)  左侧用0填充,靠右显示

注意:将字符串按width宽度显示,左侧补0,字符串靠右。

View Code

二、删除字符:头、尾

1、str.strip(chars=None)头、尾删除chars中包含的字符

2、str.lstrip(chars=None)  头删除chars中包含的字符

3、str.rstrip(chars=None)  尾删除chars中包含的字符

注意:chars默认为空格,即删除头\尾的空格

s = 'hello world !'

print('str = \'{}\''.format(s))#头尾删除

ret = s.strip('h!')print('str.strip(\' h!\') = \'{}\''.format(ret))#头删除

ret_l = s.lstrip('h!')print('str.lstrip(\' h!\') = \'{}\''.format(ret_l))#尾删除

ret_r = s.rstrip('h!')print('str.rstrip(\' h!\') = \'{}\''.format(ret_r))

View Code

三、str.replace(old , new , count)  替换字符

注意:本功能将字符串中old字符替换成new字符,替换的数量按count确定,默认时全部替换。

View Code

四、字符串分割

1、str.partition(sep)  从左侧开始分割

2、str.rpartition(sep)  从右侧开始分割

注意:本功能将字符串按sep分割成一个3元的元组tuple。结果中,第一位是sep左侧字符,第二位是sep本身,第三位是sep右侧字符。sep不可以省略。

s = 'ni n hao'

print(s)

ret= s.partition(' ')print(ret) #结果为:('ni', ' ', 'n hao')

print(type(ret)) #返回结果为tuple

ret1 = s.rpartition(' ')print(ret1) #结果为:('ni n', ' ', 'hao')

View Code

五、字符串切片

1、str.split(sep , maxsplit)从左侧开始切片

2、str.rsplit(sep , maxsplit)  从右侧开始切片

注意:本功能将字符串按sep进行切分成列表,sep默认为空格。maxsplit表示切割的次数,默认为全部切割。

s = 'ni n hao ne!'

print(s)

ret=s.split()print(ret) #结果为:['ni', 'n', 'hao', 'ne!']

print(type(ret)) #返回结果为list

ret1 = s.split('n',1)print(ret1) #结果为:['', 'i n hao ne!']

ret1 = s.rsplit('n',1)print(ret1) #结果为:['ni n hao ', 'e!']

View Code

3、str.splitlines(keepends)  按'\r','\n','\r\n'对字符串切片

注意:自动按'\r','\n','\r\n'将字符串切片成list,keepends可以为True,表示保留切割符,否则默认为删除分隔符。

s = 'ni n\r\n hao\r ne!\nhehe'

print(s)

ret=s.splitlines()print(ret) #结果为:['ni n hao ne!', 'hehe']

print(type(ret)) #返回结果为list

ret =s.splitlines(True)print(ret) #结果为:['ni n hao ne!', 'hehe']

View Code

六、str.endswith(suffix , start=None , end=None )  判断是否以suffix结尾

1、默认判断整个字符串的结尾

s = 'WWWWwwwwwgreg'ret= s.endswith('g')print(ret) #结果为: true

View Code

2、判断设置范围的子串的结尾

s = 'WWWWwwwwwgreg'ret= s.endswith('g',3,8)print(ret) #结果为: false

View Code

注意:返回结果为布尔值。

七、str.startswith(prefix , start=None , end=None )  判断是否以sprefix开头

1、默认判断整个字符串的开头

s = 'jrtwepofk ber'ret= s.startswith('jr')print(ret) #结果为: true

ret1= s.startswith('jrw')print(ret1) #结果为: false

ret2= s.startswith('')print(ret2) #结果为: true

View Code

2、判断设置范围的子串的开头

ret3 = s.startswith('j',4,8)print(ret3) #结果为: false

View Code

注意:结果返回布尔值。

八、str.count ( sub , start=None , end=None )查找子串数量

1、默认查找范围,即整串查找

s = "rjewmoeprjkpeo"

print(s)

ret= s.count('w')print(ret)

View Code

2、设置start和end,在指定范围内查找

s = "rjewmoeprjkpeo"

print(s)

ret= s.count('w',2,9)print(ret)

View Code

九、查找sub的索引值——find

1、str.find(sub ,  start=None , end=None)  从左向右查找

2、str.rfind(sub ,  start=None , end=None)  从右向左查找

注意:当str中,不含有sub时,返回-1;含有sub时,返回sub首字母的索引值。sub可以是一个字符,也可以是一个字符串。可以默认在整个字符串中查找sub,也可以start和end指定范围查找。

s = "fgeo\tkegepkf"

print(s)

ret= s.find("g")print(ret) #result: 1

s= "fg34eo\tkeg44epk34f"

print(s)

ret1= s.find("34",1,4)print(ret1) #result: 2

s= "fgeo\tkegepkf"

print(s)

ret2= s.rfind("g")print(ret2) #result: 7

s= "fg34eo\tkeg44epk34f"

print(s)

ret3= s.rfind("34",1,4)print(ret3) #result: 2

View Code

十、查找sub的索引值——index

1、str.index(sub , start=None , end=None )  从左向右查找

2、str.rindex(sub ,  start=None , end=None)  从右向左查找

注意:str.index() 的使用方法同str.find() ,但没找到sub时,抛出异常,而不是-1。

View Code

十一、str.format(*args , **kwargs)格式化字符串

print('my {} is {}'.format('name','lucy'))#result: my name is lucy

print('my {0} is {1}'.format('name','lucy'))#result: my name is lucy

print('my {1} is {0}'.format('name','lucy'))#result: my lucy is name

print('my {age} is {what}'.format(what=3,age='age'))#result: my age is 3

View Code

注意:格式化时,{}中空白,默认顺序排序;{}指定数字编号,按编号顺序;{}指定键值,按键值指代排序。

十二、str.expandtabs(tabsize=8)  将制表符'\T'转换成tabsize个空格

View Code

十三、str.join(iterable)将iterable按str进行迭代填充,连接成一个新的字符串

注意:当iterable是字符串时,在每个字符间填充str;是列表时,在每个元素间填充str;如果是非迭代值,则无法完成填充连接。str除了可以是字符或者字符串,也可以是空白''、空格' '、'\n'、'\t'等。

s1 = "*"s2= 'hhhhhhhhh' #字符串时,在每个字符间填充

ret =s1.join(s2)print(ret) #print: h*h*h*h*h*h*h*h*h

s1= "*"s2= ['fefe','rhhrt','432d'] #列表时,在每个元素间填充

ret =s1.join(s2)print(ret) #print: fefe * rhhrt * 432d

s1='*'s2= ['word2'] #非可迭代值

ret =s1.join(s2)print(ret) #print: word2

View Code

python中str的功能_PythonStudy_数据类型 str 的功能(一)相关推荐

  1. python3 将列表中元素转化为字典_软件测试学Python(七):Python中的变量和标准数据类型...

    上一篇文章中,凯哥给大家介绍了Python中的常量(字面值). 测试凯哥:软件测试学Python(六):Python中的常量​zhuanlan.zhihu.com 在这篇文章中,凯哥带各位学习测试的知 ...

  2. Python中的非可变型的数据类型(immutable type)

    1 致谢 感谢 Ned Batchelder博士的讲授, 视频链接如下: https://www.youtube.com/watch?v=_AEJHKGk9ns 2 Python中的非可变型的数据类型 ...

  3. [转载] Python中的set(集合)数据类型

    参考链接: Python集合set add函数 Python中的set(集合)数据类型 Python中除了常见的Numbers(数字).String(字符串).List(列表).Tuple(元组).D ...

  4. python中resp.json()与json.loads(str)的区别

    resp=resquests.get(url)print(type(resp)) #<class 'requests.models.Response'> 第一行代码使用requests库发 ...

  5. python中5种简单的数据类型,没有学不会的python--认识简单的数据类型

    没有学不会的python 先提一下肛 相信很多同学都听过数据类型这个词吧?无论是零基础还是有其他编程语言的同学,对这个词都不会陌生.基本上来说,无论什么教程,都是会把这个数据类型提前拿出来讲透,因为这 ...

  6. python中数据类型转换_Python(二).数据类型,数据类型转换

    数据类型 在python中,能够直接处理的的数据类型有以下几种:(这里似乎说法不一样,我这里仅表示自己的观点) (1).数字(Number) (2).字符串(String) (3).布尔值(Bool) ...

  7. python中5种简单的数据类型,Python小白零基础入门 —— 变量及简单的数据类型

    微信公众号:「Python读财」 若有问题或建议,请公众号留言 最近想着出一个Python小白零基础入门系列的文章,但愿能对入门的小伙伴有所帮助,内容会囊括简单的数据类型.列表.字典.循环以及函数的定 ...

  8. python中的字符串是什么数据类型_Python数据类型之字符串

    一:概述 Python中的字符串的一些概念 可以看作是字符的集合,在数据类型里没有单个字符的数据类型,可以用单个字符表示的一个字符串数据类型 字符串是一种不可变的序列类型,单个字符从左到右按照顺序排列 ...

  9. python中标准的六个数据类型详解

    Python3中有六种标准的数据类型 数字(Number) Python 数字数据类型用于存储数值. Python 支持三种不同的数值类型:整型(int).浮点型(float).复数(complex) ...

最新文章

  1. winpcap的环境配置
  2. 全球农企对话国际农民丰收节贸易会·万祥军:拜耳谋定领先
  3. Python生成器的用法,使用生成器灵活的生成斐波那契数列
  4. 30天敏捷结果(15) - 保持一个最佳状态的大脑
  5. 巧妇难为无米之炊 走出软件测试的困境
  6. 前端工程化知识要点回顾思考
  7. metal slug java_推荐一款极速CAJ阅读器:稻壳阅读器
  8. linux双系统安装教程
  9. 基于情感词典进行情感态度分析
  10. 如何开发微信公众号后台
  11. 《内网安全攻防:渗透测试实战指南》读书笔记(三):隐藏通信隧道技术
  12. maxscale mysql 主从_MySQL高可用——MaxScale
  13. Hcse 交换知识点-2
  14. 解决iOS8下ALAssetsLibrary创建相册的bug
  15. 如何恢复已删除的照片
  16. 基于JavaSwing开发麻雀捉小鸡游戏+论文: (大作业/毕业设计)
  17. 学习记录:jmeter添加jp@gc - Hits per Second
  18. buuctf pwn wp(第四波)格式化字符串漏洞系列
  19. python3实现百度翻译
  20. 十二、基于多源数据建成区提取——Landsat数据多光谱、全色数据融合

热门文章

  1. 信息论基础(Part1)
  2. 使用Spark完成基于TF-IDF特征的新闻热点聚类
  3. Notifications
  4. [亲测有效] Cannot find module @babel/compat-data/corejs3-shipped-proposals
  5. 字典的介绍及增删改查、常见操作
  6. mysql获取date日期的的年份
  7. 【电视剧推荐】吴京拍不出的!《不良执念清除师》豆瓣8.8分,颜值好剧
  8. DirectDraw用法
  9. from scipy.misc import toimage 报错 ImportError: cannot import name 'toimage'
  10. 使用echarts加载自定义地图方法_hanCSDN_20201112