龙空技术网

Python学习之字符串

肆意的风压弯了海棠 68

前言:

此刻姐妹们对“python字符串是否相等”可能比较重视,兄弟们都需要学习一些“python字符串是否相等”的相关资讯。那么小编在网上汇集了一些有关“python字符串是否相等””的相关文章,希望咱们能喜欢,小伙伴们一起来了解一下吧!

字符串是python中的基本数据类型,是一个不可变的字符序列

字符串的驻留机制

python对于相同的字符串只保留一份拷贝,后续创建相同字符串时,不会开辟新空间,而是把该字符串的地址赋给新创建的变量。

驻留机制的几种情况:

字符串的长度为0或1符合标识符的字符串

 s1 = 'abc_' s2 = 'abc_' s1 is s2#返回结果为True,证明s1和s2的内存地址一样 s3 = 'abc%' s4 = 'abc%' s3 is s4#返回结果为False,证明s3和s4的内存地址不同
字符串只在编译时进行驻留,而非运行时
 s1 = 'abc' s2 = 'abc' s3 = ''.join(['ab','c']) s1 is s2#返回结果为True s1 is s3#返回结果为False
[-5, 256]之间的整数数字
s1 = -5 s2 = -5 s1 is s2#返回结果为True s3 = -6 s4 = -6 s3 is s4#返回结果为False

强制驻留的方法:

 import sys s1 = 'abc%'  s2 = 'abc%' s1 is s2#返回结果为False  s1 = sys.intern(s2) s1 is s2#返回结果为True

在python原始编译器中会出现以上结果,而在pycharm中会对字符串进行强制驻留操作,因此不会存在以上的结果。

字符串的查询index():查找子串第一次在字符串中出现的位置,如果查找的子串不存在,会报ValueError的错误;rindex():查找子串最后一次在字符串中出现的位置,如果查找的子串不存在,会报ValueError的错误;find():查找子串第一次在字符串中出现的位置,如果查找的子串不存在,则返回-1;rfind():查找子串最后一次在字符串中出现的位置,如果查找的子串不存在,则返回-1。字符串的大小写转换upper():把字符串中所有字符都转成大写字母lower():把字符串中所有字符都转成小写字母swapcase():把字符串中所有大写字母都转成小写字母,把所有小写字母都转成大写字母capitalize():把第一字符转成大写,把其余字符转成小写title():把每个单词的第一个字符转换为大写,把每个单词的剩余字符转换为小写

以上操作会产生一个新的字符串,而不是直接将原字符串进行修改;因此需要一个赋值的操作

字符串内容对齐center():居中对齐,第一个参数指定宽度,第二个参数指定填充符,默认为空格,如果设置宽度小于实际宽度则返回原字符串ljust():左对齐,第一个参数指定宽度,第二个参数指定填充符,默认为空格,如果设置宽度小于实际宽度则返回原字符串rjust():右对齐,第一个参数指定宽度,第二个参数指定填充符,默认为空格,如果设置宽度小于实际宽度则返回原字符串zfill():右对齐,左边用0填充,该方法只接受一个参数,用于指定字符串的宽度,如果指定的宽度小于字符串的长度,则返回原字符串字符串的拆分操作split():从字符串的左边开始分,返回的值是一个列表;可以通过参数sep指定拆分字符串,默认是空格字符串;通过参数maxsplit指定拆分字符串时的最大拆分次数,在经过最大次拆分之后,剩余的字符串会单独最为一部分rsplit():从字符串的右边开始分,返回的值是一个列表;可以通过参数sep指定拆分字符串,默认是空格字符串;通过参数maxsplit指定拆分字符串时的最大拆分次数,在经过最大次拆分之后,剩余的字符串会单独最为一部分判断字符串isidentifier():判断指定的字符串是不是合法的标识符isspace():判断指定的字符串是否全部由空白字符组成(回车,换行,水平制表符)isalpha():判断指定的字符串是否全部由字母组成isdecimal():判断指定的字符串是否全部由十进制的数字组成isnumeric():判断指定的字符串是否全部由数字组成(可以由阿拉伯数字、大写数字、罗马数字等)isalnum():判断指定字符串是否全部由字母和数字组成字符串的替换

replace():第一个参数指定被替换的子串,第二个参数指定替换子串的字符串,该方法返回替换后得到的字符串,替换前的字符串不发生变化;当出现多个相同的子串被替换时,调用该方法时可以通过第三个参数指定最大替换次数

字符串的合并

join():将列表或元组中的字符串合并成一个字符串

字符串的比较

运算符:>,>=,<,<=,==,!=

比较规则:首先比较两个字符串中的第一个字符,如果相等则继续比较下一个字符,依次比较下去,直到两个字符串中的字符不相等时,其比较结果就是两个字符串的比较结果,两个字符串中的所有后续字符将不再被比较

字符串的切片

字符串是不可变类型,不具备增、删、改操作;

切片操作将产生新的对象

格式化字符串

按一定格式输出的字符串;

使用%作为占位符

name = 'Lily' age = '20' print('My name is %s, I\'m %d years old' % (name, age))
使用{}作为占位符
name = 'Lily' age = '20' print('My name is {0}, I\'m {1} years old, My name is {0}'.format(name,age))
f开头
 name = 'Lily' age = '20' print(f'My name is {name}, I\'m {age} years old')

标签: #python字符串是否相等 #python 字符相等 #pycharm全局搜索字符串 #python中字符串可以单独存在吗