文章目录
- 1、字符串
- 2、三引号
- 3、访问字符串的值
- 下标索引
- 字符串中“下标”的使用
- 正向递增序号
- 反向递减序号(负数索引)
- 练一练
- 4、计算字符串的长度
- 5、字符串的使用
- 索引:返回字符串中单个字符
- 切片:返回字符串中一段字符子串。
- 练一练
1、字符串
单引号、双引号、三引号中的数据,就是字符串。
字符串是一种表示文本数据的类型。
- 使用单引号
'a' 、'123'
- 使用双引号
"a"、"123"
- 使用三引号(三对单引号或三对双引号)
"""
Hello
"""
2、三引号
python
三引号允许一个字符串跨多行,字符串中可以包含换行符、制表符以及其他特殊字符。
三引号的语法是一对连续的单引号或者双引号(通常都是成对的用)。
三引号让程序员从引号和特殊字符串的泥潭里面解脱出来,自始至终保持一小块字符串的格式是所谓的WYSIWYG
(所见即所得)格式的。
一个典型的用例是,当你需要一块HTML
或者SQL
时,这时用字符串组合,特殊字符串转义将会非常的繁琐。
3、访问字符串的值
Python
中没有字符类型,单个字符也是作为字符串使用的。如果希望访问字符串中的某个字符,则需要使用下标来实现。
下标索引
生活中的“下标”:
超市储物柜
高铁二等座
所谓“下标”,就是编号,就好比超市中的存储柜的编号,通过这个编号就能找到相应的存储空间。
字符串中“下标”的使用
字符串实际上就是字符的数组,所以也支持下标索引。
正向递增序号
字符串中的每个字符都对应一个下标,下标编号是从0
开始的。
如果有字符串:name = 'abcdef'
,在内存中的实际存储如下:
如果想取出单个字符,那么可以通过下标的方法,(注意Python
中下标从 0
开始)
name[9] 越界
name[len(name)-1] --- > ”f”
反向递减序号(负数索引)
Python
比较神奇,它的索引可以是负数。这个索引从右向左计数,也就是从最后一个元素开始计数,即最后一个元素的索引值是-1
,倒数第二个元素的索引值是-2
,依次类推,如下图所示:
name[-1] ---- > “f”
练一练
(1)取出“Python技术学习班20210225
”中的第8个字符。
(2)编写程序,统计出字符串“want you to know one thing
”中字母n和字母o的出现次数。
4、计算字符串的长度
在Python
中,提供了len()
函数计算字符串的长度,语法格式如下:
len(string)
其中,string
用于指定要进行长度统计的字符串。
从上面的结果中可以看出,在默认的情况下,通过len()
函数计算字符串的长度时,不区分英文、数字和汉字,所有字符都按一个字符计算。在实际开发时,有时需要获取字符串实际所占的字节数。由于不同的字符所占字节数不同,所以要计算字符串的字节数,需要先了解各字符所占的字节数。在Python
中,数字、英文、小数点、下划线和空格占一个字节;一个汉字可能会占2~4
个字节,占几个字节取决于采用的编码。汉字在GBK/GB2312
编码中占2
个字节,在UTF-8/unicode
编码中一般占用3
个字节(或4
个字节)。下面以Python
默认的UTF-8编码为例进行说明,即一个汉字占3个字节,如下图所示。
如果釆用UTF-8
编码,汉字占3
个字节,采用GBK
或者GB2312
时,汉字占2
个字节。这时,可以通过使用encode()方法进行编码后再进行获取。
5、字符串的使用
索引:返回字符串中单个字符
string[M] 例如 arr[-1]
切片:返回字符串中一段字符子串。
切片是指对操作的对象截取其中一部分的操作。字符串、列表、元组都支持切片操作。
切片的语法格式如下所示:
string[start: end: step]
参数说明:
string
:表示要截取的字符串。
start
:表示要截取的第一个字符的索引(包括该字符),如果不指定,则默认为0
。
end
:表示要截取的最后一个字符的索引(不包括该字符),如果不指定则默认为字符串的长度。
step
:表示切片的步长,如果省略,则默认为1
,当省略该步长时,最后一个冒号也可以省略。
注意:切片选取的区间属于左闭右开型,即从"起始"位开始,到"结束"位的前一位结束(不包含结束位本身)。步长为1
可以省略。
练一练
(1)从任意给定的身份证号码中提取此人的出生日期。
(2)给定一个字符串aStr
, 请反转字符串。
(3)使用字符串存储星期,用户从键盘输入1-7的某个整数,输出对应的星期。
输入:1-7的整数,表示星期几。
输出:输入整数对应的星期字符串。
例如:输入3,输出 星期三。