Python文档学习笔记(2)--将Python用作计算

数字

基本形式没什么特殊的

>>> (50 - 5*6) / 4
5.0

除法有些特殊

>>> 17 / 3  # 除法返回浮点数
5.666666666666667
>>>
>>> 17 // 3  # 地板除法丢弃小数部分
5
>>> 17 % 3  # %运算符返回余数

n次方运算

>>> 5 ** 2
25

在交互模式下,最后输出的表达式会被赋值给变量_

用户应该将这个变量视为只读的。不要试图去给它赋值 — — 你将会创建出一个独立的同名局部变量,并且屏蔽了内置变量的魔术效果。

>>> tax = 12.5 / 100
>>> price = 100.50
>>> price * tax
12.5625
>>> price + _
113.0625
>>> round(_, 2)
113.06

Number数据类型详情(待):

字符串

可以被括在单引号 ('...') 或双引号 ("...") 中,二者等价 。\ 可以用于转义'︰

>>> 'spam eggs'  
'spam eggs'
>>> 'doesn\'t' 
"doesn't"
>>> "doesn't" 
"doesn't"

如果你不想让 \ 被解释为特殊字符开头的字符,您可以通过添加 r 使用 原始字符串

>>> print('C:\some\name')  # \n换行
C:\some
ame
>>> print(r'C:\some\name')  # 这里不转义,所以不换行
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 * 'un' + 'ium'
'unununium'

相邻的两个或多个字符串字面量(用引号引起来的)会自动连接。

这只适用于两个字面值,不适用于变量和表达式

如果你想连接多个变量或者连接一个变量和一个字面量,使用“+”

>>> 'Py' 'thon'
'Python'

字符串可以索引,第一个字符的索引值为0。Python没有单独的字符类型;一个字符就是一个简单的长度为1的字符串。

>>> word = 'Python'
>>> word[0] 
'P'

>>> word[-1]  #注意,因为 -0 和 0 是一样的,负的索引从 -1 开始
'n

除了索引,还支持切片索引用于获得单个字符,切片让你获得子字符串:

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

>>> word[0:2]      #总是包含开始字符,排除结束字符,看作集合的话应该是[0,2)
'Py'

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

但是,当用于切片时,超出范围的切片索引会被得体地处理

>>> word[42]  # word没有42个字符
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
IndexError: string index out of range



>>> word[4:42]
'on'
>>> word[42:]
''

Python 字符串不能更改 — — 他们是不可变的。因此,赋值给字符串索引的位置会导致错误:

>>> word[0] = 'J'
  ...
TypeError: 'str' object does not support item assignment
>>> word[2:] = 'py'
  ...
TypeError: 'str' object does not support item assignment

如果你需要一个不同的字符串,你应该创建一个新的:

>>> 'J' + word[1:]
'Jython'
>>> word[:2] + 'py'
'Pypy

内建函数len() 返回字符串的长度:

>>> s = 'supercalifragilisticexpialidocious'
>>> len(s)
34

字符串基本数据类型详情(待):

列表

写成中括号中的一列用逗号分隔的值。列表可以包含不同类型的元素

>>> squares = [1, 4, 9, 16, 25]
>>> squares
[1, 4, 9, 16, 25]

列表可以被索引和切片︰

>>> squares[-1]
25
>>> squares[-3:]  
[9, 16, 25]

各种切片操作会返回一个包含所请求元素的新列表。这意味着下面这个切片操作将会返回一个此列表的(浅)拷贝:

>>> squares[:]
[1, 4, 9, 16, 25]

列表也支持连接这样的操作:

>>> squares + [36, 49, 64, 81, 100]
[1, 4, 9, 16, 25, 36, 49, 64, 81, 100]

>>> squares*3
[1, 4, 9, 16, 25, 1, 4, 9, 16, 25, 1, 4, 9, 16, 25]

与字符串的不可变特性不同,列表是可变的类型,例如可以改变它们的内容:

>>> cubes = [1, 8, 27, 65, 125] 
>>> cubes[3] = 64 
>>> cubes
[1, 8, 27, 64, 125]

你还可以通过append () 方法 在列表的末尾添加新的项目

>>> cubes.append(216)  
>>> cubes.append(7 ** 3) 
>>> cubes
[1, 8, 27, 64, 125, 216, 343]

赋值到切片也是可以的

>>> letters = ['a', 'b', 'c', 'd', 'e', 'f', 'g']
>>> letters
['a', 'b', 'c', 'd', 'e', 'f', 'g']
>>> # 移除一些元素
>>> letters[2:5] = ['C', 'D', 'E']
>>> letters
['a', 'b', 'C', 'D', 'E', 'f', 'g']
>>> # 移除[2:5]
>>> letters[2:5] = []
>>> letters
['a', 'b', 'f', 'g']
>>> # 移除所有
>>> letters[:] = []
>>> letters
[]

内建函数 len() 同样适用于列表:

>>> letters = ['a', 'b', 'c', 'd']
>>> len(letters)
4

列表可以嵌套 (创建包含其他列表的列表),例如:

>>> a = ['a', 'b', 'c']
>>> n = [1, 2, 3]
>>> x = [a, n]
>>> x
[['a', 'b', 'c'], [1, 2, 3]]
>>> x[0]
['a', 'b', 'c']
>>> x[0][1]
'b'

列表详情(待):

猜你喜欢

转载自www.cnblogs.com/IMWU/p/10880389.html