Str字符串的功能介绍

2024-08-25 16:58
文章标签 介绍 功能 字符串 str

本文主要是介绍Str字符串的功能介绍,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

转载自:https://www.cnblogs.com/single-boy/p/7309461.html

1. 字符串的操作

  1. 字符串的连接操作

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

    符号: *
    格式:str * num
    例如:str = 'abc'num = 3print(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

这篇关于Str字符串的功能介绍的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1106123

相关文章

性能测试介绍

性能测试是一种测试方法,旨在评估系统、应用程序或组件在现实场景中的性能表现和可靠性。它通常用于衡量系统在不同负载条件下的响应时间、吞吐量、资源利用率、稳定性和可扩展性等关键指标。 为什么要进行性能测试 通过性能测试,可以确定系统是否能够满足预期的性能要求,找出性能瓶颈和潜在的问题,并进行优化和调整。 发现性能瓶颈:性能测试可以帮助发现系统的性能瓶颈,即系统在高负载或高并发情况下可能出现的问题

水位雨量在线监测系统概述及应用介绍

在当今社会,随着科技的飞速发展,各种智能监测系统已成为保障公共安全、促进资源管理和环境保护的重要工具。其中,水位雨量在线监测系统作为自然灾害预警、水资源管理及水利工程运行的关键技术,其重要性不言而喻。 一、水位雨量在线监测系统的基本原理 水位雨量在线监测系统主要由数据采集单元、数据传输网络、数据处理中心及用户终端四大部分构成,形成了一个完整的闭环系统。 数据采集单元:这是系统的“眼睛”,

Hadoop数据压缩使用介绍

一、压缩原则 (1)运算密集型的Job,少用压缩 (2)IO密集型的Job,多用压缩 二、压缩算法比较 三、压缩位置选择 四、压缩参数配置 1)为了支持多种压缩/解压缩算法,Hadoop引入了编码/解码器 2)要在Hadoop中启用压缩,可以配置如下参数

C++11第三弹:lambda表达式 | 新的类功能 | 模板的可变参数

🌈个人主页: 南桥几晴秋 🌈C++专栏: 南桥谈C++ 🌈C语言专栏: C语言学习系列 🌈Linux学习专栏: 南桥谈Linux 🌈数据结构学习专栏: 数据结构杂谈 🌈数据库学习专栏: 南桥谈MySQL 🌈Qt学习专栏: 南桥谈Qt 🌈菜鸡代码练习: 练习随想记录 🌈git学习: 南桥谈Git 🌈🌈🌈🌈🌈🌈🌈🌈🌈🌈🌈🌈🌈�

让树莓派智能语音助手实现定时提醒功能

最初的时候是想直接在rasa 的chatbot上实现,因为rasa本身是带有remindschedule模块的。不过经过一番折腾后,忽然发现,chatbot上实现的定时,语音助手不一定会有响应。因为,我目前语音助手的代码设置了长时间无应答会结束对话,这样一来,chatbot定时提醒的触发就不会被语音助手获悉。那怎么让语音助手也具有定时提醒功能呢? 我最后选择的方法是用threading.Time

图神经网络模型介绍(1)

我们将图神经网络分为基于谱域的模型和基于空域的模型,并按照发展顺序详解每个类别中的重要模型。 1.1基于谱域的图神经网络         谱域上的图卷积在图学习迈向深度学习的发展历程中起到了关键的作用。本节主要介绍三个具有代表性的谱域图神经网络:谱图卷积网络、切比雪夫网络和图卷积网络。 (1)谱图卷积网络 卷积定理:函数卷积的傅里叶变换是函数傅里叶变换的乘积,即F{f*g}

C++——stack、queue的实现及deque的介绍

目录 1.stack与queue的实现 1.1stack的实现  1.2 queue的实现 2.重温vector、list、stack、queue的介绍 2.1 STL标准库中stack和queue的底层结构  3.deque的简单介绍 3.1为什么选择deque作为stack和queue的底层默认容器  3.2 STL中对stack与queue的模拟实现 ①stack模拟实现

Spring框架5 - 容器的扩展功能 (ApplicationContext)

private static ApplicationContext applicationContext;static {applicationContext = new ClassPathXmlApplicationContext("bean.xml");} BeanFactory的功能扩展类ApplicationContext进行深度的分析。ApplicationConext与 BeanF

JavaFX应用更新检测功能(在线自动更新方案)

JavaFX开发的桌面应用属于C端,一般来说需要版本检测和自动更新功能,这里记录一下一种版本检测和自动更新的方法。 1. 整体方案 JavaFX.应用版本检测、自动更新主要涉及一下步骤: 读取本地应用版本拉取远程版本并比较两个版本如果需要升级,那么拉取更新历史弹出升级控制窗口用户选择升级时,拉取升级包解压,重启应用用户选择忽略时,本地版本标志为忽略版本用户选择取消时,隐藏升级控制窗口 2.

Android 10.0 mtk平板camera2横屏预览旋转90度横屏拍照图片旋转90度功能实现

1.前言 在10.0的系统rom定制化开发中,在进行一些平板等默认横屏的设备开发的过程中,需要在进入camera2的 时候,默认预览图像也是需要横屏显示的,在上一篇已经实现了横屏预览功能,然后发现横屏预览后,拍照保存的图片 依然是竖屏的,所以说同样需要将图片也保存为横屏图标了,所以就需要看下mtk的camera2的相关横屏保存图片功能, 如何实现实现横屏保存图片功能 如图所示: 2.mtk