1 变量
-
重新赋值
给已经有值的变量再次赋值。再次赋值后,变量的值和类型都可能发生变化。
栗子🍖:a = 1 # 创建变量a,并赋值为10 print(a) #1 a = 10 # 重新给a赋值为100 print(a) #10 a = 'abc' # 重新赋值一个其他类型的数据 print(a) #abc
-
同时定义多个变量
1)同时定义多个变量赋相同的值:变量名1=变量名2=变量名3=…=数据
🍖:x = y = z = 10 print(x, y, z)#10 10 10
2)同时定义多个变量赋不同的值:变量名1,变量名2,变量名3,…=数据1,数据2,数据3,…
注意:=后面数据的个数必须和前面变量的个数保持一致。
🍖:
m, n = 10, 20 print(m, n) #10 20
交换两个变量的值:
🍖:a = 100 b = 200 #方法一,python特有,直接交换 a, b = b, a #方法二,拿一个中间变量保存值 t = a a = b b = t print(a, b)
-
变量保存数据的底层逻辑
原理:定义变量的时候会自动申请内存,内存的大小由数据的大小决定;重新赋值,会根据新的数据重新申请新的内存。
-
问题1:为什么python定义变量不用说明类型?
答:python根据变量的大小申请内存。
-
问题2:为什么python给变量重新赋值的时候可以赋不同的类型?
答:重新赋值时重新选择内存。
-
问题3:为什么Python可以直接计算并且保存9999**9999的计算结果?
答:定义变量的时候会自动在内存中申请空间保存数据。
最小单位为位(bit)。
1字节(byte)=8位;1kb=1024字节;1MB=1024kb;1GB=1024MB;1TB=1024GB
2 数学运算符
🌭+(加)、-(减)、*(乘)、/(除)、//(整除)、%(取余,取模)、**(幂运算)
-
+(加)、-(减)、*(乘)、/(除)
和数学中功能相同。
🍖:print(1+2) #3 print(2-1) #1 print(2*3) #6 print(4/2) #2.0
-
//(整除)
x//y 求x除以y的商,商向下取整(找和小数相邻的两个整数中较小的那个)。
🍖:print(5//2) #2 print(4//2) #2
应用1:希望能整除的情况下商是整型
🍖:print(4/2) #2.0 print(int(4/2)) #2 print(4//2) #2
应用2:去掉(砍掉)一个整数的低位数,保留高位数
🍖:num=123 print(num//10) #12 print(num//100) #1
-
%取余、取模
x%y求x除以y的余数。
🍖:print(5%2) #1 print(1%2) #1
应用1:判断两个数字之间的整除关系 判断余数是否为0
🍖:print(2%2==0) #True
应用2:去掉高位数,保留低位数
🍖:num=12345 print(num%10) #5 print(num%100) #45
3 比较运算符
🌭<、>、==、!=、>=、<=
注意:所有的比较运算符的结果都是布尔值
🍖:
print(1>2) #False
print(1<2) #True
print(1==3) #False
print(1==1) #True
print(1!=0) #True
print(1>=1) #True
Python的比较运算符直接连写表示范围。
4 逻辑运算符
🌭and(逻辑与运算)、or(逻辑或运算)、not(逻辑非运算)
-
单一条件:满足其一即可
-
复合条件:并且(要求多个条件同时成立)、或者(要求多个条件中只要有一个条件成立就行)
-
and-逻辑与
应用场景:如果需要多个条件同时满足,就用and连接。相当于生活中的“并且”。
运算规则:条件1 and 条件2 ——如果两个条件都成立结果是True,只要一个不成立结果就是False。
条件1 条件2 结果 True True True False True False True False False False False False 🍖练习1:写条件判断num是否是大于10的偶数
num=34 print('num是否是大于10的偶数',num>10and num%2==0) 结果:num是否是大于10的偶数 True
🍖 练习2:写条件num是否能同时被3和7整除
num=35 print('num是否能同时被3和7整除',num %3==0 and num%7==0) 结果:num是否能同时被3和7整除 False
-
or-逻辑或
应用场景:如果要求多个条件中有一个条件成立就行,就用or连接;相当于生活中的或者
运算规则:条件1 or 条件2——如果两个条件都不成立结果就是False,只要有一个条件成立结果就是True。
条件1 条件2 结果 True True True False True True True False True False False False
-
not-逻辑非
应用场景:对指定的条件进行否定
运算规则:not 条件
条件 结果 True False False True 5 赋值运算符
🌭=、+=、-=、*=、/=、%=、//=、**=
注意:所有赋值运算都是用来给变量赋值的
-
=
变量=数据:将数据保存到变量中,变量既可以是已经定义过的变量,也可以是没有定义过的变量。
-
复合赋值运算符
变量+=数据:先将变量中的数据取出来,然后和后面的数据进行加法运算,最后将计算结果再赋值给变量。
变量必须是已经定义过的变量,并且里面保存的数据,可以和后面的数据进行加法运算。
🍖:
a=1 a+=2 print(a) #3
所有的赋值数据都是没有结果的,无法提供数据
print(a=1) 错误
a=(b=1) 错误
-
6 运算符优先级
如果一个表达式中有多种运算符,谁的优先级高就先算谁。
- 数学运算符>比较运算符>逻辑运算符>赋值运算符(最低的)。
- 不同的数学运算符的优先级一样。(**> *、/、%、//>+、-)。
- 有括号先算括号里面的()。