python变量、运算符和分支结构总结
一:变量
1.重新赋值
A = 10 # 创建变量a
print(A)
A = 100 # 重新赋值
print(A)
2.同时定义多个变量
同时定义并赋相同的值:变量名1=变量名2=变量名3=数据
x = y = z = 10
print(x, y, z)
3.同时定义多个变量赋不同的值
变量名1,变量名2,变量名3,…= 数据1,数据2,数据3,…
注意:个数需要保持一致
m, n = 10, 20
print(m, n)
# 练习:交换两个变量的值
a = 100
b = 200
print(a, b)
# 方法1
a, b = b, a
print(a, b)
# 方法2
c = a
a = b
b = c
print(a, b)
4.变量保存数据的底层逻辑
概念:定义变量的时候会自动在内存中申请空间保存数据
原理:定义变量的是会自动申请内存,内存的大小有数据的大小决定
重新给变量赋值,会重新根据新的数据申请新的内容-
补充:内存单位,位(bit),1字节(byte)= 8位
1kb=1024字节, 1mb=1024kb, 1gb=1024mb, 1tb=1024gb
二:运算符
1.数学运算符
主要包括:+ 、- 、*、 /、 //整除、 **幂运算、 % 求余
注意:除法运算的的结果一定是浮点数,其他运算符则与运算对象有关(有浮点则为浮点,都无浮点则为整型)
(1)// - 整除
x // y - 求x除以y的商,商向小取整
print(5 // 2)
print(-5 // 2)
应用1:希望能整除的情况下其商为整型
print(4 / 2)
print(4 // 2)
应用2:去掉一个整数的低位数,保留高位数
print(2345 // 10)
(2)% - 取余、取模
x % y - 求x除以y的余数
print(5 % 2)
应用1.判断两个数之间的整除关系 – 判断余数是否为0
应用2.去掉高位数,保留低位数
print(22254 % 10)
print(22254 % 100)
# 练习:获取一个正整数的十位数
num = 8271
num1 = num // 10
print(num1 % 10)
# 方法2
num1 = num % 100
print(num1 // 10)
(3)** - 幂运算
print(2 ** 3)
print(16 ** 0.5)
print(2 ** -3)
三:比较运算符
包括: > < / >= 、 <= 、 ==(等于) 、 !=(不等于)
注意1:所有的比较运算符的运算结果都是布尔值
print(10 != 30)
num = 89
print('是否是偶数', num % 2 == 0 )
注意2:python的比较运算符直接连写表示范围
x = 2
print('x是否在0~1之间:', 0 <= x <= 1)
四:逻辑运算符
包括:and(逻辑与运算) or(逻辑或运算) not(逻辑非运算)
单一条件
复合条件:并且(同时满足)、或者(满足一个)
1.and - 逻辑与运算符
应用场景:如果需要多个条件同时满足,就用and连接。
运算规则:条件1 and 条件2 and 条件3 - 都成立则结果是Ture
# 练习: 写条件判断num是否大于10 的偶数
num = 35
print('num是否是大于10的偶数:', num % 2 == 0 and num > 10 )
print('num是否能同时被3和7整除:', num % 3 == 0 and num % 7 == 0)
2.or - 逻辑或运算符
应用场景:如果需要多个条件中有一个满足就成立,就用or连接。
运算规则:条件1 or 条件2 or 条件3 - 都不成立则结果是False,否则Ture
print('num是否能被3或者5整除:', num % 3 == 0 or num % 5 == 0)
year = 1000
print('year是否是闰年:', (year % 100 != 0 and year % 4 == 0) or (year % 400 == 0))
3.not - 逻辑非
应用场景:对指定的条件进行否定
运算规则:not 条件
age = 20
print(not age > 18)
# 练习:判断num是否不能同时被3和7整除
print('num是否不能同时被3和7整除', not (num % 3 == 0 and num % 7 == 0))
五:赋值运算符
包括:= 、 += 、 -= 、 *= 、 /= 、 %= 、 //= 、 **=
注意:所有的赋值运算符都是给变量来赋值的
前面的3种运算符运算后一定会有一个结果,但是赋值运算没有结果(即不能提供一个数据)
- =
- 复合赋值运算符
变量 += 数据 - 先将变量中的数据取出,然后和后面的数据进行运算,再将计算结果赋值给变量
a = 10
a /= 2
print(a)
运算符优先级
1.数学运算符 > 比较运算符 > 逻辑运算符 > 赋值运算符
2.数学运算符的优先级和数学是一样的。(** > * / % // > + -)
3.有括号先算括号里的 - ()
六:分支结构
1.程序执行的过程:- 顺序结构
默认情况下,程序从上往下按顺序一条一条执行,每条语句都会执行且只执行一次
分支结构(if) - 让程序根据条件执行代码
1)if单分支结构 - 如果xxx就xxx(满足条件执行某个操作,不满足则不执行)
语法:
if 条件语句:
代码段
说明:
if - 关键字;固定写法
条件语句 - 可以是任何有结果的表达式(运算表达式等等,除了赋值语句)
一般将结果是布尔的表达式作为条件
: - 固定写法
代码段 - 结构上就是和if保持一个缩进的一条或者多条语句(至少一条)
逻辑上就是满足条件才会执行的代码
**执行过程:先判断条件语句是否成立(如果条件语句的结果不是布尔,就转换成布尔看是否为true)
2)if双分支结构 - 如果xxx就xxx ,否则就xxx(满足条件执行某个操作,不成立则执行另外的操作)
语法:
if 条件语句:
代码段(满足条件执行的代码)
else:
代码段2(不满足条件执行的代码)
age = 29
if age >= 18:
print('成年')
else:
print('未成年')
year = 2004
if (year % 4 == 0 and year % 100 != 0) or (year % 400 == 0):
print('闰年')
else:
print('平年')