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. 17-TypeScript代理模式

    在有些情况下,我们需要把客户端真正调用的类和方法隐藏起来,而通过暴露代理类给客户端.客户端调用代理类的方式就可以访问到真实类提供的功能. abstract class Called{ protecte ...

  2. 【编程开发】PHP---面向对象

    面向对象编程 类:在现实世界中,任何事物都有种类的概念:车 类是由特征和行为构成的. 特征:都是不动的,从出厂的时候就已经内置好了(属性) 行为:一种动的状态.(方法(函数)) 行为依赖于这些特征,而 ...

  3. php函数var_dump() 、print_r()、echo()

    var_dump() 能打印出类型 print_r() 只能打出值 echo() 是正常输出... 需要精确调试的时候用 var_dump(); 一般查看的时候用 print_r() 另外 , ech ...

  4. Oracle数据库游标精解

    游标 定义:标识结果集中数据行的一种容器(CURSOR),游标允许应用程序对查询语句返回的行结果集中的每一行进行相同或不同的操作,而不是一次对整个结果集进行同一种操作.实际上是一种能从包括多条数据记录 ...

  5. LR之error(一)

    1 录制时频繁卡死的解决方案 添加数据保护 路径:计算机--高级系统设置(环境变量设置的上级窗口)--高级--设置--数据执行保护 更改LR录制设置,将run-time setting的brower改 ...

  6. 关于 Form 表单的 enctype 属性

    enctype 属性一共有3个值 application/x-www-form-urlencoded 在发送前编码所有字符(默认) multipart/form-data 上传二进制数据, 所以在使用 ...

  7. Mybatis和Hibernate本质区别和应用场景

    Hibernate:是一个标准ORM(对象关系映射)框架.入门门槛较高,不需要程序员写sql语句,sql语句自动生成,对sql语句优化.修改比较困难 应用场景:适用于需求变化不多的中小型项目,比如后台 ...

  8. 新概念英语(1-105)Full Of Mistakes

    Lesson 105 Full of mistakes 错误百出 Listen to the tape then answer this question. What was Sandra's pre ...

  9. Linux CentOS7.0 (03)安装验证 docker

    一.安装docker 1.升级 Linux 的软件包和内核 sudo yum update 2.安装 docker (1) sudo yum install docker  (2).验证docker安 ...

  10. shuffle和sort分析

    MapReduce中的Shuffle和Sort分析 MapReduce 是现今一个非常流行的分布式计算框架,它被设计用于并行计算海量数据.第一个提出该技术框架的是Google 公司,而Google 的 ...