变量和运算符
-
定义变量(定义 = 创建)
变量就是一种专门用来保存数据的容器(变量就是用来保存数据的,保存完数据以后,使用变量就是使用变量里面的数据)
语法:
变量名 = 数据
说明:
a.变量名 —— 由程序员自己命名
要求:① 是标识符 ② 不能是关键字
规范:① 见名知意(看到变量名就知道变量中保存的是什么数据)
② 不使用系统的函数名(print、input、type)、类名(int、float、… )和模块名
③ 字母都小写,多个单词之间用下划线隔开(例如:student_name)
b. 赋值符号
c. 数据 —— 可以是任何有结果的表达式,比如:具体的一个数据、运算结果、已经赋值过的变量、函数调用表达式等
-
使用变量 —— 使用变量就是使用变量中保存的数据
( 保存的数据能做的,变量都可以做 )
注意:使用变量的时候必须保证这个变量已经定义
m = 10 print('m') # m ;加引号使用的是一个字符串 print(m) # 10 ;不加引号使用的是一个变量 print(name) # 报错! 不能使用没有定义过的变量
-
重新给变量赋值: 变量名 = 新数据
注意:a. 重新赋值后使用变量使用的是新数据
b. 重新赋值的时候可以赋不同类型的数据
-
同时定义多个变量
a. 同时定义多个变量的值:变量1 = 变量2 = 变量3
a1 = a2 = a3 = 100 print(a1,a2,a3)
b. 同时定义多个变量不同的值: 变量1 ,变量2,… = 数据1 ,数据2,…
注意:前面变量的个数必须和后面数据的个数一致
b1 , b2 = 10 , 20 print(b1,b2)
-
python定义变量和重新给变量赋值的原理
python定义变量的是先申请内存,内存申请多大看需要保存的数据需要多大
重新赋值的时候,会重新申请新的内存,新的内存多大看新的数据需要多大
id(变量) - 获取变量中数据的地址
运算符
-
数学运算符:+ - * / %(取余、取模) //(整除) **(幂运算)
① 加减乘除
python中的加减乘除跟数学中的加减乘除的功能一模一样
注意:/ 运算的运算结果一定是float;
+ - * 运算结果看运算对象中是否有浮点数;
② 取余(取模)—— % 【就是数学中的求余数】
x % y —— 求x除以y的余数
应用场景1:判断两个数之间是否存在整除关系 - 判断两个数的余数是否为0
应用场景2:取第一位数 —— 对10或者10的N次取余
③ 整除 —— //
功能:求商,商向小取整
print(5//2) #2 print(9.3//3) #3.0 print(-5//2) #-3
应用场景1:在能整除的情况下获取整型的商
应用场景2:去掉整数的低位数 —— 整除10或者10的N次幂
练习:a. 取百位
n=int(input("请输入任意一个正整数:"))
print(n//100%10)
b. 取百位和十位
n=int(input("请输入任意一个正整数:"))
print(n%1000//10)
④ 幂运算 —— ** 规则: x ** y → 求 x 的 y 次方
print(9**(1/2)) #对9开根号
-
比较运算符:
<(小于) >(大于) ==(等于) <=(小于等于) >=(大于等于) !=(不等于)
注意:① 所有的比较运算符的运算结果都是布尔值
print( 10 > 20 ) # 运行结果:Flase
② python中的比较运算符可以像数学中那样表示范围。
-
逻辑运算符:and(逻辑与)、or(逻辑或)、not(逻辑非)
a. 逻辑与 —— and
应用场景:相当于生活中的"并且",用于连接两个要求同时成立的条件。
运算规则:两个都是True结果就是True,只要有一个是False结果就是False
#判断一个数是否被3和7整除 num = int(input("请输入一个整数:")) print( num % 3 == 0 and num % 7 == 0) #方法一 print( num % 21 == 0 ) #方法二 (最小公倍数)
b. 逻辑或 —— or
应用场景:相当于生活中的或者,如果需要两个或者多个条件只要有一个条件满足就行,那么就用 or 连接。
运算规则:条件1 or 条件2 ——两个都是False结果才是False,只要有一个True结果就是True
#判断指定的年是否是闰年 n = int(input("请输入一个年份:")) #通过input操作输入得到的数据类型是字符串 if n % 4 == 0 and n % 100 !=0 or n % 400 == 0: print("是闰年") else: print("不是闰年")
c. 逻辑非 —— not
应用场景:对某个条件进行否定;如果一个条件正向写情况很多很复杂,反向却很简单,那么我们就将条件反向再加 not 。
运算规则:not 条件 —— 对指定条件进行否定
#判断一个数是否不能同时被3和7整除 n = int(input("请输入一个数:")) print(not n % 21 == 0 )
-
赋值运算符:=、-=、+=、*=、/=、%=、//=、**=
结论:所有的赋值运算符的作用都是将数据存储到变量中
① =
变量名 = 数据 → 将 = 右边的数据赋值给左边的变量
② +=
变量名 += 数据 → 将变量中保存中的数据取出来和后面的数据进行加法运算,将运算结果重新赋值给变量(变量名必须是已经定义过的)
b=20 #定义变量 b += 21 print(b) # b的值为 41 20+21
赋值语句没有结果,无法直接给程序提供数据。
③ 运算符优先级
数学运算符 > 比较运算符 > 逻辑运算符 > 赋值运算符
and 比 or 优先级高