11e5字符串 - (EPUB全文下载)

文件大小:0.11 mb。
文件格式:epub 格式。
书籍内容:

字符串
在任何一本编程书籍之中,关于字符串的内容总是很长 —— 就好像每本英语语法书中,关于动词的内容总是占全部内容的至少三分之二。这也没什么办法,因为处理字符串是计算机程序中最普遍的需求 —— 因为程序的主要功能就是完成人机交互,人们所用的就是字符串而不是二进制数字。
在计算机里,所有的东西最终都要被转换成数值。又由于计算机靠的是电路,所以,最终只能处理 
1
 和 
0
,于是,最基本的数值是二进制;于是,连整数、浮点数字,都要最终转换成二进制数值。这就是为什么在所有编程语言中 
1.1 + 2.2
 并不是你所想象的 
3.3
 的原因。
In [1]:
1.1
+
2.2
Out[1]:
3.3000000000000003
因为最终所有的值都要转换成二进制 —— 这时候,小数的精度就有损耗,多次浮点数字转换成二进制相互运算之后再从二进制转换为十进制之后返回的结果,精度损耗就更大了。因此,在计算机上,浮点数字的精度总有极限。有兴趣进一步可以看看
关于 decimal 模块的文档

字符串也一样。一个字符串由 0 个字符或者多个字符构成,它最终也要被转换成数值,再进一步被转换成二进制数值。空字符串的值是 
None
,即便是这个 
None
 —— 也最终还是要被转换成二进制的 
0

字符码表的转换
很久以前,计算机的中央处理器最多只能够处理 8 位二进制数值,所以,那时候的计算机只能处理 256 个字符,即,2
8

 个字符。那个时候计算机所使用的码表叫 ASCII。现在计算机的中央处理器,大多是 64 位的,所以可以使用 2
64

 容量的码表,叫做 
Unicode
。随着多年的收集,2018 年 6 月 5 日公布的 
11.0.0
 版本已经包含了 13 万个字符 —— 突破 10 万字符是在 2005 年
[1]


把单个字符转换成码值的函数是 
ord()
,它只接收单个字符,否则会报错;它返回该字符的 unicode 编码。与 
ord()
 相对的函数是 
chr()
,它接收且只接收一个整数作为参数,而后返回相应的字符。
ord()
 接收多个字符的话会报错。
In [2]:
from
IPython.core.interactiveshell
import
InteractiveShell
InteractiveShell
.
ast_node_interactivity
=
"all"
 
ord
(
'a'
)
chr
(
122
)
 
ord
(
'氅'

# 完了,汉字也有你不认识的吧?
chr
(
25354
)
# 这个字估计你也不认识……
 
# ord('Python') # 这一句会报错
Out[2]:
97
Out[2]:
'z'
Out[2]:
27653
Out[2]:
'挊'
字符串的标示
标示一个字符串,有 4 种方式,用单引号、用双引号,用三个单引号或者三个双引号:
In [3]:
'Simple is better than complex.'
# 用单引号
Out[3]:
'Simple is better than complex.'
In [4]:
"Simple is better than complex."
# 用双引号
Out[4]:
'Simple is better than complex.'
In [5]:
# 用三个单引号。注意输出结果中的 \n
# 这个字符串,看起来是两行,保存在内存或者变量之中的时候,
# 是一整串,其中的换行是用 \n 表示的。
'''
Simple is better than complex.
Complex is better than complicated.
'''
Out[5]:
'\nSimple is better than complex.\nComplex is better than complicated.\n'
In [6]:
#用三个双引号。注意输出结果中的 \n
"""
Simple is better than complex.
Complex is better than complicated.
"""
Out[6]:
'\nSimple is better than complex.\nComplex is better than complicated.\n'
In [7]:
print
(
"""
Simple is better than complex.
Complex is better than complicated.
"""
)
#用 print() 输出的时候,\n 就是不可见字符,字符串本身如下:
# '\nSimple is better than complex.\nComplex is better than complicated.\n'
# 其中的 \n 被打印出来的时候显示成换行
Simple is better than complex.
Complex is better than complicated.
 
字符串与数值之间的转换
由数字构成的字符串,可以被转换成数值,转换整数用 
int()
,转换浮点数字用 
float()

与之相对,用 
str()
,可以将数值转换成字符串类型。
注意,int() 在接收字符串为参数的时候,只能做整数转换。下面代码最后一行会报错:
In [8]:
from
IPython.core.interactiveshell
import
InteractiveShell
InteractiveShell
.
ast_node_interactivity
=
"all"
 
int
(
'3'
)
float
(
'3'
)
str
(
3.1415926
)
# int('3.1415926') # 这一行会报错
Out[8]:
3
Out[8]:
3.0 ............

书籍插图:
书籍《11e5字符串》 - 插图1

以上为书籍内容预览,如需阅读全文内容请下载EPUB源文件,祝您阅读愉快。

版权声明:书云(openelib.org)是世界上最大的在线非盈利图书馆之一,致力于让每个人都能便捷地了解我们的文明。我们尊重著作者的知识产权,如您认为书云侵犯了您的合法权益,请参考版权保护声明,通过邮件openelib@outlook.com联系我们,我们将及时处理您的合理请求。 数研咨询 流芳阁 研报之家 AI应用导航 研报之家
书云 Open E-Library » 11e5字符串 - (EPUB全文下载)