python的变量和运算符你都知道多少
python变量
1. 定义变量 (创建变量)
变量就是一种用来保存数据的容器
,使用变量就是使用变量中保存的数据
语法:变量名 = 数据
1.变量名:
要求: 是标识符但不能是关键字 规范: 1. 见名知意(看到变量名就知道变量中保存的是什么数据) 2. 不能使用用系统的函数名、类名和模块名 3. 字母都需要小写,多个单词之间用下划线隔开
2.=
: 赋值运算符
3.数据:可以是任何有结果的表达式
例如: 具体的一个数据、运算结果、已经赋值过的变量、函数调用表达式等。
2.使用变量
age = 20 name = "wlstory" num = 3 * 5 print(age, name, num)
注意: 变量必须先定义后使用
3.重新给变量赋值
语法: 变量名 = 新数据
a = 100 print(a,id(a)) # 100 140704131793792 a = 200 print(a,id(a)) # 200 140704131796992
id(变量)
: 获取变量的内存地址
重新赋值后使用变量使用的是新的数据
4. 同时定义多个变量
1.同时定义多个变量赋相同的值
语法: 变量名1 = 变量名2 = 变量名3 = ... = 数据
a = b = c = 20
同时定义多个变量赋不同的值
语法: 变量名1, 变量名2, ..., 变量名n = 数据1, 数据2, ..., 数据n
。—> (变量名的个数必须和数据的个数相同)。
a,b = 18,20
5.定义变量和重新赋值变量的原理
python定义变量是需要申请内存,内存申请多大是根据保存的数据的需要来确定。
重新赋值的时候,会重新申请内存,新的内存多大看新的数据,然后再绑定变量,释放原先的内存。
运算符
1. 数学运算符
+(加), -(减), *(乘), /(除), %(取余), //(整除), **(幂运算
1.加减乘除:
python中的 +、 -、 。、 /
和数学中的+、-、×、÷
的功能一模一样、
print(1+1) # 2 print(2-1) # 1 print(2*1) # 2 print(1/2) # 0.5
注意: /
运算的运算结果一定是float; +、-、 *
的运算结果的类型看运算对象中是否有浮点数
2.取余(取模) --> %
取模就是求余数
规则 : x % y
—> 求x除以y的余数
应用场景 :
1. 判断两个数是否存在整除关系
2. 取一个数的低位数
# 提取一个五位数的最后一位 num = 235941 print(num % 10) # 1
3.整除 --> //
功能: 求商, 向下取整
a = 50 print(a//10) # 5
4.幂运算 --> **
规则 : x ** y —> 求x的y次方
a = 15 print(a ** 2) # 225
计算1000以内的水仙花数for i in range(100, 1000): bw = i // 100 sw = i // 10 % 10 gw = i % 10 if ((bw**3) + (sw**3) + (gw**3)) == i: print(i)# 153# 370# 371# 407 计算1000以内的水仙花数 for i in range(100, 1000): bw = i // 100 sw = i // 10 % 10 gw = i % 10 if ((bw**3) + (sw**3) + (gw**3)) == i: print(i) # 153 # 370 # 371 # 407
2. 比较运算符:
>(大于), <(小于), ==(等于), >=(大于等于), <=(小于等于), !=(不等于)
注意 :
所有的比较运算符的运算结果都是布尔值
可以像数学一样,连写表示范围 小范围<= x <= 大范围
3. 逻辑运算符:
and(逻辑与), or(逻辑或), not(逻辑非)
1.逻辑与 —> and
应用场景: 相当于生活中的并且, 用于连接两个要求,两个要求同时满足成立的条件
运算规则: 两个都是True结果就是True, 只要有一个是False结果就是False
# 判断一个数能否被3和7整除 num = 27 print(num % 7 == 0 and num % 3 == 0) # False
2.逻辑或 —> or
应用场景: 相当于生活中的或者, 用来连接多个条件中满足一个条件即可成立
运算规则: 多个中有一个 Ture 就是 Ture, 都是False就是False
# 判断闰年 year = 2000 print(year % 4 == 0 and year % 100 != 0 or year % 400 == 0) # True
4.逻辑非 —> not
应用场景: 对某个条件进行否定;正向条件很复杂,反向很简单,那么就将条件反向写再加not
运算规则: 只能对指定条件进行否定。
5.逻辑运算的结果只有布尔类型的True
和False
4. 赋值运算符:
=、 +=、-=、*=、/=、//=、**=
a = 15 a *= 2 print(a) # 30 a /= 5 print(a) # 6.0 a //= 2 print(a) # 3.0 a **= 3 print(a) # 27.0
结论:所有的赋值运算符的作用就是将数据存储到变量中
赋值语句没有结果,无法直接给程序提供数据
5.运算符的优先级
在混合运算中,优先级高的先计算,优先级低的后计算
数学运算符
>比较运算符
>逻辑运算符
>赋值运算符(最低)
幂运算符
> *、/、//、%
> +、- (最低)
有括号的先算括号里