本套学习内容共计【22】个章节,每个章节都会有对应的从0-1的学习过程详细讲解,希望可以给更多的人提供帮助。

开发环境:【Win10】

开发工具:【Visual Studio 2019】

本章内容为:字符串处理。

字符串是 Python 中最常用的数据类型。我们可以使用引号('或")来创建字符串。

创建字符串很简单,只要为变量分配一个值即可。例如:

var1 = 'Hello World!'
var2 = "你好 世界"

1、Python 字符串连接,使用【,】或【+】

var1 = 'Hello World!'
print("输出 :- ", var1[:6] + '世界!')#前6个字符

2、Python 转义字符(可参照ASCII表)

在需要在字符中使用特殊字符时,python 用反斜杠 \ 转义字符。如下表:

转义字符 描述
\(在行尾时) 续行符
\\ 反斜杠符号
\' 单引号
\" 双引号
\a 响铃
\b 退格(Backspace)
\e 转义
\000
\n 换行
\v 纵向制表符
\t 横向制表符
\r 回车
\f 换页
\oyy 八进制数,y 代表 0~7 的字符,例如:\012 代表换行。
\xyy 十六进制数,以 \x 开头,yy代表的字符,例如:\x0a代表换行
\other 其它的字符以普通格式输出

3、Python字符串运算符

下表实例变量 a 值为字符串 "Hello",b 变量值为 "Python":

操作符 描述 实例
+ 字符串连接

>>>a + b 'HelloPython'

* 重复输出字符串

>>>a * 2 'HelloHello'

[] 通过索引获取字符串中字符

>>>a[1] 'e'

[ : ] 截取字符串中的一部分

>>>a[1:4] 'ell'

in 成员运算符 - 如果字符串中包含给定的字符返回 True

>>>"H" in a True

not in 成员运算符 - 如果字符串中不包含给定的字符返回 True

>>>"M" not in a True

r/R 原始字符串 - 原始字符串:所有的字符串都是直接按照字面的意思来使用,没有转义特殊或不能打印的字符。 原始字符串除在字符串的第一个引号前加上字母"r"(可以大小写)以外,与普通字符串有着几乎完全相同的语法。

>>>print r'\n' \n >>> print R'\n' \n

演示代码:

a = "Hello"
b = "Python"print("a + b 输出结果:", a + b )
print("a * 2 输出结果:", a * 2 )
print("a[1] 输出结果:", a[1] )
print("a[1:4] 输出结果:", a[1:4] )if( "H" in a) :print("H 在变量 a 中")
else :print("H 不在变量 a 中") if( "M" not in a) :print("M 不在变量 a 中")
else :print("M 在变量 a 中")print(r'\n')
print(R'\n')

4、Python 字符串格式化(用的比较多)

print("%s拥有一个%s,是一个%s的%s"% ("你","世界","宽广美好","乐园"))

python 字符串格式化符号:

    符   号 描述
      %c  格式化字符及其ASCII码
      %s  格式化字符串
      %d  格式化整数
      %u  格式化无符号整型
      %o  格式化无符号八进制数
      %x  格式化无符号十六进制数
      %X  格式化无符号十六进制数(大写)
      %f  格式化浮点数字,可指定小数点后的精度
      %e  用科学计数法格式化浮点数
      %E  作用同%e,用科学计数法格式化浮点数
      %g  %f和%e的简写
      %G  %F 和 %E 的简写
      %p  用十六进制数格式化变量的地址

格式化操作符辅助指令:

符号 功能
* 定义宽度或者小数点精度
- 用做左对齐
+ 在正数前面显示加号( + )
<sp> 在正数前面显示空格
# 在八进制数前面显示零('0'),在十六进制前面显示'0x'或者'0X'(取决于用的是'x'还是'X')
0 显示的数字前面填充'0'而不是默认的空格
% '%%'输出一个单一的'%'
(var) 映射变量(字典参数)
m.n. m 是显示的最小总宽度,n 是小数点后的位数(如果可用的话)

5、format 拼接

拼接方法有很多:常用的方法【"{0}{1}~~~".format("","",~~~)】

#直接链接
print('hello''python')# format 拼接 str.format(args,**kwargs)
# 例(1) {} 充当占位符
str_word = 'hello, word! {} {}'.format('张三', '李四')
print(str_word)
# 例(2) {[index]} 按索引位置填充 .format([0]=value1, [1]= value1},)
str_word_index0 = 'hell0, word!{0},{1}'.format('张三', '李四')
str_word_index1 = 'hell0, word!{1},{0}'.format('张三', '李四')
print(str_word_index0)
print(str_word_index1)
# 例(3) {[keyword]}
str_word_keyword = 'hell0, word!{a},{b}'.format(b='张三', a='李四')
print(str_word_keyword)
# 例(4) {[keyword,indec]} keyword 放在最后
str_word1 = 'hell0, word!{1}{a}{0},{b}'.format('index0', 'index1', b='张三', a='李四')
print(str_word1)
# 例(5) format 参数类型不限,当为元祖,列表,集合,字典时输出
str_word2 = 'hell0, word!{b}'.format(b=['eee', 'd'])
print(str_word2)
# 例(6) 作为函数使用
str_word3 = 'hello, word! {} {}'.format
word = str_word3('张三', '李四')
print(word)

样例效果:

6、Unicode 字符串

Python 中定义一个 Unicode 字符串和定义一个普通字符串一样简单:

str=u'Hello\u0020World !'
print(str)

注:print(json.encode('utf-8').decode('unicode_escape'))编码格式化

7、Python的字符串内建函数(本章节会分开为一个系列讲述)

由于内容较多,在后面用到的时候会具体讲述:

方法 描述

string.capitalize()

把字符串的第一个字符大写

string.center(width)

返回一个原字符串居中,并使用空格填充至长度 width 的新字符串

string.count(str, beg=0, end=len(string))

返回 str 在 string 里面出现的次数,如果 beg 或者 end 指定则返回指定范围内 str 出现的次数

string.decode(encoding='UTF-8', errors='strict')

以 encoding 指定的编码格式解码 string,如果出错默认报一个 ValueError 的 异 常 , 除非 errors 指 定 的 是 'ignore' 或 者'replace'

string.encode(encoding='UTF-8', errors='strict')

以 encoding 指定的编码格式编码 string,如果出错默认报一个ValueError 的异常,除非 errors 指定的是'ignore'或者'replace'

string.endswith(obj, beg=0, end=len(string))

检查字符串是否以 obj 结束,如果beg 或者 end 指定则检查指定的范围内是否以 obj 结束,如果是,返回 True,否则返回 False.

string.expandtabs(tabsize=8)

把字符串 string 中的 tab 符号转为空格,tab 符号默认的空格数是 8。

string.find(str, beg=0, end=len(string))

检测 str 是否包含在 string 中,如果 beg 和 end 指定范围,则检查是否包含在指定范围内,如果是返回开始的索引值,否则返回-1

string.format()

格式化字符串

string.index(str, beg=0, end=len(string))

跟find()方法一样,只不过如果str不在 string中会报一个异常.

string.isalnum()

如果 string 至少有一个字符并且所有字符都是字母或数字则返

回 True,否则返回 False

string.isalpha()

如果 string 至少有一个字符并且所有字符都是字母则返回 True,

否则返回 False

string.isdecimal()

如果 string 只包含十进制数字则返回 True 否则返回 False.

string.isdigit()

如果 string 只包含数字则返回 True 否则返回 False.

string.islower()

如果 string 中包含至少一个区分大小写的字符,并且所有这些(区分大小写的)字符都是小写,则返回 True,否则返回 False

string.isnumeric()

如果 string 中只包含数字字符,则返回 True,否则返回 False

string.isspace()

如果 string 中只包含空格,则返回 True,否则返回 False.

string.istitle()

如果 string 是标题化的(见 title())则返回 True,否则返回 False

string.isupper()

如果 string 中包含至少一个区分大小写的字符,并且所有这些(区分大小写的)字符都是大写,则返回 True,否则返回 False

string.join(seq)

以 string 作为分隔符,将 seq 中所有的元素(的字符串表示)合并为一个新的字符串

string.ljust(width)

返回一个原字符串左对齐,并使用空格填充至长度 width 的新字符串

string.lower()

转换 string 中所有大写字符为小写.

string.lstrip()

截掉 string 左边的空格

string.maketrans(intab, outtab])

maketrans() 方法用于创建字符映射的转换表,对于接受两个参数的最简单的调用方式,第一个参数是字符串,表示需要转换的字符,第二个参数也是字符串表示转换的目标。

max(str)

返回字符串 str 中最大的字母。

min(str)

返回字符串 str 中最小的字母。

string.partition(str)

有点像 find()和 split()的结合体,从 str 出现的第一个位置起,把 字 符 串 string 分 成 一 个 3 元 素 的 元 组 (string_pre_str,str,string_post_str),如果 string 中不包含str 则 string_pre_str == string.

string.replace(str1, str2,  num=string.count(str1))

把 string 中的 str1 替换成 str2,如果 num 指定,则替换不超过 num 次.

string.rfind(str, beg=0,end=len(string) )

类似于 find() 函数,返回字符串最后一次出现的位置,如果没有匹配项则返回 -1。

string.rindex( str, beg=0,end=len(string))

类似于 index(),不过是从右边开始.

string.rjust(width)

返回一个原字符串右对齐,并使用空格填充至长度 width 的新字符串

string.rpartition(str)

类似于 partition()函数,不过是从右边开始查找

string.rstrip()

删除 string 字符串末尾的空格.

string.split(str="", num=string.count(str))

以 str 为分隔符切片 string,如果 num 有指定值,则仅分隔 num+ 个子字符串

string.splitlines([keepends])

按照行('\r', '\r\n', \n')分隔,返回一个包含各行作为元素的列表,如果参数 keepends 为 False,不包含换行符,如果为 True,则保留换行符。

string.startswith(obj, beg=0,end=len(string))

检查字符串是否是以 obj 开头,是则返回 True,否则返回 False。如果beg 和 end 指定值,则在指定范围内检查.

string.strip([obj])

在 string 上执行 lstrip()和 rstrip()

string.swapcase()

翻转 string 中的大小写

string.title()

返回"标题化"的 string,就是说所有单词都是以大写开始,其余字母均为小写(见 istitle())

string.translate(str, del="")

根据 str 给出的表(包含 256 个字符)转换 string 的字符,

要过滤掉的字符放到 del 参数中

string.upper()

转换 string 中的小写字母为大写

string.zfill(width)

返回长度为 width 的字符串,原字符串 string 右对齐,前面填充0

8、总结:

a)、本章节主要是让大家掌握字符串的各种拼接方式,方便后面做各种各样的字符串格式化处理。

本课程目录为:

Python初级

1 、开发工具

2 、中文编码

3 、基础语法

4 、变量类型

5 、运算符

6 、条件语句

7 、while循环

8 、for循环

9 、循环控制

10、 循环嵌套

11 、字符串(本章)

12 、列表

13 、元组

14、 字典

15 、日期时间

16、 函数

17 、模块

18 、文件I/O

19 、File方法

20 、异常处理

21 、文件目录

22 、内置函数

欢迎【点赞】、【评论】、【关注】、【收藏】、【打赏】,为推广知识贡献力量。

零基础学Python(第十一章 字符串处理)相关推荐

  1. 零基础学Python(第九章 循环控制【break】与【continue】)

    本套学习内容共计[22]个章节,每个章节都会有对应的从0-1的学习过程详细讲解,希望可以给更多的人提供帮助. 开发环境:[Win10] 开发工具:[Visual Studio 2019] 本章为循环控 ...

  2. 零基础学Python(第二章 中文编码)

    本套学习内容共计[22]个章节,每个章节都会有对应的从0-1的学习过程详细讲解,希望可以给更多的人提供帮助. 开发环境:[Win10] 开发工具:[Visual Studio 2019] 1.修改编码 ...

  3. 零基础学Python(第一章 开发工具·最简易的环境·无需配置环境变量)

    本文优点:让初学人员远离繁琐的各种环境配置,让你可以直接上手敲代码(下载的时候网络得好一些,总计1.15G左右大小). 本套学习内容共计[22]个章节,每个章节都会有对应的从0-1的学习过程详细讲解, ...

  4. 【第五章】零基础学Python实战练习(明日科技书配套)

    [第五章]零基础学Python实战练习(明日科技书配套) 实战一: 代码: 输出: 实战二: 代码: 输出: 实战三: 代码: 输出: 实战四: 代码: 输出: 优化一下代码,让输出对齐: 新输出 实 ...

  5. 零基础学Python课后实战第六章

    零基础学Python课后实战第六章 tips 实战一:导演为剧本选主角 实战二:模拟美团外卖商家的套餐 实战三:根据生日判断星座 实战四:将美元转换为人民币 tips 格式化字符串: {:0>9 ...

  6. 零基础学Python课后实战第四章

    零基础学Python课后实战第四章 实战一:输出王者荣耀的游戏角色 实战二:模拟火车订票系统 实战三:电视剧的收视率排行榜 tips 实战一:输出王者荣耀的游戏角色 列表的创建.遍历列表 代码 pri ...

  7. 零基础学Python:一文看懂数字和字符串

    来源:大数据DT 本文约2000字,建议阅读6分钟 数据类型是构成编程语言语法的基础. [ 导读 ]数据类型是构成编程语言语法的基础.不同的编程语言有不同的数据类型,但都具有常用的几种数据类型.Pyt ...

  8. c字符串中包含双引号_零基础学Python:一文看懂数字和字符串

    来源:大数据DT 本文约2000字,建议阅读6分钟 数据类型是构成编程语言语法的基础.[ 导读 ]数据类型是构成编程语言语法的基础.不同的编程语言有不同的数据类型,但都具有常用的几种数据类型.Pyth ...

  9. 零基础学Python课后实战第三章

    零基础学Python课后实战第三章 实战一:模拟支付宝蚂蚁森林的能量产生过程 实战二:猜数字游戏 实战三:模拟跳一跳小游戏的加分块 实战四:模拟10086查询功能 实战一:模拟支付宝蚂蚁森林的能量产生 ...

  10. 【第四章】零基础学Python实战练习(明日科技书本配套)

    零基础学Python实战练习 第四章 序列的应用 实战一 代码 输出: 实战二 代码 输出 实战三 代码 输出 实战四 代码 输出 第四章 序列的应用 实战一 代码 tank = ["苏烈& ...

最新文章

  1. 姿态检测 树莓派_怎样在树莓派上轻松实现深度学习目标检测?
  2. Python入门100题 | 第018题
  3. C++ 学习之函数重载、基于const的重载
  4. NSArray创建和使用
  5. [react] Consumer向上找不到Provider的时候怎么办?
  6. linux mysql 静态库_Linux静态库与动态库实例详解
  7. gin ip 和 本地访问的结果不一样_golang web开发——gin实战之整合swagger
  8. SPRING IN ACTION 第4版笔记-第三章ADVANCING WIRING-008-SpEL介绍
  9. php+引用swf,php – 嵌入flv和swf位于webroot之外
  10. 用计算机名怎么共享电视盒,机顶盒怎么通过电脑实现局域网共享
  11. hexo需要先编辑好html文件吗,教你定制Hexo的landscape打造自己的主题_html/css_WEB-ITnose...
  12. 全球首发!计算机视觉Polygon Mesh Processing读书笔记——5微分几何中的弧长
  13. paa 计算机语言,Paa Robertingeri
  14. 期许伟大-基于CMMI的过程改进之道探索
  15. 网吧管理软件常见漏洞四节课
  16. NB-IoT蜂窝窄带物联网概念
  17. 外卖行业现状分析_O2O模式下的外卖行业的发展现状和前景分析
  18. m低信噪比下GPS信号的捕获算法研究,使用matlab算法进行仿真
  19. 小程序点击多个指定地方都能关闭弹框
  20. LDGRB-01 3AFE61320954P0001

热门文章

  1. cefsharp已停止工作_windows资源管理器已停止工作怎么解决
  2. python中的断点是什么_python中简单的递归(断点报错的小福利)
  3. Java中如何使用session
  4. python中的__iter__ __reversed__ __next__
  5. [转][Java]尝试解决Java多行字符串的编辑问题
  6. 机器学习之路: python 实践 word2vec 词向量技术
  7. HttpClient 使用
  8. 20150309+Linux+LAMP安装-02
  9. 求助:如何获取ueditor的上传路径
  10. C#递归的应用实例详解