我的学习笔记:07字符串

上一篇介绍了列表、元组和字符串等数据类型。这篇就仔细介绍一下字符串。在python中,字符串(str)是一种不可变的字符序列,前一篇介绍的序列操作完全适用于字符串。

这篇主要涉及三个方面的内容,分别是①字符串的表示方式;②字符串与数字的相互转换;③格式化字符串;④操作字符。

一、字符串的表示方式

字符串有三种表示方式:普通字符串、原始字符串和长字符串

1、普通字符串

普通字符串指用(')或双引号(")括起来的字符串。→'Hello'或"Hello"

我们在Python Shell中运行代码,看看运行结果怎样。

普通字符串指用(')或双引号(")括起来的字符串。

问:字符转义是什么意思?

答:如果想在字符串中包含一些特殊的字符,例如换行符、制表符等,在普通字符串中就需要转义,前面要加上反斜杠(),这叫做字符转义。

常用的转义符如下:

我们在Python Shell中运行代码,看看运行结果怎样。

2、原始字符串

问:实际开发时,在普通字符串中可能有很多转义符,特别麻烦,有别的表示方式吗?

答:可以使用原始字符串(raw string)表示,原始字符串中的特殊字符不需要被转义,按照字符串的本来样子呈现。在普通字符串前加r就是原始字符串了。

我们在Python Shell中运行代码,看看运行结果怎样。

3、长字符串

如果要使用字符串表示一篇文章,其中包括了换行、缩进等排版字符,则可以使用长字符串表示。对于长字符串,要使用3个单引号(''')或3个双引号(" " ")括起来。

我们在Python Shell中运行代码,看看运行结果怎样。

二、字符串与数字的相互转换

问:我们在编程时经常会经常会遇见字符串与数字相互转换的情况,它们是否可以隐式转换呢?

答:它们是不兼容的两种数据类型,不能进行隐式转换,是能通过函数进行显示转换。

1、将字符串转换为数字

将字符串转换为数字,可以使用int()和float()实现,如果成功则返回数字,否则引发异常。

在默认情况下,int()函数都将字符串参数当做十进制数字进行转换,所以int('AB‘)会失败。int()函数也可以指定函数基础(进制)。

2、将数字转换为字符串

将数字转换为字符串,可以使用str()函数,str()函数可以将很多类型的数据都转换为字符串。

我们在Python Shell中运行代码,看看运行结果怎样。

三、格式化字符串

问:我们在编程过程中经常会遇到将表达式的计算结果与字符串拼接到一起输出的情况。之前我们都是用str()函数将表达式的计算结果转换为字符串,在=再与字符串拼接。这样拼接比较麻烦,有更好的办法吗?

在Python Shell中运行代码,看看运行结果怎样。

答:可以使用字符串的format()方法,它不仅可以实现字符串的拼接,还可以格式化字符串。例如在计算的金额需要保留小数点后四位、数字需要右对齐等时,可以使用该办法。

1、使用占位符

要想将表达式的计算结果插入字符串中,则需要用到占位符。对对占位符,使用一对大括号({})表示。

我们在Python Shell中运行代码,看看运行结果怎样。

①默认占位符

②参数序号占位符

③参数名占位符

2、格式化控制符

在展位符中还可以有格式化控制符,对字符串的格式进行更加精准的控制。

格式化控制符位与占位符索引或占位符名字的后面,之间用冒号分隔。语法:{参数序号:格式控制符}或{参数名:格式控制符}。

字符串的格式化控制符机器说明如下表所示。

我们在Python Shell中运行代码,看看运行结果怎样。

四、操作字符串

字符串类为我们提供了丰富的方法来操作字符串。

1、字符串查找

字符串的find()方法用于查找字符串。该方法的语法为str.find(aub[, start[, end]]),表示:在索引start到end之间查找子字符串sub,如果找到,则返回最左端位置的索引;如果没有找到,则返回-1.

注意:在Python文档中[]表示可以省略部分内容,find()方法的参数[,start[,end]]表示start和问你的都可以省略。

我们在Python Shell中运行代码,看看运行结果怎样。

2、字符串替换

若想进行字符串替换,则可以使用replace()方法替换匹配的字符串,返回值是替换之后的字符串。该方法的语法是str.replace(old, new[, count],表示:用new子字符串替换old子字符串。count参数值定了替换old子字符的个数,如果count被省略,则替换所有old子字符串。

我们在Python Shell中运行代码,看看运行结果怎样。

3、字符串分割

若想进行字符串分割,则可以使用split()方法,按照子字符串来分割字符串,返回字符串列表对象。该方法的语法为str.split(sep=None, maxsplit=-1),表示:使用sep子字符串分割字符串str。maxsplit是最大分割次数,如果maxsplit被省略,则表示不显示分割次数。

我们在Python Shell中运行代码,看看运行结果怎样。

五、动动手——统计英文文章中单词出现的频率

英文文章中的单词是用过空格分割的,当然有的单词后面还有标点符号。下面,我们动手编写程序,统计英文文章中单词出现的频率,参考代码如下:

通过Python指令运行文件

问:本篇只学习了3种字符串操作方法(查找、替换和分割),听说在实际工作中字符串还有很多,例如:截取、大小写转换、去除前后空格等等?

答:是的,在想要截取字符串时可以使用序列的切片操作,至于字符串的其他操作方法,可以查询官方文档。只要是安装了Python的官方安装包,那么电脑上就有官方文档。

练一练

1、设有变量s='Python',则"{0: 3}".format(s)表达式的输出结果是(B)。

A、'hon' B、'Python' C、'PYTHON' D、'PYT'

解析:

2、设有变量赋值s="Hello World",则以下选项是可以输入"World"子字符串的是(D)。

A、print(s[-5:-1]) B、print(s[-5:0]) C、print(s[-4:-1]) D、print(s[-5:])

解析:

3、在以下选项中可以导致"World"字符串的是(B)。

A、"World"[::-1] B、"World"[::] C、"World"[0::-1] D、"World"[-1::1]

解析:

4、判断对错(请在括号内打√或×,√表示正确,×表示错误)

1)原始字符串是在普通字符串前加r,使用它的优势是:在字符串中特殊字符不需要被转义。(

解析:原始字符串中的特殊字符不需要被转义,按照字符串的本来样子呈现。在普通字符串前加r就是原始字符串了。

2)长字符串是,使用三个单引号(''')或三个双引号(""")括起来的字符串没使用它的优势是:在字符串中特殊字符不需要被转义。(×

解析:如果要使用字符串表示一篇文章,其中包含了换行、缩进等排版字

符,则可以使用长字符串表示。对于长字符串,要使用三个单引号('''

)或三个双引号(""")括起来。如果想在字符串中包含一些特殊的字符,例如换行符、制表符等,在普通字符串中就需要转义,前面要加上反斜杠()

3)将字符串转化为数字,可以使用int()和float()函数实现。(

解析:将字符串转换为数字,可以使用int()和float()实现,如果成功则返回数字,否则引发异常。

4)将数字转换为字符串,可以使用str()函数实现。(

解析:将数字转换为字符串,可以使用str()函数,str()函数可以将很多类型的数据都转换为字符串。

字符串的相关只是暂且学到这里,接下来是本周的收藏:这周好巧不巧我的U盘故障,我存的文档和素材差点啊……慌到不行,赶紧想办法。经过大神指导我的U盘复活了。把方法记录下来,防止以后再出状况。

首先需要win+r打开运行,输入“gpedit.msc“”,回车进入本地组策略编辑器。

在本地组策略编辑器窗口打开“管理模板”,选择“系统”,找到“可移动存储访问”。

双击"所有可移动存储类”,点击编辑,

选择“未配置”,最后确定。

激动的我泪流满面。我的“家当”都乖乖的躺在U盘里,整整齐齐一个不落。

展开阅读全文

页面更新:2024-04-18

标签:字符串   表达式   函数   字符   原始   参数   操作   代码   数字   方法

1 2 3 4 5

上滑加载更多 ↓
推荐阅读:
友情链接:
更多:

本站资料均由网友自行发布提供,仅用于学习交流。如有版权问题,请与我联系,QQ:4156828  

© CopyRight 2020-2024 All Rights Reserved. Powered By 71396.com 闽ICP备11008920号-4
闽公网安备35020302034903号

Top