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

转载:https://www.cnblogs.com/mlgjb/p/7879813.html

python之字符串的常用操作(转)的更多相关文章

  1. 超详细!盘点Python中字符串的常用操作

    在Python中字符串的表达方式有四种 一对单引号 一对双引号 一对三个单引号 一对三个双引号 a = 'abc' b= "abc" c = '''abc''' d = " ...

  2. python中字符串(str)常用操作总结

    # 字符串的常用操作方法 (都是形成新的字符串,与原字符串没有关系.) 1.字符串的基本操作之切片 s = 'python hello word' # 取首不取尾,取尾要+1 # 切片取出来的字符串与 ...

  3. Python字符串的常用操作学习

    >>> name = "I love my job!" >>> name.capitalize() #首字母大写 'I love my job! ...

  4. 跟着ALEX 学python day2 基础2 模块 数据类型 运算符 列表 元组 字典 字符串的常用操作

    声明 : 文档内容学习于 http://www.cnblogs.com/xiaozhiqi/  模块初始: Python的强大之处在于他有非常丰富和强大的标准库和第三方库,几乎你想实现的任何功能都有相 ...

  5. 字符串的常用操作和方法(Python入门教程)

    字符串的常用操作 很好理解 字符串可以用 ' + ' 连接,或者乘一个常数重复输出字符串 字符串的索引操作 通过一对中括号可以找到字符串中的某个字符 可以通过正负数双向操作噢 用一个中括号来实现 为什 ...

  6. [PY3]——内置数据结构(3)——字符串及其常用操作

    字符串及其常用操作xmind图 字符串的定义 1. 单引号/双引号 In [1]: s1='hello world' In [2]: s1="hello world" 2. 三对单 ...

  7. python基础之列表常用操作及知识点小结

    列表(list) List(列表) 是 Python 中使用最频繁的数据类型.列表可以完成大多数集合类的数据结构实现.它支持字符,数字,字符串甚至可以包含列表(所谓嵌套).列表用[ ]标识,是pyth ...

  8. Python第一天——入门Python(2)字符串的简单操作

    数据的操作 字符串的一些常用操作: 1 1 #!/usr/bin/env python 2 # #coding=utf-8 3 # 4 # test='hello world' 5 # print(t ...

  9. python数据类型:字典dict常用操作

    字典是Python语言中的映射类型,他是以{}括起来,里面的内容是以键值对的形式储存的: Key: 不可变(可哈希)的数据类型.并且键是唯一的,不重复的. Value:任意数据(int,str,boo ...

随机推荐

  1. 采用完成端口(IOCP)实现高性能网络服务器(Windows c++版)

    前言 TCP\IP已成为业界通讯标准.现在越来越多的程序需要联网.网络系统分为服务端和客户端,也就是c\s模式(client \ server).client一般有一个或少数几个连接:server则需 ...

  2. C#效率优化(2)-- 方法内联

    一.JIT编译器可以通过将方法内联展开(Method Inline Expansion)来提升效率,类似C++中的内联函数(Inline Function),与C++的内联函数不同的是,C#并不支持内 ...

  3. SQL 必知必会·笔记<5>创建计算字段

    字段(field) 基本上与列(column)的意思相同,经常互换使用,不过数据库列一 般称为列,而术语字段通常与计算字段一起使用. 拼接(concatenate) 将值联结到一起(将一个值附加到另一 ...

  4. 通过 URL 打开 Activity

    为每个 Activity 绑定一个 url 可以方便的让第三方 app 直接打开这些 Activity.也可以方便在 app 内部进行页面跳转,解耦. 背景 举一个常见的案例,假设我们有个产品 A,产 ...

  5. ZooKeeper概念与应用

    Zookeeper是开源的分布式协调服务,提供了分布式数据一致性的解决方案. Zookeeper 可用作配置中心和分布式锁服务,在 Dubbo.Kafka.Spark等分布式集群上得到广泛应用. ZN ...

  6. url字符长度限制解决办法

    前段时间,同事往系统上传相关文档,发现输入失败,找到了我了. 开始以为数据库字段属性问题,修改后未解决随调试系统,发现没有走到后台程序,发现 ajax没有传值,各种测试问题情况,后来同事发现是url字 ...

  7. linux下使用gcc编译运行C/C++程序

    编译C  首先,程序编译过程有: 1.预处理(展开宏,头文件,检查代码是否有误) 2.编译(将.c转为汇编代码.s) 3.汇编(将汇编代码.s转为机器代码.o) 4.链接(将所有机器代码.o和库文件链 ...

  8. MyBatis学习笔记(三) Configuration类

    一.初探Configuration类 我们先来看一下MyBatis的XML配置文件的结构,(摘自mybatis.org) 下面这个是Configuration类的部分变量 一点不一样是不是??? 其实 ...

  9. How do I close a single buffer (out of many) in Vim?

    I open several files in Vim by, for example, running vim a/*.php which opens 23 files. I then make m ...

  10. 如何在表单中使用Ajax

    1.HTML就是一个简单表单验证,有登录按钮,点击登录会发送Ajax, 这里就是简单如果用户名为:zhouzhiruo,密码为:123456,就是登录成功,否则登录失败 应该在发送请求之前对input ...