运算符与分支

本文详细介绍了Python中的变量定义与赋值原理,包括内存分配和地址引用。接着,讲解了数学运算符如加、减、乘、除、取余、整除和幂运算的使用。此外,还涉及比较运算符、逻辑运算符及其优先级。在流程控制方面,介绍了if单分支、if-else双分支和if-elif-else多分支结构,以及它们在条件判断中的应用。最后,提到了循环结构在代码重复执行中的作用。
摘要由CSDN通过智能技术生成

变量和运算符与分支

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

python定义变量的时候

​ 1)先在堆中申请内存(申请多大看被赋值的数据需要多大的内存)
​ 2)将数据保存在内存区域中
​ 3)让变量和保存数据的内存进行关联(让变量保存数据的内存地址)

重新给变量赋值的时候

​ 1)会重新申请新的内存(申请多大看被赋值的数据需要多大的内存)

​ 2)将数据保存在内存区域中

​ 3)让变量和保存数据的内存进行关联(让变量保存数据的内存地址)

id(变量/数据)

​ 获取变量中关联的数据在内存中的地址

数学运算符

数学运算符: +(加)、-(减)、*(乘)、/(除)、//(整除)、%(取余、取模)、**(幂运算)
加减乘除运算
# python的加减乘除与数学中运算一样
# 加减乘运算中有浮点数,结果就是浮点数,如果都是整数,结果为整数
print(7+1)  # 8
print(7+0.1)  # 7.1
print(7-1)  # 6
print(7-0.1)  # 6.9
print(7*1)  # 7
print(7*0.1)  # 0.7
# 除法运算的结果一定是浮点数
print(5 / 2)  # 2.5
print(4 / 2)  # 2.0
%(取余,取模)
# x % y		-		求x除以y的余数
print(10 % 3)  # 1  
print(10 % 2)  # 0
# 获取低位数
print(234 % 10)  #4
print(2834 % 100)  #34
# 可以判断数的奇偶   y = x % 2 当y = 1 时 x为奇数;当y = 0 时 x为偶数
//(整除)
#//(整除)	-	求商,商向小取整
print(5 // 2)  # 2
print(3.8 // 2)  # 1.0
print(-5 // 2)  #-3
# 去掉低位数
print(876 // 10)  #87
**(幂运算)
# x ** y 	-	 x的y次方
print(3 ** 5)  # 243
print(2 ** 3)  # 8
print(16 ** 0.5)  # 4.0
print(8 ** (1/3))  #2.0
print(2 ** (-3))  #0.125(1/8;1/(2**3))

比较运算符

比较运算符: >(大与)、<(小于)、>=(大于等于)、<=(小于等于)、==(等于)、!=(不等于)
所有比较运算符的运算结果都是布尔值
print(10 > 20)  # False
print(10 < 20)  # True
print(10 >= 20)  # False
print(10 <= 20)  # True
print(10 == 20)  # False
print(10 != 20)  # True
python中可以直接通过比较运算符来表示范围
x=8
print(0 <= x <=10)  #True

逻辑运算符

逻辑运算符: and()or()not()
优先级 not > and > or
and(逻辑与运算)
# and 用于需要多个条件同时成立的时候
# 条件1 and 条件2 	-	 两个条件都是True,结果才是True;只要有一个是False结果就是False
True and False  # False
False and True  # False
False and False  # False
True and True  # True
or(逻辑或运算)
# or 用于需要多个条件只要有一个成立就可以的情况
# 条件1 or 条件2 	-	 两个条件都是False,结果才是False;只要有一个是True结果就是True
True or False  # True
False or True  # True
False or False  # False
True or True  # True
not(逻辑非运算)
# 对一个条件进行否定 (当一个条件正向写的时候情况很多很复杂,反向却很简单时)
# not 条件 	-	 当条件为True,结果为False;当条件为False,结果为True
not True  # False
not False  # True

赋值运算符

赋值运算符: =+=-=*=/=%=//=**=
所有赋值运算符的功能都是将数据直接或间接存储到一个变量中,不会产生任何结果
print(a=10)  # 报错
b=0
print(b+=10)  # 报错
复合的赋值运算符
# +=、-=、*=、/=、%=、//=、**=
# 变量 += 数据 	- 	将变量中的数据取出来和后面的数据进行加法运算,将运算结果再赋值给前面的变量
# 注意: 前面的变量必须是已经赋值过的变量
b = 10
b += 2  # b = b + 2 = 10 + 2 = 12
print(b)  # 12
# 变量 -= 数据 	- 	将变量中的数据取出来和后面的数据进行减法运算,将运算结果再赋值给前面的变量
b -= 3  # b = b - 3 = 12 - 3 = 9
print(b)  # 9
# 变量 *= 数据 	- 	将变量中的数据取出来和后面的数据进行乘法运算,将运算结果再赋值给前面的变量
b *= 2  # b = b * 2 = 9 * 2 = 18
print(b)  # 18
# /=、%=、//=、**= 同上

优先级

数学运算符 > 比较运算符 > 逻辑运算符 > 赋值运算符
数学运算符
优先级:
** > *,/,//,% > +,-
逻辑运算符
优先级 not > and > or

流程控制

顺序结构(默认)

代码从上往下依次执行,每条语句执行一次

分支结构(if)

Python 条件语句是通过一条或多条语句的执行结果(True 或者 False)来决定执行的代码块。

在这里插入图片描述

if单分支结构 - 满足条件执行某个操作,如果条件不满足这个操作就不执行(if)
'''
if 条件语句
	代码段
if	-	关键字;固定写法
条件语句	-	任何有结果的表达式
:	-	关键字;固定写法
代码段	  -		从结构上就是和if保持一个缩进的一条或者多条语句;就是满足条件的时候才执行的代码
'''
num = 24
if num % 2 == 0:
    print('偶数')  #当num % 2 == 0 成立 控制台打印偶数
if双分支结构 (if…else)
'''
if 条件语句:
	代码段1
else:
	代码段2
if	-	关键字;固定写法
条件语句	-	任何有结果的表达式
:	-	关键字;固定写法
代码段1  -	  从结构上就是和if保持一个缩进的一条或者多条语句;就是满足条件的时候才执行的代码
else	-	关键字;固定写法
代码段2  -	  从结构上就是和if保持一个缩进的一条或者多条语句;就是不满足条件的时候才执行的代码
'''
num = 24
if num % 2 == 0:
    print('偶数')  #当num % 2 == 0 成立 控制台打印偶数
else:
    print('奇数')  #当num % 2 == 0 不成立 控制台打印奇数
if多分支结构(if…elif…else)
'''
if 条件语句1:
	代码段1
elif 条件语句2:
	代码段2
...
elif 条件语句n:
	代码段n
else:
	代码段n+1
if	-	关键字;固定写法
条件语句	-	任何有结果的表达式
:	-	关键字;固定写法
代码段1  -	  从结构上就是和if保持一个缩进的一条或者多条语句;就是条件语句1为True的时候才执行的代码
elif	-	关键字;固定写法
代码段2...n  -	  从结构上就是和if保持一个缩进的一条或者多条语句;就是条件语句2...n为True的时候才执行的代码
else	-	关键字;固定写法
代码段n+1  -	  从结构上就是和if保持一个缩进的一条或者多条语句;就是不满足所有条件的时候才执行的代码
后面的条件是在前面的条件不成立的前提进行判断,所有条件都不成立执行else后的代码段
'''
age = 18
if age < 18:
    print('未成年')  #当age<18 成立时控制台打印未成年
elif age<40:
    print('青年')  #当age<30 成立时控制台打印青年
elif age<60:
    print('中年')  #当age<50 成立时控制台打印中年
else:
    print('老年')  #当age<18,age<30,age<50 都不成立时控制台打印老年

循环结构(for、while)

让代码重复执行
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值