Python 从入门到项目实践学习笔记(二)

Python 从入门到项目实践学习笔记(二),第1张

概述声明:《Python从入门项目实践》7-章节个人学习笔记字符串在Python开发过程中,为了实现某项功能,经常需要对某些字符串进行特殊处理比如拼接字符串、截取字符串、格式化字符串等拼接字符串在Python中,使用“+”号运算符可完成对多个字符串的拼接从而生成一个新的

声明:《Python 从入门到项目实践》7-章节 个人学习笔记

字符串

在Python开发过程中,为了实现某项功能,经常需要对某些字符串进行特殊处理
比如拼接字符串、截取字符串、格式化字符串等

拼接字符串

在Python中,使用 “+” 号运算符可完成对多个字符串的拼接从而生成一个新的字符串对象

str1 = '人生苦短'str2 = '我用Python'print(str1 + str2)	# 人生苦短我用Python

在Python中,字符串不允许直接与其他类型的数据拼接,否则抛出异常

str3 = '计算机'num = 1024print(str3 + num)	# TypeError: unsupported operand type(s) for +: 'int' and 'str' 	

在Python中,可以通过将整数转换成字符串,然后再与字符串进行拼接

str3 = '计算机'num = 1024print(str3 + str(num))	# 计算机1024

计算字符串长度

在Python中,提供len()函数计算字符串的长度
通过len()函数计算字符串的长度时,不区分中文、英文和数字,所有字符都认为是一个

"""语法格式:    len(string)参数说明:    string:指定要进行长度统计的字符串"""str4 = '人生苦短,我用Python!'print(len(str4))    # 14

截取字符串

在Python中,由于字符串也属于序列,所以要截取字符串,可以采用切片的方法实现

"""语法格式:    string[start : ent : step]参数说明:    string:表示要截取的字符串    start:表示要截取的第一个字符串索引(包括该字符),默认为0    end:表示要截取的最后一个字符串索引(不包括该字符),默认为字符串的长度    step:步长,默认为1"""str5 = '人生苦短,我用Python!'# 截取第一个字符print(str5[1])      # 生# 从第6个字符截取print(str5[5:])     # 我用Python!# 从左边开始截取5个字符print(str5[:5])     # 人生苦短,# 截取从第3个到第5个字符print(str5[2:5])    # 苦短,  # 指定的索引不存在,抛出异常print(str5[15])    # IndexError: string index out of range

分割字符串

在Python中,字符串对象的split()方法可以实现对字符串分割
在使用split()方法时,如果不指定参数,默认采用空白符进行分割

"""语法格式:    str.split[sep, maxsplit]参数说明:    str:表示要进行分割的字符串    sep:用于指定分隔符,可以是多个字符,默认为None    maxsplit:可选参数,用于指定分割的次数    返回值:分割后的字符串列表"""str6 = '人 生 苦 短, >>> 我用Python!'# 采用默认分隔符进行分割print(str6.split())         # ['人', '生', '苦', '短,', '>>>', '我用Python!']# 通过 , 分割字符串print(str6.split(','))      # ['人 生 苦 短', ' >>> 我用Python!']# 通过多个字符进行分割print(str6.split('>>>'))    # ['人 生 苦 短, ', ' 我用Python!']

检索字符串

在Python中,字符串对象提供了count()、find()、index()、startwith()、enDWith()用于字符串查找

count()方法用于检索指定字符串在另外一个字符串出现的次数
如果检索的字符串不存在,则返回0;存在则返回出现的次数

"""语法格式:    str.count(sub [, start [, end ]])参数说明:    str:表示原字符串    sub:表示要检索的子字符串    start:可选参数,表示检索范围的起始位置的索引,默认从头开始检索    end:可选参数,表示检索范围的结束位置的索引,默认一直检索到结尾"""# 检索 > 出现的次数print(str7.count('>'))      # 3# 检索不存在的情况print(str7.count('KT'))     # 0		

find()方法用于检索是否包含指定的子字符串
如果检索的字符串不存在,则返回-1;如果包含则返回首次出现该子字符串时的索引

"""语法格式:    str.find(sub [, start [, end ]])参数说明:    str:表示原字符串    sub:表示要检索的子字符串    start:可选参数,表示检索范围的起始位置的索引,默认从头开始检索    end:可选参数,表示检索范围的结束位置的索引,默认一直检索到结尾"""str8 = 'ABcdaABCD'# 检索D的在字符串中首次出现的索引print(str8.find('D'))   # 3# 检索不存在的情况print(str8.find('E'))   # -1

index()方法用于返回子字符串在原字符串中首次出现的位置索引
当指定的字符串不存在时会抛出异常

"""语法格式:    str.index(sub [, start [, end ]])参数说明:    str:表示原字符串    sub:表示要检索的子字符串    start:可选参数,表示检索范围的起始位置的索引,默认从头开始检索    end:可选参数,表示检索范围的结束位置的索引,默认一直检索到结尾"""str9 = 'ABcdaABCD'# 检索D的首次索引print(str9.index('D'))   # 3# 检索不存在的情况print(str9.index('E'))   # ValueError: substring not found

startwith()方法用于检索字符串是否以指定字符串开头
如果是则返回True,否则返回False

"""语法格式:    str.startswith(perfix [, start [, end ]])参数说明:    str:表示原字符串    perfix:表示要检索的子字符串    start:可选参数,表示检索范围的起始位置的索引,默认从头开始检索    end:可选参数,表示检索范围的结束位置的索引,默认一直检索到结尾"""str10 = 'ABcdaABCD'# 检索D的首次索引print(str10.startswith('A'))    # True# 检索不存在的情况print(str10.startswith('E'))    # False

enDWith()方法用于检索字符串是否以指定字符串结尾
如果是则返回True,否则返回False

"""语法格式:    str.endswith(perfix [, start [, end ]])参数说明:    str:表示原字符串    perfix:表示要检索的子字符串    start:可选参数,表示检索范围的起始位置的索引,默认从头开始检索    end:可选参数,表示检索范围的结束位置的索引,默认一直检索到结尾"""str10 = 'ABcdaABCD'# 检索D的首次索引print(str10.endswith('D'))    # True# 检索不存在的情况print(str10.endswith('E'))    # False

字母的大小写转换

在Python中,字符串对象提供了lower()和upper()方法进行字母的大小写转换

lower()方法用于将字符串中的大写字母转换为小写字母

"""语法格式:    str.lower()参数说明:    str:表示要进行转换的字符串"""str11 = 'ABcdaABCD'# 将大写转成小写print(str11.lower())    # abcdaabcd

upper()方法用于将字符串中的大写字母转换为小写字母

"""语法格式:    str.upper()参数说明:    str:表示要进行转换的字符串"""str12 = 'abcdaabcd'# 将小写转成大写print(str12.upper())    # ABcdaABCD

去除字符串中的空格和特殊字符

在Python中,字符串对应提供了strip()、rstrip()、lstrip()方法可以实现去掉字符串中的空格或特殊字符

strip()方法用于去掉字符串左、右两边的空格或特殊字符

"""语法格式:    str.strip([chars])参数说明:    str:表示要去掉空格或特殊字符的字符串    chars:可选参数,用于指定要去除的字符"""str13 = ' abcdaabcd  '# 去除字符串两侧空格print(str13.strip())        # abcdaabcd# 去掉字符串两侧的@str14 = '@abcdaabcd@'print(str14.strip('@'))     # abcdaabcd

rstrip()方法用于出掉字符串右侧的空格或特殊字符

"""语法格式:    str.rstrip([chars])参数说明:    str:表示要去掉空格或特殊字符的字符串    chars:可选参数,用于指定要去除的字符"""str15 = 'abcdaabcd '# 去除字符串右测的空格print(str15.rstrip())        # abcdaabcd# 去掉字符串右侧的@str16 = '@abcdaabcd@'print(str16.rstrip('@'))     # @abcdaabcd

lstrip()方法用于出掉字符串左侧的空格或特殊字符

"""语法格式:    str.lstrip([chars])参数说明:    str:表示要去掉空格或特殊字符的字符串    chars:可选参数,用于指定要去除的字符"""str17 = ' abcdaabcd'# 去除字符串左测的空格print(str17.lstrip())        # abcdaabcd# 去掉字符串左侧的@str18 = '@abcdaabcd@'print(str18.lstrip('@'))     # abcdaabcd@

格式化字符串

在Python中,可以使用"%" *** 作符或使用字符串对象的format()方法实现格式化字符串

使用 % 实现格式化字符串

"""语法格式:    '%[-][+][0][m][.n]格式化字符' %exp参数说明:    -: 可选参数, 用于指定左对齐(正数前方无负号,负数前方加负号)    +:可选参数, 用于指定右对齐(正数前方无负号,负数前方加负号)    0: 可选参数, 表示右对齐(正数前方元符号, 负数前方加负号; 用0填充空白处,一般与m参数配合使用)    m: 可选参数, 表示占有宽度    .n: 可选参数, 表示小数点后保留的位数    格式化字符: 用于指定类型    exp: 要转换的项; 如果要指定的项有多个, 以元组的形式进行指定"""# %s --> 字符串(采用str()显示)print('%s笑哈哈' % 'BLL')      # BLL笑哈哈# %c --> 单个字符, 否则报TypeError: %c requires int or charprint('%c笑哈哈' % 'L')        # L笑哈哈# %d 或者 %i --> 十进制整数print('%d, %i' % (4, 6))        # 4, 6# %x --> 十六进制整数print('%x' % 15)                # f# %f 或者 %F --> 浮点数print('%f, %F' % (17.5, 20))    # 17.500000, 20.000000# %r --> 字符串(采用repr()显示)print('%r笑哈哈' % 'BLL')      # 'BLL'笑哈哈# %o --> 八进制print('%o' % 15)                # 17# %e --> 指数(基底为e)print('%e' % 15)                # 1.500000e+01# %E --> 指数(基底为E)print('%E' % 15)                # 1.500000E+01# %% --> 字符串%print('%d%%' % 18)              # 18%

使用字符串对象的format()方法实现格式化字符串

在这里插入代码片
正则表达式基础

在处理字符串时,经常会有查询符合某些复杂规则的字符串的需求
正则表达式就是用于描述这些规则的工具;换句话来说,正则表达式就是记录文本规则的代码

行定位符

行定位符就是用来描述子串的边界。 “^” 表示行的开始;"$" 表示行的结尾

import re"""^C : 判断字符串以C开头(从字符串的左边第一个开始匹配)"""str1 = 'China is powerful'print(re.findall('^C', str1))   # ['C']"""ul$ : 判断字符串以字母ul结尾(从字符串的右边第一个开始匹配)"""str2 = 'China is powerful'print(re.findall('ul$', str2))  # ['ul']

元字符

除了上面介绍的 ^ 和 $ 外,正则表达式里还有更多的元字符

代码说明
.(点)匹配除换行符以外的任意字符
\w匹配字母、数字、下划线或汉字
\W匹配除字母、数字、下划线或汉字以外的字母
\s匹配单个的空白字符(包括Tab键和换行符)
\S除单个的空白字符(包括Tab键和换行符)以外的所有字符
\d匹配数字
\b匹配单词的开始或结尾(单词的分解符通常是空格、标点符号或换行符)

限定符

如果想要匹配特定数量的数字,正则表达式为我们提供了限定符(指定数量的字符)来实现该功能

未完待补充…

总结

以上是内存溢出为你收集整理的Python 从入门到项目实践学习笔记(二)全部内容,希望文章能够帮你解决Python 从入门到项目实践学习笔记(二)所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1183668.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-02
下一篇 2022-06-02

发表评论

登录后才能评论

评论列表(0条)

保存