美文网首页
(三) 学习笔记:python的数据类型,操作符和流程控制

(三) 学习笔记:python的数据类型,操作符和流程控制

作者: fanhang64 | 来源:发表于2018-03-24 20:10 被阅读10次

一.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循环一样的")

相关文章

网友评论

      本文标题:(三) 学习笔记:python的数据类型,操作符和流程控制

      本文链接:https://www.haomeiwen.com/subject/ivyqcftx.html