2运算符和分支

运算符和分支

定义变量和给变量赋值的原理

  • python定义变量时,需要先申请内存,内存申请多大看数据需要多大,然后将数据保存到内存中在和变量进行关联。
  • 重新给变量赋值时,会重新申请新的内存,新的内存大小由新的数据的大小决定。
a = 10
print(id(a)) # id(变量) 获取数据地址
a = 100
print(id(a))

数学运算符

  • +、-、*、/、%、//、**。
  • python中的加减乘除和数学中的加减乘除相同。
print(1 + 1) # 2
print(1 - 1) # 0
print(1 * 1) # 1
print(1 / 1) # 1.0
  • 加减乘中运算对像中有浮点数,结果就是浮点数,如果是整数,结果就是整数。
  • 除法中,运算结果一定是浮点数。
  • %(取余),x%y求的是x除以y的余数,判断一个数能否能被另一个数整除,就看两个数的余数是否为0,还可以取整数的低位数(对10或10的次方取余)。
print(10 % 3) # 1
print(4 % 2)  # 0
  • //(取整),商向小取整。可以去掉低位数。
print(3.2 // 2) # 1.0
print(-3 // 2)  # -2
print(121 // 10)  # 12
  • **幂运算
print(1 ** 2) # 1
print(16 ** 0.5) # 4.0

比较运算符

  • <,>,<=,>=,==,!=,运算结果都是bool。
print(10 < 1)  # False
print(1 == 1)  # True
print(5 >= 5)  # True
x=10
print(0 <= x <= 10)  # True,判断x是否在0到10之间

逻辑运算符

  • 逻辑与或非运算:and、or、not。
  • and应用场景:用于需要多个条件同时成立,相当于且。
  • 运算规则:条件1and条件2,两个结果都是True,结果才是True,只要有一个是False,结果就是False。
num = 99
print(99 % 3 == 0 and 99 % 5 == 0)  # False 能否被三和五整除
  • or逻辑或运算:用于需要多个条件只要有一个满足就可以的情况,相当于或者。
  • 运算规则:条件1or条件2,两个条件只要有一个是True结果就是True,两个都是False结果才是False。
v = 8
print(type(v) == int or type(v) == float)  # True ,判断v是否是数字数据
# 中奖规则:十位数是0的奇数号或者个位数加十位数是2的号
  • not逻辑非运算:对一个条件进行否定,当一个条件正向写很复杂,反向写很简单的时候,条件就反向写。
  • 运算规则:not 条件
age = 20
print('大于等于18', age >= 18)
print('不大于等于18', not age >=18)
print('等于20', age == 20)
print('不等于20', not age == 20)

赋值运算符

  • 赋值运算符:=,+=,-=,*=,/=,%=,//=,**=。
  • 所有赋值运算符的功能都是将数据直接或是间接存储到一个变量中,不会产任何结果。变量 赋值运算符 数据。
  • 赋值运算表达式是没有结果的。
a = 1
print(a) # 1
  • 复合赋值运算符:+=,-=,*=,//=,**=,%=。
  • 变量 += 数据,将变量中的数据取出来和后面的数据进行运算,将运算的结果再赋值给前面的变量。变量必须是以经赋值过的变量。
b = 10
b += 2
print(b)  # 12

运算符的优先级

  • 数学运算符>比较运算符>逻辑运算符>赋值运算符。
  • 数学运算符中:**>*、/、%>+、-。
  • 有括号先算括号里()。
a = 10 + 1
print(a)  # 11

流程控制

  • 流程控制,程序执行方式。
  • 顺序结构,代码从上往下依次执行,每条语句执行一次。
  • 分支结构,根据条件选择执行或者不执行相关操作。
  • 循环结构,让代码重复执行。

分支结构

  • if语句,if单分支结构,满足条件执行某个操作,如果条件不满足,这个操作就不会执行。
if 条件语句:
    代码段   # 语法
  • if——关键词;固定写法

    条件语句——任何有结果的表达式,比如:具体数据,保存数据的变量,运算表达式(赋值不可以)

    :——固定写法。

    代码段——从结构上就是和if保持一个缩进或者多条语句;代码段就是满足条件的时候才执行的代码。

a = 10
if a > 100:
    print('分数不正常')
print('1')  # 1
  • 执行过程:先判断条件语句是否为True,如果是就执行代码段,然后再执行后面的代码,如果是False,不执行代码段直接执行后面其他的代码,如果结果不是bool,就转换成bool再看。(其他数据转换成bool的时候除了零值和空值,都是True)
print(bool('False'))  # True
  • if双分支结构,满足条件执行某个操作,这个条件不满足时就执行另一个操作,if-else。
if 条件语句:
    代码段1
else:
	代码段2
year = 8
if year >= 18:
    print('成年')
else:
    print('未成年')  # 未成年
num = 78
if num % 2 == 0:
    print('偶')
else:
    print('奇')  # 偶
  • if多分支结构,根据不同的条件做不一样的事情。
score = 98
if score >= 90:
    print('A')
elif 80 <= score < 90:
    print('B')
elif 70 <= score < 80:
    print('C')
else:
    print('D')  # A
  • 后面条件是在前面条件不成立的情况下判断的,所有条件不成立才执行else中的代码。
age = 88
if age >= 60:
    print('老年')
elif age >= 40:
    print('中年')
elif age >= 28:
    print('壮年')
elif age >= 20:
    print('青年')
elif age >= 12:
    print('少年')
else:
    print('儿童') # 老年
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值