python字符串与正则表达式学习笔记 1

字符串

        现在我们常见的编码格式主要有UTF-8、UTF-16、UTF-32、GB2312、GBK、CP936、base64、CP437等等。

        GB2312是我国制定的中文编码,使用1个字节表示英语,2个字节表示中文。

        UTF-8对全世界所有国家需要用到的字符进行了编码,以1个字节表示英语字符(兼容ASCII),以3个字节表示中文。

        1.现在的python 3.x支持中文字符,默认使用utf8编码格式。


 例如:        >>>姓名 = '张三'            #使用中文作为变量名

                    >>>print(姓名)              #输出变量的值

                    张三

        注意:引号类字符要使用英文字符。


        2.在Python中,字符串属于不可变序列类型。


例如:定义一个字符串,我们可以用字符串的下表来表示一个字符,但是不能用下边来改变这个字符(如下图一)。


python字符串与正则表达式学习笔记 1_第1张图片
图一

        3.Python字符串驻留机制:对于短字符串,将其赋值给多个不同的对象时,内存中只有一个副本,多个对象共享该副本。长字符串不遵守驻留机制。



例如:短字符的内存地址是一样的,长字符的内存地址不一样(这和python的内核实现有关)如图二:

python字符串与正则表达式学习笔记 1_第2张图片
图二



字符串格式化

        1.常用的格式字符(如图三)



python字符串与正则表达式学习笔记 1_第3张图片
图三

        2.使用format方法进行格式化


例如:第一个遍历使用map函数(可迭代的映射:把weather内的映射到formatter中)根据下标分别格式化到相应位置,第二个遍历是直接遍历weather。如下两图:

python字符串与正则表达式学习笔记 1_第4张图片
图四


python字符串与正则表达式学习笔记 1_第5张图片
图五

        3.python 3.6.x定义的新格式化方式Formatted String Literals


例如:Formatted String Literals,其含义与字符串对象的format()方法类似,但形式更加简洁。直接f ‘xxx’进行格式化。


python字符串与正则表达式学习笔记 1_第6张图片
图六

字符串常用方法

        1.find()、rfind()、index()、rindex()、count()

                find()和rfind方法分别用来查找一个字符串在另一个字符串指定范围(默认是整个字符串)中首次和最后一次出现的位置,如果不存在则返回-1;

                index()和rindex()方法用来返回一个字符串在另一个字符串指定范围中首次和最后一次出现的位置,如果不存在则抛出异常;

                count()方法用来返回一个字符串在另一个字符串中出现的次数。


例如:

python字符串与正则表达式学习笔记 1_第7张图片
图七

        2.split()、rsplit()、partition()、rpartition()

                split()和rsplit()方法分别用来以指定字符为分隔符,将字符串左端和右端开始将其分割成多个字符串,并返回包含分割结果的列表;

                partition()和rpartition()用来以指定字符串为分隔符将原字符串分割为3部分,即分隔符前的字符串、分隔符字符串、分隔符后的字符串,如果指定的分隔符不在原字符串中,则返回原字符串和两个空字符串。


例如:

python字符串与正则表达式学习笔记 1_第8张图片
图八


python字符串与正则表达式学习笔记 1_第9张图片
图九

        3. 字符串连接join


例如:

python字符串与正则表达式学习笔记 1_第10张图片
图十

        4.lower()、upper()、capitalize()、title()、swapcase()

                lower返回小写字符串

                upper返回大写字符串

                capitalize字符串首字母大写

                title每个单词首字母大写

                swapcase大小写互换


例如:

python字符串与正则表达式学习笔记 1_第11张图片
图十一

        5.查找替换replace()


例如:测试用户输入中是否有敏感词,如果有的话就把敏感词替换为3个星号***

(如图十三)。

python字符串与正则表达式学习笔记 1_第12张图片
图十二
python字符串与正则表达式学习笔记 1_第13张图片
图十三

        6.maketrans()与translate()

                maketrans()方法用来生成字符映射表,translate()方法用来根据映射表中定义的对应关系转换字符串并替换其中的字符,使用这两个方法的组合可以同时处理多个不同的字符,replace()方法则无法满足这一要求。


例如:创建映射表,将字符"abcdef123"一一对应地转换为"uvwxyz@#$"(图十四)。凯撒加密(图十五)。

python字符串与正则表达式学习笔记 1_第14张图片
图十四


python字符串与正则表达式学习笔记 1_第15张图片
图十五

        7.strip()、rstrip()、lstrip()

                strip() 删除字符两边的指定字符

                rstrip() 删除字符串右端指定字符

                lstrip() 删除字符串左端指定字符


例如:

python字符串与正则表达式学习笔记 1_第16张图片
图十六

        这三个函数的参数指定的字符串并不作为一个整体对待,而是在原字符串的两侧、右侧、左侧删除参数字符串中包含的所有字符,一层一层地从外往里扒。


python字符串与正则表达式学习笔记 1_第17张图片
图十七

        8.成员判断,关键字in

                测试一个字符中是否存在于另一个字符串中,关键字in左边的字符串作为一个整体对待。


例如:

python字符串与正则表达式学习笔记 1_第18张图片
图十八

        9.s.startswith(t)、s.endswith(t)

                判断字符串是否以指定字符串开始或结束


例如:

python字符串与正则表达式学习笔记 1_第19张图片
图十九

                实现文件的快速查找功能

python字符串与正则表达式学习笔记 1_第20张图片

你可能感兴趣的:(python字符串与正则表达式学习笔记 1)