【Python入门】第三章: Python变量和数据类型四

网友投稿 890 2022-11-19

【Python入门】第三章: Python变量和数据类型四

【Python入门】第三章: Python变量和数据类型四

第三章: Python变量和数据类型四

​​3. Python变量和数据类型四​​

​​3.8 Python的字符串编码​​​​3.9 Python的字符串切片​​

3. Python变量和数据类型四

3.8 Python的字符串编码

在python2中,字符串的编码问题是使用python2必经历的门槛,所幸到了python3,python3从编程语言的层面就减少了很多编码的问题,但是学习字符串编码还是很有必要的。

为什么有编码问题

因为计算机只能处理数字,如果要处理文本,就必须先把文本转换为数字才能处理。最早的计算机在设计时采用8个比特(bit)作为一个字节(byte),所以,一个字节能表示的最大的整数就是255(二进制11111111=十进制255),0 - 255被用来表示大小写英文字母、数字和一些符号,这种编码方式被称为ASCII编码,比如大写字母 A 的编码是65,小写字母 z 的编码是122。

Unicode的必要性

如果要表示中文,显然一个字节是不够的,至少需要两个字节,而且还不能和ASCII编码冲突,所以,中国制定了GB2312编码,用来把中文编进去。 类似的,日文和韩文等其他语言也有这个问题。为了统一所有文字的编码,Unicode应运而生。Unicode把所有语言都统一到一套编码里,这样就不会再有乱码问题了。 Unicode通常用两个字节表示一个字符,原有的英文编码从单字节变成双字节,只需要把高字节全部填为0就可以。

python3的编码

在python3中,默认使用UTF-8 Unicode来进行编码,因此我们可以在python中输入任意形式的Unicode字符串,都不会遇到像python2中遇到的问题(在python2中,需要显式指明该字符串是Unicode字符串),如果没有了解过python2,则完全可以忽略这一点,python3提供了更加简单易懂的编码方式。

s1 = '这是中文字符串's2 = 'this is an English string'print(s1)print(s2)

在python3中,中文字符串和英文字符串无异。

​​示例​​

请定义并打印中英文混合的字符串 “这是一句中英文混合的Python字符串:Hello World!”

# coding: utf-8s = '这是一句中英文混合的Python字符串:Hello World!'print(s

3.9 Python的字符串切片

字符串由一个个字符组成,每一个字符都有一个唯一的位置。比如字符串’ABC’,第一个字符是A,第二个字符是B,第三个字符是C。

因此我们可以使用位置的方式取出字符串中特定位置的字符,按照位置取字符串的方式使用中括号[]访问,这个时候可以把字符串看作是一个列表(一种新的数据类型,在后面会继续学习),不过需要注意的是,在程序的世界中,计数是从0开始的,使用0来表示第一个。

s = 'ABC'a = s[0] # 第一个b = s[1] # 第二个c = s[2] # 第三个print(a) # ==> Aprint(b) # ==> Bprint(c) # ==> C

有时候,我们会想获取字符串的一部分(子串),这个时候我们采取切片的方式获取,切片需要在中括号[]中填入两个数字,中间用冒号分开,表示子串的开始位置和结束位置,并且这是半闭半开区间,不包括最后的位置。

ab = s[0:2] # 取字符串s中的第一个字符到第三个字符,不包括第三个字符print(ab) # ==> AB

我们定义一个更长的字符串,了解切片更多的细节。

s = 'ABCDEFGHIJK'

abcd = s[0:4] # 取字符串s中的第一个字符到第五个字符,不包括第五个字符

print(abcd) # ==> ABCD

cdef = s[2:6] # 取字符串s中的第三个字符到第七个字符,不包括第七个字符

print(cdef) # ==> CDEF

​​示例​​

请从字符串’AABCDEFGHHIJ’中,使用切片的方式取出’ABCDEFGH’

a = 'AABCDEFGHHIJ'print(a[1:9])

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:LeetCode(算法)- 295. 数据流的中位数
下一篇:jmeter调试错误全集(入门必备)
相关文章

 发表评论

暂时没有评论,来抢沙发吧~