文章目录

  • 1、字符串
  • 2、三引号
  • 3、访问字符串的值
  • 下标索引
  • 字符串中“下标”的使用
  • 正向递增序号
  • 反向递减序号(负数索引)
  • 练一练
  • 4、计算字符串的长度
  • 5、字符串的使用
  • 索引:返回字符串中单个字符
  • 切片:返回字符串中一段字符子串。
  • 练一练


1、字符串

单引号、双引号、三引号中的数据,就是字符串。
字符串是一种表示文本数据的类型。

  • 使用单引号
'a' 、'123'
  • 使用双引号
"a"、"123"
  • 使用三引号(三对单引号或三对双引号)
"""
Hello
"""

2、三引号

python三引号允许一个字符串跨多行,字符串中可以包含换行符、制表符以及其他特殊字符。

三引号的语法是一对连续的单引号或者双引号(通常都是成对的用)。

三引号字符串 python 三引号字符串是什么_Python


三引号让程序员从引号和特殊字符串的泥潭里面解脱出来,自始至终保持一小块字符串的格式是所谓的WYSIWYG(所见即所得)格式的。

一个典型的用例是,当你需要一块HTML或者SQL时,这时用字符串组合,特殊字符串转义将会非常的繁琐。

三引号字符串 python 三引号字符串是什么_单引号_02

3、访问字符串的值

Python中没有字符类型,单个字符也是作为字符串使用的。如果希望访问字符串中的某个字符,则需要使用下标来实现。

下标索引

生活中的“下标”:

超市储物柜

三引号字符串 python 三引号字符串是什么_字符串_03


高铁二等座

三引号字符串 python 三引号字符串是什么_单引号_04


所谓“下标”,就是编号,就好比超市中的存储柜的编号,通过这个编号就能找到相应的存储空间。

字符串中“下标”的使用

字符串实际上就是字符的数组,所以也支持下标索引。

正向递增序号

字符串中的每个字符都对应一个下标,下标编号是从0开始的。

如果有字符串:name = 'abcdef',在内存中的实际存储如下:

三引号字符串 python 三引号字符串是什么_单引号_05


如果想取出单个字符,那么可以通过下标的方法,(注意Python中下标从 0 开始)

name[9]  越界
name[len(name)-1] --- > ”f”

反向递减序号(负数索引)

Python比较神奇,它的索引可以是负数。这个索引从右向左计数,也就是从最后一个元素开始计数,即最后一个元素的索引值是-1,倒数第二个元素的索引值是-2,依次类推,如下图所示:

三引号字符串 python 三引号字符串是什么_Python_06

name[-1]  ---- > “f”

三引号字符串 python 三引号字符串是什么_Python_07

练一练

(1)取出“Python技术学习班20210225”中的第8个字符。
(2)编写程序,统计出字符串“want you to know one thing”中字母n和字母o的出现次数。

4、计算字符串的长度

Python中,提供了len()函数计算字符串的长度,语法格式如下:

len(string)

其中,string用于指定要进行长度统计的字符串。

三引号字符串 python 三引号字符串是什么_单引号_08


从上面的结果中可以看出,在默认的情况下,通过len()函数计算字符串的长度时,不区分英文、数字和汉字,所有字符都按一个字符计算。在实际开发时,有时需要获取字符串实际所占的字节数。由于不同的字符所占字节数不同,所以要计算字符串的字节数,需要先了解各字符所占的字节数。在Python中,数字、英文、小数点、下划线和空格占一个字节;一个汉字可能会占2~4个字节,占几个字节取决于采用的编码。汉字在GBK/GB2312编码中占2个字节,在UTF-8/unicode编码中一般占用3个字节(或4个字节)。下面以Python默认的UTF-8编码为例进行说明,即一个汉字占3个字节,如下图所示。

三引号字符串 python 三引号字符串是什么_Python_09


如果釆用UTF-8编码,汉字占3个字节,采用GBK或者GB2312时,汉字占2个字节。这时,可以通过使用encode()方法进行编码后再进行获取。

三引号字符串 python 三引号字符串是什么_python_10

5、字符串的使用

索引:返回字符串中单个字符

string[M]   例如 arr[-1]

切片:返回字符串中一段字符子串。

切片是指对操作的对象截取其中一部分的操作。字符串、列表、元组都支持切片操作。
切片的语法格式如下所示:

string[start: end: step]

参数说明:

string:表示要截取的字符串。

start:表示要截取的第一个字符的索引(包括该字符),如果不指定,则默认为0

end:表示要截取的最后一个字符的索引(不包括该字符),如果不指定则默认为字符串的长度。

step:表示切片的步长,如果省略,则默认为1,当省略该步长时,最后一个冒号也可以省略。

注意:切片选取的区间属于左闭右开型,即从"起始"位开始,到"结束"位的前一位结束(不包含结束位本身)。步长为1可以省略。

三引号字符串 python 三引号字符串是什么_单引号_11


三引号字符串 python 三引号字符串是什么_字符串_12


三引号字符串 python 三引号字符串是什么_Python_13

练一练

(1)从任意给定的身份证号码中提取此人的出生日期。
(2)给定一个字符串aStr, 请反转字符串。
(3)使用字符串存储星期,用户从键盘输入1-7的某个整数,输出对应的星期。
输入:1-7的整数,表示星期几。
输出:输入整数对应的星期字符串。
例如:输入3,输出 星期三。