Python 2.7.12 官方入门指南 中文版(4)

2019-02-15 19:40

>>> price = 100.50 >>> price * tax 12.5625

>>> price + _ 113.0625

>>> round(_, 2) 113.06

此变量对于用户是只读的。不要尝试给它赋值 —— 你只会创建一个独立的同名局部变量,它屏蔽了系统内置变量的魔术效果。

除了 int 和 float,Python 还支持其它数字类型,例如 Decimal 和 Fraction。Python 还内建支持 复数 ,使用后缀 j 或 J 表示虚数部分(例如,3+5j)。 编者注:下面这一部分的内容在这一版本中已经删除,但是为了让大家更加清楚的了解复数,暂时保留在这里。

复数也得到支持;带有后缀 j 或 J 就被视为虚数。带有非零实部的复数写为 (real+imagj) ,或者可以用 complex(real, imag) 函数创建。 >>> 1j * 1J (-1+0j)

>>> 1j * complex(0, 1) (-1+0j) >>> 3+1j*3 (3+3j)

>>> (3+1j)*3 (9+3j)

>>> (1+2j)/(1+1j) (1.5+0.5j)

复数的实部和虚部总是记为两个浮点数。要从复数 z 中提取实部和虚部,使用 z.real 和 z.imag: >>> a=1.5+0.5j >>> a.real 1.5

>>> a.imag 0.5

浮点数和整数之间的转换函数 (float 和 int 以及 long) 不能用于复数。没有什么正确方法可以把一个复数转成一个实数。函数 abs(z) 用于获取其模(浮点数)或 z.real 获取其实部:

>>> a=3.0+4.0j >>> float(a)

Traceback (most recent call last): File \, line 1, in ?

TypeError: can't convert complex to float; use abs(z) >>> a.real 3.0

>>> a.imag 4.0

>>> abs(a) # sqrt(a.real**2 + a.imag**2) 5.0

3.1.2. 字符串

相比数值,Python 也提供了可以通过几种不同方式表示的字符串。它们可以用单引号 ('...') 或双引号 (\) 标识 [2]。\\ 可以用来转义引号:

>>> 'spam eggs' # single quotes 'spam eggs'

>>> 'doesn\\'t' # use \\' to escape the single quote... \

>>> \ # ...or use double quotes instead \

>>> '\ '\

>>> \ '\

>>> '\ '\

在交互式解释器中,输出的字符串会用引号引起来,特殊字符会用反斜杠 (\\) 转义。虽然可能和输入看上去不太一样,但是两个字符串是相等的。如果字符串中只有单引号而没有双引号,就用双引号引用,否则用单引号引用。再强调一下,print 语句可以生成可读性更好的输出:

>>> '\ '\

>>> print '\ \

>>> s = 'First line.\\nSecond line.' # \\n means newline >>> s # without print, \\n is included in the output 'First line.\\nSecond line.'

>>> print s # with print, \\n produces a new line

First line. Second line.

如果你前面带有 \\ 的字符被当作特殊字符,你可以使用 原始字符串,方法是在第一个引号前面加上一个 r: >>> print 'C:\\some\\name' # here \\n means newline! C:\\some ame

>>> print r'C:\\some\\name' # note the r before the quote C:\\some\\name

字符串文本能够分成多行。一种方法是使用三引号:\ 或者 '''...'''。行尾换行符会被自动包含到字符串中,但是可以在行尾加上 \\ 来避免这个行为。下面的示例: 可以使用反斜杠为行结尾的连续字符串,它表示下一行在逻辑上是本行的后续内容:

print \

Usage: thingy [OPTIONS]

-h Display this usage message -H hostname Hostname to connect to \

将生成以下输出(注意,没有开始的第一行):

Usage: thingy [OPTIONS]

-h Display this usage message -H hostname Hostname to connect to 字符串可以由 + 操作符连接(粘到一起),可以由 * 表示重复: >>> # 3 times 'un', followed by 'ium' >>> 3 * 'un' + 'ium' 'unununium'

相邻的两个字符串文本自动连接在一起。: >>> 'Py' 'thon' 'Python'

它只用于两个字符串文本,不能用于字符串表达式:

>>> prefix = 'Py' >>> prefix 'thon' # can't concatenate a variable and a string literal ...

SyntaxError: invalid syntax >>> ('un' * 3) 'ium'

...

SyntaxError: invalid syntax

如果你想连接多个变量或者连接一个变量和一个字符串文本,使用 +: >>> prefix + 'thon' 'Python'

这个功能在你想切分很长的字符串的时候特别有用:

>>> text = ('Put several strings within parentheses ' 'to have them joined together.') >>> text

'Put several strings within parentheses to have them joined together.'

字符串也可以被截取(检索)。类似于 C ,字符串的第一个字符索引为 0 。Python没有单独的字符类型;一个字符就是一个简单的长度为1的字符串。: >>> word = 'Python'

>>> word[0] # character in position 0 'P'

>>> word[5] # character in position 5 'n'

索引也可以是负数,这将导致从右边开始计算。例如: >>> word[-1] # last character 'n'

>>> word[-2] # second-last character 'o'

>>> word[-6] 'P'

请注意 -0 实际上就是 0,所以它不会导致从右边开始计算。

除了索引,还支持 切片。索引用于获得单个字符,切片 让你获得一个子字符串: >>> word[0:2] # characters from position 0 (included) to 2 (excluded) 'Py'

>>> word[2:5] # characters from position 2 (included) to 5 (excluded) 'tho'

注意,包含起始的字符,不包含末尾的字符。这使得 s[:i] + s[i:] 永远等于 s: >>> word[:2] + word[2:]

'Python'

>>> word[:4] + word[4:] 'Python'

切片的索引有非常有用的默认值;省略的第一个索引默认为零,省略的第二个索引默认为切片的字符串的大小。:

>>> word[:2] # character from the beginning to position 2 (excluded) 'Py'

>>> word[4:] # characters from position 4 (included) to the end 'on'

>>> word[-2:] # characters from the second-last (included) to the end 'on'

有个办法可以很容易地记住切片的工作方式:切片时的索引是在两个字符 之间 。左边第一个字符的索引为 0,而长度为 n 的字符串其最后一个字符的右界索引为 n。例如:

+---+---+---+---+---+---+ | P | y | t | h | o | n | +---+---+---+---+---+---+ 0 1 2 3 4 5 6 -6 -5 -4 -3 -2 -1

文本中的第一行数字给出字符串中的索引点 0...6。第二行给出相应的负索引。切片是从 i 到 j 两个数值标示的边界之间的所有字符。

对于非负索引,如果上下都在边界内,切片长度就是两个索引之差。例如,word[1:3] 是 2 。

试图使用太大的索引会导致错误:

>>> word[42] # the word only has 6 characters Traceback (most recent call last): File \, line 1, in IndexError: string index out of range

Python 能够优雅地处理那些没有意义的切片索引:一个过大的索引值(即下标值大于字符串实际长度)将被字符串实际长度所代替,当上边界比下边界大时(即切片左值大于右值)就返回空字符串: >>> word[4:42]


Python 2.7.12 官方入门指南 中文版(4).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:八年级语文第29课知识点汇总

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: