1. 字符串的操作

  1. 字符串的连接操作

    符号: +
    格式:str1 + str2
    例如:str1 = 'I Love'
    str2 = 'You!'
    print(str1 + str2)
    >>> 'I Love You!'
    返回值:str
  2. 字符串的复制操作

    符号: *
    格式:str * num
    例如:str = 'abc'
    num = 3
    print(str1 * num)
    >>> 'abcabcabc'
    返回值:str
  3. 字符串的索引操作

    符号: []
    格式:str[index]
    例如:str = 'abcde'
    print(str[2])
    >>> 'c'
    返回值:str
  4. 字符串的切片操作

    符号: [::]
    格式:str[index:index:step]
    例如:str = 'abcdefg'
    print(str[:])
    >>> 'abcdefg'
    #取字符串所有内容,开头的0可以忽略
    print(str[:3])
    >>> 'abc'
    #取出字符串索引0-3的内容(顾头不顾尾,不包含索引3的对象)
    print(str[:5:2])
    >>> 'ace'
    #取出字符串索引0-5的内容,每2个索引取一次
    print(str[3:])
    >>> 'defg'
    #取出字符串索引3开始到结尾的内容
    print(str[-2:])
    >>> 'fg'
    #取出字符串倒数第2开始到结尾的内容
    返回值:str

2. 内置方法

  1. 连接

    格式:x.__add__(y)等同于x+y
    返回值:str
  2. 包含

    格式:x.__contains__(y)
    返回值:bool
  3. 相等

    格式:x.__eq__(y)等同于x==y
    返回值:bool
  4. 大于等于

    格式:x.__ge__(y)等同于x>=y
    返回值:bool
  5. 访问属性方法(文件操作时用)

    格式:x.__getattribute__(self,name)
    返回值:tuple
  6. 获取键值对(字典操作时用)

    格式:x.__getitem__(key)
    返回值:键的值
  7. 大于

    格式:x.__gt__(y)等同于x>y
    返回值:bool
  8. 哈希值

    格式:x.__hash__()
    返回值:哈希值,int类型
  9. 迭代器

    格式:x.__iter__()
    返回值:迭代器
  10. 小于等于

    格式:x.__le__(y)等同于x<=y
    返回值:bool
  11. 长度

    格式:x.__len__()等同于len(x)
    返回值:int类型
  12. 小于

    格式:x.__lt__()
    返回值:布尔类型
  13. 复制

    格式:x.__mul__(y)等同于x*y
    返回值:str

    注::此处的y必须是int类型

  14. 不等于

    格式:x.__ne__(y)等同于x!=y
    返回值:bool
  15. 右->左 复制

    格式:x.__rmul__(y)等同于y*x
    返回值:str

    注:此处的y必须是int类型

3. 常用方法

  1. 首字母大写,后面的小写

    格式:x.capitalize()
    #开头第一个单词首字母大写,后面的所有字符串全部小写
    例如:x = = 'i am A 好 boy'
    print(x.capitalize())
    >>> 'I am a 好 boy'
    返回值:str
  2. 全部字符小写

    格式:x.casefold()
    #字符串中所有单词的所有字母全部小写
    例如:x = = 'i am A 好 boy'
    print(x.casefold())
    >>> 'i am a 好 boy'
    返回值:str
  3. 居中,两边默认以空格填充

    格式:x.center()
    #定义字符串的长度,不足长度时,两边以指定字符串进行填充
    例如:x = 'abc'
    print(x.center(20,'*'))
    >>> '********abc*********'
    返回值:str
  4. 计数(默认全文计数)

    格式:x.count(str,index1,index2)
    #指定开始和结束范围来统计某字符串的个数
    例如:x = 'sffefwsf'
    print(x.count('sf'),0,8)
    >>> 2
    返回值:int类型
  5. 编码

    格式:x.encode()
    #指定字符串的编码格式
    例如:x.encode(encoding='utf-8')#转换为utf-8格式
    返回值:bytes
  6. 以什么为结尾

    格式:x.endswith(str,index1,index2)
    #指定字符串的开始和结束范围,判断所选区域是否是以指定字符串结尾
    例如:x = 'adfd'
    print(x.endswith('fd',2,3))
    >>> True
    返回值:bool
  7. 把\t转换为空格

    格式:x.expandtabs()
    #默认开头到\t为8个字节,不足以空格填充
    例如:x = 'i am\t A\t 好 boy'
    print(x.expandtabs())
    >>> 'i am A 好 boy'
    返回值:str
  8. 查找

    格式:x.find(str,index1,index2)
    #指定开始和结束的范围,查找指定区域内是否由指定的字符串(只返回查找到第一个的索引值)
    例如:x = 'asdfdsfsafsaf'
    print(x.find('df',1,8))
    >>> 2
    返回值:int类型

    注:如果find未查找到,将返回为-1

  9. 格式化

    格式:x.format(*args)
    #字符串的格式化可以有参数,可以无参数,可以是索引值参数,也可以是关键字参数
    1. 无参数
    例如:s1 = 'I {} {} {}'
    print(s1.format('love','you','!'))
    >>> 'I love you !'
    2. 索引参数
    例如:s1 = 'I {0} {1} {0} {1}'
    print(s1.format('love','you'))
    >>> 'I love you love you'
    注:使用索引参数时,只能按顺序,从索引0开始
    3. 关键字参数
    例如:s1 = 'I {m} {n}'
    print(s1.format(m = 'love',n = 'you'))
    >>> 'I love you'
    4. 格式限定符
    填充常和对齐一起使用:
    ^ < > 分别是居中,左对齐和右对齐,后面带宽度
    : 后面带填充的字符,只能是一个字符,默认是空格
    例如:
    无(位置)参数:s1 = 'I love you {}'
    print(s1.format(', very much !'))
    >>> 'I love you , very much !'
    默认居中方法:s1 = 'I love you {:^18}'
    print(s1.format(', very much !'))
    >>> 'I love you , very much ! '
    指定字符居中:s1 = 'I love you {:*^18}'
    print(s1.format(', very much !'))
    >>> 'I love you **, very much !***'
    指定字符左对齐:s1 = 'I love you {:*<18}'
    print(s1.format(', very much !'))
    >>> 'I love you , very much !*****'
    指定字符右对齐:s1 = 'I love you {:*>18}'
    print(s1.format(', very much !'))
    >>> 'I love you *****, very much !'
    5. 精度与类型f
    例如:s1 = '圆周率大概是{}'
    print(s1.format(3.1415926))
    >>> '圆周率大概是3.1415926'
    s1 = '圆周率大概是{:.2f}'
    print(s1.format(3.1415926))
    >>> '圆周率大概是3.14'
    s1 = '圆周率大概是{:.2f}'
    print(s1.format(3.1415926))
    >>> '圆周率大概是3.1416'
    注:精度一般和浮点一起使用,取值时使用四舍五入法
    6. 进制操作
    主要的进制为b、d、o、x,分别是二、十、八、十六进制
    例如:
    十进制:s1 = 'The pen values {} yuan!'
    s1 = 'The pen values {:d} yuan!'
    print(s1.format(17))
    >>> 'The pen values 17 yuan!'
    二进制:s1 = 'The pen values {:b} yuan!'
    print(s1.format(17))
    >>> 'The pen values 10001 yuan!'
    八进制:s1 = 'The pen values {:o} yuan!'
    print(s1.format(17))
    >>> 'The pen values 21 yuan!'
    十六进:s1 = 'The pen values {:x} yuan!'
    print(s1.format(17))
    >>> 'The pen values 11 yuan!'
    7. 金融字符,千分位 即,
    例如:s1 = 'The phone is {}$ !'
    print(s1.format(10000000))
    >>> 'The phone is 10000000$ !'
    s1 = 'The phone is {:,}$ !'
    print(s1.format(10000000))
    >>> 'The phone is 10,000,000$ !'
    返回值:str
  10. 查找

    格式:x.index(str,index1,index2)
    #用法和find一样
    返回值:int

    注::当index未查找到,程序将报错

  11. 非符号字符串

    格式:x.isalnum()
    #字符串中可以有大小写,可以有数字,但不可以有符号
    返回值:bool
  12. 纯字母的字符串

    格式:x.isalpha()
    #字符串中可以有大小写,但不可以有数字和符号
    返回值:bool
  13. 纯数字的字符串

    格式:x.isdecimal()
    #字符串中只可以数字
    返回值:bool
  14. 纯数字的字符串

    格式:x.isdigit()
    #字符串中只可以数字
    返回值:bool
  15. 开头字母的字符串

    格式:x.isidentifier()
    #字符串以字母开头,可以是大小写,后面可以有数字,但数字不能开头
    返回值:bool
  16. 全部小写

    格式:x.islower()
    #字符串全部是小写,也可以有数字,数字可以开头,但不能全数字
    返回值:bool
  17. 包含中文数字

    格式:x.isnumeric()
    #字符串中可以有数字,也可以有中文大小写数字
    返回值:bool
  18. 可打印

    格式:x.isprintable()
    #打印为空,则为假
    返回值:bool
  19. 空格

    格式:x.isspace()
    #字符串中只能是空格
    返回值:bool
  20. 标题

    格式:x.istitle()
    #字符串中每个单词首字母大写
    返回值:bool
  21. 全部大写

    格式:x.isupper()
    #字符串中可以有数字,数字可以开头,但必须有大写字母
    返回值:bool
  22. 拼接

    格式:x.join(str)
    #把字符串以指定字符串进行相连
    例如:x = 'abcde'
    print('_'.join(x))
    >>> 'a_b_c_d_e'
    返回值:str
  23. 左对齐

    格式:x.ljust(str)
    #字符串左对齐,需要指定长度,不足长度时可以用指定字符串进行填充(默认以空格填充),当指定长度小于字符串长度,将会左对齐
    例如:x = 'abcde'
    print(x.ljust(12,'*'))
    >>> 'abcde*******'
    返回值:str
  24. 全部小写

    格式:x.lower()
    #字符串中所有单词,所有字母全部小写
    #与casefold()功能一样 返回值:str
  25. 去除左边空格

    格式:x.lstrip()
    #去除对字符串左边的指定字符串,字符串中间和结尾的指定字符串不做处理,默认去除的是空格
    例如:x = 'aaafdfdfaaadfdsaaa'
    print(x.lstrip('a'))
    >>> 'fdfdfaaadfdsaaa'
    返回值:str
  26. 字符串进行分段

    格式:x.partition(str)
    #把字符串以从左到右第一个指定字符串为元素进行分段,以元组形式展现
    例如:x = 'acbadfsadfsdfsd'
    print(x.partition('sa'))
    >>> ('acbadf', 'sa', 'dfsdfsd')
    返回值:tuple
  27. 字符串替换

    格式:x.replace(old,new,count)
    #把字符串中指定的字符串替换为新字符串,默认全部替换,也可以指定替换次数,如果次数超过存在的个数,将全部替换
    例如:x = 'acbadfsadfsdfsd'
    print(x.replace('df','A',7))
    >>> 'acbaAsaAsAsd'
    返回值:str
  28. 右→左 查找

    格式:x.rfind(str,index1,index2)
    #功能同find()一样
    返回值:int
  29. 右→左 查找

    格式:x.rindex(str,index1,index2)
    #功能同index()一样
    返回值:int
  30. 右对齐

    格式:x.rjust(str)
    #字符串右对齐,需要指定长度,不足长度时可以用指定字符串进行填充(默认以空格填充),当指定长度小于字符串长度,将会右对齐
    例如:x = 'adc'
    print(x.rjust(6,'%'))
    >>> '%%%adc'
    返回值:str
  31. 右→左 字符串分段

    格式:x.rpartition(str)
    #把字符串以从右到左第一个指定字符串进行分段,以元组形式展示
    例如:x = 'abccbacbd'
    print(x.rpartition('cb'))
    >>> ('abccba', 'cb', 'd')
    返回值:tuple
  32. 字符串切片

    格式:x.rsplit(str)
    #把字符串以指定字符串进行切片,并以列表的形式展现
    例如:x = 'abccbacbd'
    print(x.rsplit('cb'))
    >>> ['abc', 'a', 'd']
    返回值:list
  33. 去除右边空格

    格式:x.rstrip(str)
    #去除字符串最右边的指定字符串,左边和中间的指定字符串不做处理,默认去除的是空格
    例如:x = 'aaafdfdfaaadfdsaaa'
    print(x.rstrip('a'))
    >>> 'aaafdfdfaaadfds'
    返回值:str
  34. 切片

    格式:x.split()
    #把字符串以指定字符串进行切片,并以列表的形式展现
    #功能同rsplit()一样
    返回值:list
  35. 换行符分段

    格式:x.splitlines()
    #把字符串以换行符进行切片,并以列表的形式展现
    返回值:list
  36. 以什么为开头

    格式:x.startswith(str,index1,index2)
    #指定字符串的开始和结束范围,判断指定区域是否是以指定字符串开头
    例如:x = 'adafsdaf'
    print(x.startswith('da',1,8))
    >>> True
    返回值:bool
  37. 去除两边空格

    格式:x.strip(str)
    #去除字符串两边的指定字符串,中间的指定字符串不做处理,默认去除的是空格
    例如:x = 'aaadfsaaafdsfaaa'
    print(x.strip())
    >>> 'dfsaaafdsf'
    返回值:str
  38. 大小写互转

    格式:x.swapcase()
    #字符串中所有的字母进行大小写相互转换
    例如:x = 'aBcdE'
    print(x.swapcase())
    >>> 'AbCDe'
    返回值:str
  39. 标题化

    格式:x.title()
    #对字符串中所有单词首字母大写,单词中间的大写全部转换为小写
    例如:x = 'asd faDSdsf sdf'
    print(x.title())
    >>> 'Asd Fadsdsf Sdf'
    返回值:str
  40. 全部变大写

    格式:x.upper()
    #字符串中所有字母全部转换为大写
    例如:x = 'DFdgDdfdg'
    print(x.upper())
    >>> 'DFDGDDFDG'
    返回值:str
  41. 左对齐,零填充

    格式:x.zfill()
    #字符串左对齐,指定字符串长度,不足部分以0填充
    例如:x = 'afd'
    print(x.zfill(5))
    >>> '00afd'
    返回值:str
  42. 映射函数

    x.maketrans(*args)
    #把两个字符串进行一一对应,两个字符串长度必须一致
    格式:str.maketrans(str1,str2)
    bytearray.maketrans(str1,str2)
    bytes.maketrans(str1,str2)
    返回值:dict
  43. 映射函数

    x.translate(*args)
    #把maketrans()得到的映射表应用出来
    格式:x.translate(str.maketrans(str1,str2))
    返回值:str

原文传送门:请点击

python中str常用操作的更多相关文章

  1. Python中的json操作

    Python中的json操作 标签(空格分隔): python 编码 json 字符串前缀问题 字符串前缀可以有r,u r:表示原始(raw)字符串,比如'\n'不会被转义.常用于正则. u:表示un ...

  2. Python中最常用的字符串方法!

    字符串是字符序列.Python中内置的string类代表基于Unicode国际字符集的字符串.除了Python中常见的操作外,字符串还有一些专属于它们的附加方法.下图显示了所有这些可用的方法: Pyt ...

  3. 一句python,一句R︱python中的字符串操作、中文乱码、NaN情况

    一句python,一句R︱python中的字符串操作.中文乱码.NaN情况 先学了R,最近刚刚上手Python,所以想着将python和R结合起来互相对比来更好理解python.最好就是一句pytho ...

  4. javascript中字符串常用操作整理

    javascript中字符串常用操作整理 字符串的操作在js中非常频繁,也非常重要.以往看完书之后都能记得非常清楚,但稍微隔一段时间不用,便会忘得差不多,记性不好是硬伤啊...今天就对字符串的一些常用 ...

  5. Python中的字符串操作总结(Python3.6.1版本)

    Python中的字符串操作(Python3.6.1版本) (1)切片操作: str1="hello world!" str1[1:3] <=> 'el'(左闭右开:即是 ...

  6. python中的常用数据类型

    python中的常用数据类型 以下是个人总结的python中常见的数据类型,话不多说,我们直接步入正题: 数字类型 整型类:int类可以表示任意大小的整数值,在python中没有像JAVA或者C那样的 ...

  7. python中的赋值操作和复制操作

    之前一直写C#,变量之间赋值相当于拷贝,修改拷贝变量不会改变原来的值.但是在python中发现赋值操作本质是和C++中的引用类似,即指向同一块内存空间.下面通过一个例子说明: p=[0,1,2,3,4 ...

  8. python中的赋值操作

    参考:https://www.cnblogs.com/andywenzhi/p/7453374.html?tdsourcetag=s_pcqq_aiomsg(写的蛮好) python中的赋值操作“=” ...

  9. python中的日志操作和发送邮件

    1.python中的日志操作 安装log模块:pip install nnlog 参数:my_log = nnlog.Logger('server_log.log',level='debug',bac ...

随机推荐

  1. Entity Framework Core Code First

    参考地址:https://docs.microsoft.com/zh-cn/ef/core/get-started/aspnetcore/new-db

  2. String s=new String("abc")产生了几个对象?[权威面试版]

    以下总结是我逛论坛 将零零碎碎的知识整理起来,方便自己记忆和阅读,顺便分享出来给大家学习. 若 String s=new String("abc"); 为第一句代码 则会产生两个对 ...

  3. Java 持久化之 --io流与序列化操作

    1)File类操作文件的属性 1.File类的常用方法 1. 文件的绝对完整路径:getAbsolutePath() 文件名:getName() 文件相对路径:getPath() 文件的上一级目录:g ...

  4. linux下查看mysql日志文件的方法

    查看mysql日志方法: mysql默认不允许我们查看日志.需要更改一些设置 1 vi 更改配置文件 允许用户查看日志文件 sudo vi /etc/mysql/mysql.conf.d/mysqld ...

  5. python JavaScript

    JavaScript 一. JavaScript Javascript 在开发中绝大多数情况是基于对象的.也是面向对象的. a. JavaScript的引入方式 1 2 3 4 5 6 7 #直接编写 ...

  6. Django REST framework+Vue 打造生鲜超市(五)

    六.商品类别数据展示 6.1. 商品类别数据接口 (1)商品分类有两个接口: 一种是全部分类:一级二级三级 一种是某一类的分类以及商品详细信息: 开始写商品分类的接口 (2)序列化 给分类添加三级分类 ...

  7. UI前端开发都是做什么的以及html、css、php、js等究竟是神马关系

    第一个问题: 1.UI,是视觉方面的呈现.一个网页首先由UI完成整体设计,然后把每一个模块切图,例如组件.logo.版块等.常用工具:PS,AI,DW. 2.前端,是将UI的设计代码化,因为计算机无法 ...

  8. ECSHOP模板 蘑菇街2018广告楼层设置说明

    楼层广告以及说明 图1 ------------------ 设置,通过,后台,模板设置,分类下的商品,选用需要显示的商品分类 图2------------------ 后台,编辑商品分类的广告链接. ...

  9. CSS3中不常用但很有用的属性-1

    内容来源于W3Cschool和<图解CSS3核心技术与案例实战> 1.:target选择器 URL 带有后面跟有锚名称 #,指向文档内某个具体的元素.这个被链接的元素就是目标元素(targ ...

  10. Unity中的基础光照

    渲染包含了两大部分:决定一个像素的可见性,决定这个像素上的光照计算. 光照模型就是用于决定在一个像素上进行怎样的光照计算. 一.光源 在实时渲染中我们通常把光源当做一个没有体积的点. 1.1 辐照度 ...