1.字符串一个不可变的字符序列

后续创建相同字符串时,不会开辟新空间,而是把该字符串的地址赋给新创建的变量。

        下边代码内存地址相同

a='python'c='''python'''d='python'print(id(a))print(id(c))print(id(d))                

python保留两列中相同的元素 python相同字符保留一个_开发语言

        驻留机制的几种情况:

                字符串的长度为0或者1时;

                符合标识符的字符串(字母数字下划线);

只在编译时进行驻留,不是运行的时候;

                [-5,256]之间的整数数字。

                下方代码因为含有非标识符,所以标识不同,注意只是编译的时候不同,不是运行的时候

                

python保留两列中相同的元素 python相同字符保留一个_python_02

        在进行字符串拼接时,建议使用str类型的join的方法,不是+法,因为join方法先计算出字符的长度,再进行拷贝,值更新一次对象,效率比加法的时候高

2.字符串的查询操作

        Index()函数:

                查找子串第一次出现的位置,如果子串不存在,则显示valueError

        rindex()函数:

        查找子串最后一次出现的位置,如果查找的子串不存在,则显示valueError

        推荐使用以下两种:

        find()函数:

                查找子串第一次出现的位置,如果查找的子串不存在,返回-1

        rfind()函数:

                查找子串最后一次出现的位置,如果字串不存在,则返回-1。

3.字符串大小写转换

        upper()函数:

                把所有字符都变成大写字符

        lower()函数:

                 把所有字符变成小写字符

        swapcase()函数:

                把字符串中的大写字母转成小写字母,把所有小写字母转成大写字母

        capitalize()函数:

                把第一个字符转换成大写,把其余字符转化成小写

        title()函数:

每个单词的第一个字符转换成大写,把每个单词的剩余字符转换成小写

4.字符串内容对齐操作

        center()函数:

        居中对齐,第1个参数指定宽度,第2个参数指定填充符,第2个参数是可选的,默认是空格,如果设置宽度小于实际宽度则返回原字符串

        ljust()函数:

        左对齐,第1个参数指定宽度,第2个参数指定填充符,第2个参数是可选的,默认是空格,如果设置宽度小于实际宽度则返回原字符串

        rjust()函数:

        右对齐,第1个参数指定宽度,第2个参数指定填充符,第2个参数是可选的,默认是空格,如果设置宽度小于实际宽度则返回原字符串

        zfill()函数:

        右对齐,左边用0填充,该方法只接受一个参数,用于指定字符串的宽度,如果设置宽度小于实际宽度则返回原字符串

        

python保留两列中相同的元素 python相同字符保留一个_python_03

        注意此时的填充

5.字符串的劈分操作

        split()函数:

返回的值是一个列表

        通过参数sep来指定劈分符

        通过参数maxsplit来指定最大的劈分次数

        rsplit()函数:

        从字符的右边开始劈分

6.字符串判断方法

        isdentifier()函数:

                判断字符串是不是合法的,合法则包括字母数字下划线

        isspace()函数:

                判断字符是否全部由空白字符组成

        Isalpha()函数:

                判断字符都是由字母组成

                

python保留两列中相同的元素 python相同字符保留一个_子串_04

        Isdecimal()函数:

                判断字符串是否都是由十进制数组成

        Isnumeric()函数:

                判断指定的字符串是否全部由数字组成,认为罗马数字也是数

                

python保留两列中相同的元素 python相同字符保留一个_字符串_05

        Isalnum()函数:

                判断字符串是否全部由字母和数字组成,罗马数字也是数

                

python保留两列中相同的元素 python相同字符保留一个_字符串_06

7.字符串的替换与合并

        replace()函数:

替换前的字符串不发生变化。第三个参数指定最大替换次数。产生了一个新对象

        

python保留两列中相同的元素 python相同字符保留一个_开发语言_07

        join()函数:

                将列表或元组的字符串合成一个字符串

        

python保留两列中相同的元素 python相同字符保留一个_python保留两列中相同的元素_08

8.字符串的比较

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

        比较原理:两字符比较时,比较的是原始值,调用内置函数ord即可,chr可以通过数字得到对应字符

        

python保留两列中相同的元素 python相同字符保留一个_字符串_09

        ==比较的是值,is比较的是id即标识

9.字符串切片

切片操作将产生新的对象

        

python保留两列中相同的元素 python相同字符保留一个_字符串_10

        以下代码从-6开始一直到最后一个元素,注意只是索引从-6开始,并不是到反向的最后一个

        

python保留两列中相同的元素 python相同字符保留一个_字符串_11

10.格式化字符串

        方式一:

                %作为占位符

                %s——字符型,%i或者%d——整数,%f——浮点数

name='张三'age=20print('我叫%s,今年%d'%(name,age))

        方式二:

                {}作为占位符

print('我叫{0},今年{1}岁了'.format(name,age))print(f'我叫{name},今年{age}suil')控制精度:下方的.3代表的不是三位小数而是三位数                

python保留两列中相同的元素 python相同字符保留一个_字符串_12

加上f才代表是三位小数                

python保留两列中相同的元素 python相同字符保留一个_子串_13

                同时设置宽度为10,一共三位小数

                

python保留两列中相同的元素 python相同字符保留一个_子串_14

11.编码与解码

        编码:

                GBK格式,一个中文占两个字节

                UTF-8格式,一个中文占三个字节

        

python保留两列中相同的元素 python相同字符保留一个_开发语言_15

        解码:

                decode()函数进行解码