运算符与表达式
1.在解释器总执行运算
在Python的解释器中,你可以交互地使用解释器来进行计算。
例如输入:
`
222+222
`
解释器会直接显示结果:>>>444
2.运算符及用法
运算符 名称 说明 例子
与其他语言基本一致
3. 运算符的优先级(由低到高)
默认地,运算符优先级表决定了哪个运算符在别的运算符之前计算。
运算符 描述
- lambda Lambda表达式
- or 布尔“或”
- and 布尔“与”
- not x 布尔“非”
- in,not in 成员测试
- is,is not 同一性测试
- <,<=,>,>=,!=,== 比较
- | 按位或
- ^ 按位异或
- & 按位与
- <<,>> 移位
- +,- 加法与减法
- *,/,% 乘法、除法与取余
- +x,-x 正负号
- ~x 按位翻转
- ** 指数
- x.attribute 属性参考
- x[index] 下标
- x[index:index] 寻址段
- f(arguments…) 函数调用
- (experession,…) 绑定或元组显示
- [expression,…] 列表显示
- {key:datum,…} 字典显示
- ‘expression,…’ 字符串转换然而,如果你想要改变它们的计算顺序,你得使用圆括号。
例如:>>>3*(3+2)
输出结果为>>>15
1 | #!/usr/bin/env python |
序列
- 在Python中最基本的数据结构是序列,序列中的每个元素被分配了一个序号——即元素的位置,叫做索引。第一个索引是0,第二个是1,而倒数第一个元素可以标记为-1,倒数第二个为-2以此类推。
- 序列的元素可以是之前讲的所有基础数据类型,也可以是另一个序列,还可以是之后我们将要将的对象。
- 序列最常用的有两类,元组(tuple)和列表(list)。两者的区别是,列表可以修改,而元组不行。
1 | "霸天虎","男",19) #student1就是元组 student1=( |
1 | "汤姆猫","男",22] #student2就是列表 student2=[ |
1 | "王尼玛","男","未知",["脑袋大","脖子短","屁股圆"]) #在序列中的元素也是序列 student3=( |
序列的操作
1.索引1
2
3
4
5
0] #显示元组student1的第一个元素 student1[
'霸天虎'
-1] #显示元组student1的最后一个元素 student1[
19
1 | -1][0] #显示元组student3最后一个元组元素中的第一个元素 student3[ |
1.1分片
使用索引访问的是单个元素,而使用分片访问的是一坨元素
基本样式[下限:上限:步长],步长省略默认步长为1.1
2
31,2,3,4,5,6,7,8,9] numbers=[
0:3] #显示从第一个(包括第一个)到第三个(包括第三个)之间的元素,类似for(int i=0,i<3,i++) numbers[
[1, 2, 3]
1 | 8:11] #显示第9个到第11个元素,因为没有第11个,所以只输出第9个元素 numbers[ |
1 | 3] #如果索引空缺,则默认索引两端 numbers[: |
1 | 0:5:2] #显示第1个到第5个元素,且步长为2 numbers[ |
1 | 3] #步长3,从左向右输出 numbers[:: |
1 | -1] #步长为1,从右向左输出 numbers[:: |
2.赋值
元组不可修改,而列表可以修改。1
2
3
4
5
6
7
8
90]="擎天柱" #给元组student1第一个元素重新赋值,结果报错 student1[
Traceback (most recent call last):
File "<pyshell#22>", line 1, in <module>
student1[0]="擎天柱"
TypeError: 'tuple' object does not support item assignment
0]="纸巾" #给列表student2第一个元素复制,没有问题 student2[
student2
['纸巾', '男', 22]
3.序列相加与乘法
1 | "王小明"]+["男"] #序列的加法 [ |
1 | "王大头","男"]*11 #序列的乘法 a=[ |
4.序列的循环调用1
2
3student3=("王尼玛","男","未知",["脑袋大","脖子短","屁股圆"])
for a in student3:
print(a)
输出
1 | 王尼玛 |
词典
1.词典的定义1
>>>dic = {'tom':11, 'sam':57,'lily':100} #tom是键,11是值
词典和表类似的地方,是包含有多个元素,每个元素以逗号分隔。但词典的元素包含有两部分,键和值,常见的是以字符串来表示键,也可以使用数字或者真值来表示键(不可变的对象可以作为键)。值可以是任意对象。键和值两者一一对应。
与列表和元组不同的是,词典的元素没有顺序。你不能通过下标引用元素。词典是通过键来引用。
1 | dic = {'tom':11, 'sam':57,'lily':100} |
输出结果
1 | 11 |
2.词典的循环调用1
2
3dic = {'tom':11, 'sam':57,'lily':100}
for key in dic:
print(key,dic[key])
输出
1 | lily 100 |
小提示:
- 在初始化序列时,单个元素的排列仍是排列,单个元素的元组不是元祖。
python
(“dd”)
‘dd’ #不是元组
[“dd”]
[‘dd’] 其实tuple、list是python中的两个”类”。至于什么是类,之后我会提到
小括号是元组,中括号是列表,大括号是词典