Python中字符串指的是什么

  介绍

小编给大家分享一下Python中字符串指的是什么,希望大家阅读完这篇文章之后都有所收获、下面让我们一起去探讨吧!

<强> 1 Python字符串是什么?

根据维基百科定义:字符串是由零个或多个字符组成的有限序列。而在Python 3中,它有着更明确的意思:字符串是由Unicode码点组成的不可变序列(字符串是不可变的Unicode代码点序列。)

字符串是一种序列,这意味着它具备序列类型都支持的操作:

#,以下的年代,t皆表示序列,x表示元素   # x  s 拷贝;若年代包含x,返回真,否则返回错误的   x  not  s 拷贝;#,若年代包含x,返回假,否则返回正确的   # + s  t 连接两个序列   s  *, n  #,年代复制n次   [我],#,年代的索引第项   年代(i, j), #,年代切片从我第项到第j - 1项   年代(i, j, k), #,年代切片从我第项到第j - 1项,间隔为k   len (s), #,年代的长度   最小值(s), #,年代的最小元素   马克斯(s), #,年代的最大元素   s.index (x), #, x的索引位置   s.count (x), #,年代中出现x的总次数

字符串序列还具备一些特有的操作,限于篇幅,按下不表。预告一下,下一篇《你真的知道Python的字符串怎么用吗?》将会展开介绍,敬请期待……

字符串序列是一种不可变序列,这意味着它不能像可变序列一样,进行就地修改。例如,在字符串“巨蟒”的基础上拼接“猫”,得到字符串“PythonCat”,新的字符串是一个独立的存在,它与基础字符串“Python”并没有关联关系。

basename =,“Python"   +=myname  basename “Cat"   id (basename),==, id(的名字),在祝辞祝辞,假 #,作为对比,列表能就地修改   baselist =, (“Python")   baselist.append (“Cat")   打印(baselist),在祝辞祝辞,[& # 39;Python # 39;,, & # 39;猫# 39;]

字符串这种序列与其它序列(如列表,元组)的不同之处在于,它的“元素”限定了只能是Unicode码点.Unicode码点是什么呢?简单理解,就是用Unicode编码的字符。那字符是什么呢?字符是人类书写系统的各类符号,例如阿拉伯数字,拉丁字母,中文,日文,藏文,标点符号,控制符号(换行符,制表符等),其它特殊符号(@ #¥% $ *等等)。那Unicode编码又是什么呢? Unicode别名是万国码,国际码,它是一种适用性最广的,将书写字符编码为计算机数字的标准。

总所周知,在最底层的计算机硬件世界里,只有0和1。那么,怎么用这个二进制数字,来表示人类的文化性的字符呢?这些字符数量庞大,而且还在日益增长与变化,什么样的编码方案才是最靠谱的呢?

历史上,人类创造了多种多样的字符编码标准,例如ASCII(1963年)编码,以西欧语言的字符为主,它的缺点是只能编码128个字符,例如GB2312(1981年),这是中国推出的编码标准,在兼容ASCII标准的基础上,还加入了对日文,俄文等字符的编码,但缺点仍是编码范围有限,无法表示古汉语,繁体字及更多书写系统的字符。

Unicode编码标准于1991年推出,至今迭代到了第11版,已经能够编码146个书写系统的130000个字符,可谓是无所不包,真不愧是“国际码”.Unicode编码其实是一个二进制字符集,它建立了从书写字符映射成唯一的数字字符的关系,但是,由于各系统平台对字符的理解差异,以及出于节省空间的考虑,Unicode编码还需要再做一次转换,转换后的新的二进制数字才能作为实际存储及网络传输时的编码。

这种转换方式被称为Unicode转换格式(Unicode转换格式,简称为UTF),它又细分为UTF - 8, UTF - 16, UTF - 32等等方式。我们最常用的是UTF - 8。为什么UTF - 8最常用呢?因为它是可变长度的编码方案,针对不同的字符使用不同的字节数来编码,例如编码英文字母时,只需要一个字节(8个比特),而编码较复杂的汉字时,就会用到三个字节(24个比特)。

 Python中字符串指的是什么

二进制的编码串可以说是给机器阅读的,为了方便,我们通常会将其转化为十六进制,例如“中”字的Unicode编码可以表示成0 x4e2d,其UTF - 8编码可以表示为0 xe4b8ad & # 39; 0 x # 39;用于开头表示十六进制,这样就简洁多了。不过,UTF - 8编码的结果会被表示成以字节为单位的形式,例如“中”字用UTF - 8编码后的字节形式是\ xe4 \ xb8 \ xad。

Python中为了区分Unicode编码与字节码,分别在开头加“u”和“b”以示区分。在Python 3中,因为Unicode成了默认编码格式,所以“u”被省略掉了。

Python中字符串指的是什么