python学习笔记03----运算符与表达式、序列

运算符与表达式

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
2
3
4
5
6
#!/usr/bin/env python  

a=40
b=60
area=a*b
print("Area is",area)

序列

  • 在Python中最基本的数据结构是序列,序列中的每个元素被分配了一个序号——即元素的位置,叫做索引。第一个索引是0,第二个是1,而倒数第一个元素可以标记为-1,倒数第二个为-2以此类推。
  • 序列的元素可以是之前讲的所有基础数据类型,也可以是另一个序列,还可以是之后我们将要将的对象。
  • 序列最常用的有两类,元组(tuple)和列表(list)。两者的区别是,列表可以修改,而元组不行。
1
2
3
>>> student1=("霸天虎","男",19)      #student1就是元组  
>>> student1 #在解释器中输入变量名称,可以显示变量值
('霸天虎', '男', 19)
1
2
3
>>> student2=["汤姆猫","男",22]      #student2就是列表  
>>> student2
['汤姆猫', '男', 22]
1
2
3
>>> student3=("王尼玛","男","未知",["脑袋大","脖子短","屁股圆"])   #在序列中的元素也是序列  
>>> student3
('王尼玛', '男', '未知', ['脑袋大', '脖子短', '屁股圆'])

序列的操作

1.索引

1
2
3
4
5

>>> student1[0] #显示元组student1的第一个元素
'霸天虎'
>>> student1[-1] #显示元组student1的最后一个元素
19

1
2
3
4
>>> student3[-1][0]        #显示元组student3最后一个元组元素中的第一个元素  
'脑袋大'
>>> student3[-1][0][0] #显示元组student3最后一个元组元素中的第一个元素字符串中的第一个字符
'脑'

1.1分片

使用索引访问的是单个元素,而使用分片访问的是一坨元素
基本样式[下限:上限:步长],步长省略默认步长为1.

1
2
3
>>> numbers=[1,2,3,4,5,6,7,8,9]  
>>> numbers[0:3] #显示从第一个(包括第一个)到第三个(包括第三个)之间的元素,类似for(int i=0,i<3,i++)
[1, 2, 3]

1
2
3
4
5
6
>>> numbers[8:11]                      #显示第9个到第11个元素,因为没有第11个,所以只输出第9个元素  
[9]
>>> numbers[-3:-1] #显示末第三到末第一个元素
[7, 8]
>>> numbers[-1:-3] #如果顺序写反,不会输出元素
[]
1
2
3
4
5
6
>>> numbers[:3]                        #如果索引空缺,则默认索引两端  
[1, 2, 3]
>>> numbers[-3:]
[7, 8, 9]
>>> numbers[7:]
[8, 9]
1
2
>>> numbers[0:5:2]                     #显示第1个到第5个元素,且步长为2  
[1, 3, 5]
1
2
>>> numbers[::3]                       #步长3,从左向右输出  
[1, 4, 7]
1
2
>>> numbers[::-1]                      #步长为1,从右向左输出  
[9, 8, 7, 6, 5, 4, 3, 2, 1]

2.赋值

元组不可修改,而列表可以修改。

1
2
3
4
5
6
7
8
9
>>> student1[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
2
>>> ["王小明"]+["男"]                            #序列的加法  
['王小明', '男']
1
2
3
>>> a=["王大头","男"]*11                         #序列的乘法  
>>> a
['王大头', '男', '王大头', '男', '王大头', '男', '王大头', '男', '王大头', '男', '王大头', '男', '王大头', '男', '王大头', '男', '王大头', '男', '王大头', '男', '王大头', '男']

4.序列的循环调用

1
2
3
student3=("王尼玛","男","未知",["脑袋大","脖子短","屁股圆"])  
for a in student3:
print(a)

输出

1
2
3
4
王尼玛  

未知
['脑袋大', '脖子短', '屁股圆']

词典

1.词典的定义

1
>>>dic = {'tom':11, 'sam':57,'lily':100}          #tom是键,11是值

词典和表类似的地方,是包含有多个元素,每个元素以逗号分隔。但词典的元素包含有两部分,键和值,常见的是以字符串来表示键,也可以使用数字或者真值来表示键(不可变的对象可以作为键)。值可以是任意对象。键和值两者一一对应。

与列表和元组不同的是,词典的元素没有顺序。你不能通过下标引用元素。词典是通过键来引用。

1
2
3
4
5
6
dic = {'tom':11, 'sam':57,'lily':100}  
print(dic['tom'])
dic['tom'] = 30
dic['王尼玛']=250 #可以通过这种形式向词典中添加元素

print(dic)

输出结果

1
2
11  
{'sam': 57, '王尼玛': 250, 'tom': 30, 'lily': 100}

2.词典的循环调用

1
2
3
dic = {'tom':11, 'sam':57,'lily':100}  
for key in dic:
print(key,dic[key])

输出

1
2
3
lily 100  
sam 57
tom 11

小提示:

  1. 在初始化序列时,单个元素的排列仍是排列,单个元素的元组不是元祖。
    python

    (“dd”)
    ‘dd’ #不是元组
    [“dd”]
    [‘dd’]

  2. 其实tuple、list是python中的两个”类”。至于什么是类,之后我会提到

  3. 小括号是元组,中括号是列表,大括号是词典