一.dictionary 字典
语法格式: {键:值}(即键值对)
实例:
mydict = {'name':'张三', 'age':18}
字典中值的添加:
当给字典添加一个不存在的键的时候为添加
myDict = {'name':'张三'}
myDict['age'] = 18 # 将age:18,添加到myDict里
字典的值的修改:
当给字段中已经存在的键赋新的值的时候,是对键key的值进行修改
myDict = {'name':'张三'}
myDict['name'] = '李四' # 将键key为name的值修改为李四
字典值的删除:
字典中值的删除是通过字典里的唯一的键进行删除
myDict = {'name':'张三'}
del myDict['name'] # 将key为name的删除
使用dict() 将键值对的序列构造成字典
# 使用dict()方法强转为字典
myList = [('name', 'zs'), ('age', 18), ('sex', ‘男’)]
myList = [{'name','zs'}, {'age', 18}, {'sex', '男'}]
myList = [['name', 'zs], ['age', 18], ['sex', '男']]
print(dict(myList)) # {'name':'张三','age':18,'sex':'男'}
注意:
1> 字典是一种映射类型, 元素是键值对的形式
2>字典的键为不重复类型(可以重复,但是后面的值会覆盖前面的值)
3>创建一个空字典使用{}
4>字典的取值是通过唯一的key,而不是通过索引的偏移量
字典的常用函数
函数名 | 函数说明 |
---|---|
myDict.items() | 返回一个能被for循环遍历的列表,每个元素为键值组成的元组 |
myDict.clear() | 清空字典 |
myDict.keys() | 获取字典所有的键 |
myDict.values() | 获取字典所有键对应的值 |
myDict.pop(key) | 弹出key对应的值, 并返回,若字典为空, 执行会报错 |
myDict.popitem() | 弹出字典最后一个键值对, 以元组的形式返回,若字典为空会报错 |
myDict.copy() | 字典的浅拷贝 |
copy.deepcopy(myDict) | 字典的深拷贝 |
二. 运算符
(一) 算数运算符
包括:
+运算, -运算, *运算, /运算, %运算
**:x的y次方
// 整除运算(如果参与运算的x和y都为整形, 结果为整形,x和y都一个为浮点型结果为浮点型)
(二) 比较运算符
==等于, != 不等于, >大于, <小于, >= 大于等于, <=小于等于
# python可以多个值一起比较大小
print(1<10<5) # False
print(1 < 3 < 5) # True 3大于1且小于5
(三) 赋值运算符
在python中赋值运算符包括:+=, -=, *=, /=, %=, **=, //=
(四) 逻辑运算符
and | 逻辑与,两侧都为真才为真 | a and b |
---|---|---|
or | 逻辑或, 一侧为真就为真 | a or b |
not | 逻辑非, 真为假, 假为真 | not a |
实例:
# 如果第一侧为真,会返回第二侧的值
print(10 and 20) # 20
print(10 and 0) # 0
print(10 and False) # False
# 如果第一侧为假,返回假的值
print(0 and 2) # 0
print(3>5 and 1>2) # False
print(1<2 and 3>2) # True 两侧为真
#对or的操作
# 如果前面为真,返回前面的值, 前面为假返回后面(第二侧)对应的值
print(1 or 2) #1
print(True or 5) # True
print(0 or 2) # 2
print(False or 0) # 0
print('a' or 0) # a
(五) 成员运算符
in | 值在指定的序列中返回真 |
---|---|
not in | 值不在指定的序列中返回真 |
(六) 身份运算符
is | 判断两个标识符是否引用同一个对象 |
---|---|
is not | 判断两个标识符是否不是引用同一个对象 |
实例:
x = 3
y = 3
z = 4
# 通过id() 方法查看变量所存储得到地址编号
print(id(x)) # 一个地址编号假设为138241111
print(id(y)) # 同上138241111
print(id(z)) # 与上面的不同假设为138241122
print(x is y) # True
print(x is z) # False
==与is的区别:
==是判断两个对象是否相等,is是判断两个对象是否等同(地址编号相同,引用同一个对象)
(七) 位运算符
^ | 按位异或当两位不同时为1 |
---|
实例(交换两个变量的值, 不使用第三个变量):
# 法一:
x = 2
y = 3
x,y = y,x
print(x,y) # 3 2
# 法二:使用异或
a = 2
b = 3
a = a^b # 二进制进行异或 0001
b = a^b # 0010
a = a^b # 0011
print(a,b) # 3 2
三. 流程循环控制语句
(一) 分支结构
1. 单一分支结构
语法结构:
if 条件表达式:
代码块(条件为真执行)
2. 双向分支结构
语法结构:
if 条件表达式:
代码块(条件为真执行)
else:
代码块(条件为假执行)
3. 多向分支结构
语法结构:
if 条件表达式:
代码块(条件为真执行)
elif 条件表达式2:
代码块(条件2为真执行)
elif 条件表达式3:
代码块(条件3为真执行)
......
else:
代码块(条件为假执行)
4. 巢状分支结构
语法结构:
if 条件表达式:
if 条件表达式2:
条件2为真的代码块
else:
条件2为假执行
else:
if 条件表达式3:
条件3为真的代码块
else:
条件3为假执行
(二) 循环结构
1. for 循环
for可以遍历任何的序列包括字符串,列表,元组
语法结构:
for 接收参数的变量 in 变量的值:
循环的代码块
注意:
当添加不满足的时候, 跳出循环体,
continue: 跳出本次循环, 继续下一次循环
break: 跳出循环
实例:
for i in range(1, 10)
if i == 3:
continue # 跳出本轮循环, 继续下一次循环
for i in range(1,10)
if i == 3:
break # 跳出循环
2. while 循环
主体结构:
while 条件表达式:
循环体
死循环
while True: # 表达式一直为真
代码块
补充:
在python中else可以和while,for等连用
实例:
while 条件:
循环体
else:
print("循环结束的时候走了else, 而且for循环一样的")