运算符与表达式
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  | student1=("霸天虎","男",19) #student1就是元组  | 
1  | student2=["汤姆猫","男",22] #student2就是列表  | 
1  | student3=("王尼玛","男","未知",["脑袋大","脖子短","屁股圆"]) #在序列中的元素也是序列  | 
序列的操作
1.索引1
2
3
4
5
student1[0]            #显示元组student1的第一个元素  
'霸天虎'  
student1[-1]           #显示元组student1的最后一个元素  
19
1  | student3[-1][0] #显示元组student3最后一个元组元素中的第一个元素  | 
1.1分片
使用索引访问的是单个元素,而使用分片访问的是一坨元素
基本样式[下限:上限:步长],步长省略默认步长为1.1
2
3numbers=[1,2,3,4,5,6,7,8,9]  
numbers[0:3]                       #显示从第一个(包括第一个)到第三个(包括第三个)之间的元素,类似for(int i=0,i<3,i++)  
[1, 2, 3]
1  | numbers[8:11] #显示第9个到第11个元素,因为没有第11个,所以只输出第9个元素  | 
1  | numbers[:3] #如果索引空缺,则默认索引两端  | 
1  | numbers[0:5:2] #显示第1个到第5个元素,且步长为2  | 
1  | numbers[::3] #步长3,从左向右输出  | 
1  | numbers[::-1] #步长为1,从右向左输出  | 
2.赋值
元组不可修改,而列表可以修改。1
2
3
4
5
6
7
8
9student1[0]="擎天柱"                         #给元组student1第一个元素重新赋值,结果报错  
Traceback (most recent call last):  
  File "<pyshell#22>", line 1, in <module>  
    student1[0]="擎天柱"  
TypeError: 'tuple' object does not support item assignment  
student2[0]="纸巾"                           #给列表student2第一个元素复制,没有问题  
student2  
['纸巾', '男', 22]  
3.序列相加与乘法
1  | ["王小明"]+["男"] #序列的加法  | 
1  | a=["王大头","男"]*11 #序列的乘法  | 
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中的两个”类”。至于什么是类,之后我会提到
小括号是元组,中括号是列表,大括号是词典