day3-变量和运算符
一、变量
1、变量的作用
(1)变量是用来保存数据的。(将数据保存到变量以后,就可以通过使用变量来使用数据)
- 数据保存到变量以后再使用数据可以让数据的意义更明确
- 数据保存到变量以后再使用,可以不用重复写或者重复修改
2、定义变量
(1)语法:变量名 = 数据
(2)变量名:由程序员自己命名,但必须符合两个命题要求和三个规范
命名要求 | 三个规范 |
---|---|
标识符 | 见名知意 |
不能是关键字 | 不使用系统函数名(print、type等)、类名(int、float等)或者模块名 |
所有字母小写,多个字母之间用下划线隔开(也可以驼峰式命名) |
# 驼峰式命名
dogName = '汪汪'
pythonClassAddress = '1教室'
# 下划线分割单词
dog_name = '汪汪'
python_class_address = '1教室'
3、使用变量
num = 1
# 打印变量来打印变量中保存的数据
print(num)
# 通过获取变量的类型来获取变量中保存的数据的类型
print(type(num))
# 通过变量保存的数据作为运算对象
print(num + 1)
4、重新给变量赋值
# 第一次赋值
x = 2
print(x)
# 第二次赋值
x = 3
print(x)
注意:重新赋值后,新的值会覆盖原来的值
5、同时定义多个变量
(1)同时定义多个变量赋相同的值
a = b = c = 1
print(a,b,c)
(2)同时定义多个变量不同的值:变量1,变量2,变量3,… = 数据1,数据2,数据3,…
x,y,z = 1,2,3
print(x,y,z)
(3)交换不同变量的值:变量1,变量2 = 变量2,变量1
m = 1
n = 2
m,n = n,m
print(m,n)
二、运算符
1、数学运算符
python中的数学运算符:+(加)、-(减)、*(乘)、/(除)、%(取余-求余数)、//(整除)、**(幂运算)
(1)+(加)、-(减)、*(乘)、/(除):与数学中的加减乘除运算相同
print(3+2)
print(3-2)
print(3.0*2)
print(3/2)
注意:除法运算的结果一定时浮点数(不管能不能整除),其他运算符的运算结果看运算对象(运算对象是浮点数则结果是浮点数,否则是整数)
(2)% - 取模、取余(求余数):x % y - 求x除以y的余数
- 应用1:判断整除关系(判断一个数是否能够被另外一个整数除:判断这两个数的余数是否为0)
print(10 % 5)
print(12 % 5)
- 应用2:判断数字的奇偶性:所有能被2整除的数就是偶数(即余数为0)
num = 5
print(num % 2)
- 应用3:去除整数的低位数(即砍掉高位数保留低位)- 让整数对10或者10的n次方进行取余操作,可以获得整数的最1位或者后10位
num = 321
print(num % 10) # 1
print(num % 100) # 2
(3)// - 整除:x // y - x除以y的商,商向小取整(找和商相邻的两个整数的中较小的那个)
print(3 // 2) # 1
print(3.4 // 2) # 1.0
print(-3 // 2) # -2
- 应用:去除整数的低位数,保留高位数
num = 783344
print(num // 10) # 78334
print(num // 100) # 7833
print(num // 1000) # 783
- 练习:获取num中的10位数
num = 7283
print(num // 10 % 10) #法一
print(num % 100 // 10) #法二
(4)** - 幂运算:x ** y - 求x的y次方
print(2 ** 2)
print(8 ** (1/3)) #2.0
print(16 ** 0.5) #4.0
print(2 ** -2) #0.25
2、比较运算符
(1)比较运算符:>(大于),<(小于),>=(大于等于),<=(小于等于),==(等于),!=(不等于)
print(9 > 1)
print(9 >= 1)
print(9 == 1)
print(9 != 1)
注意:所有比较运算符的运算结果都是布尔值
(2)python中的比较运算符支持写表示范围
age = 20
#判断age的值是否再[18,25]之间,注意区间
print(18 <= age <= 25)
3、逻辑运算符
逻辑运算符:and(逻辑与),or(逻辑或),not(逻辑非)
(1)and(逻辑与)
-
应用场景:要求多个条件同时成立时,这多个条件用and连接
-
运算规则:条件1 and 条件2 - 两个条件都成立时结果为True,只要有一个不成立结果就为Flase
-
案例:num既能被3整除,又能被5整除
num = 5
print('num是否能够同时被3和5整除:',num % 3 == 0 and num % 5 == 0) # 方法一
print('num是否能够同时被3和5整除:',num % 15 == 0) # 方法二
(2)or(逻辑或)
- 应用场景:要求多个条件只要有一个成立就行,这多个条件用or来连接
- 运算规则:条件1 or 条件2 - 两个条件只要有一个条件成立结果就为True,当两个条件都不成立时结果为False
- 案例:判断num是否能够被2或者5整除
num = 4
print('num是否能够同时被3或者7整除:',num1 % 3 == 0 or num % 7 == 0)
- 练习:判断year对应的年份是否是闰年
year = 2000
print('否是闰年:',( year % 4 == 0 and year % 100 !=0) or (year % 400 == 0))
(3)not(逻辑非)
- 应用场景:对条件进行否定
- 运算规则:not 条件 - 对指定条件进行否定
- 案例:num不等于10的条件
num = 29
print(not num == 10) #方法一
print(num != 10) #方法二
4、赋值运算符
(1)赋值运算符:基本运算符和复合运算符
(2)基本运算符:=
(3)复合运算符:+=、-=、*=、/=、%=、//=、**=
(4)语法:变量 = 数据 – 将数据保存到变量去
a = 10
a += 10
print(a) # 20
注意:复合运算符前面的变量必须是已经赋值过的变量
5、运算符的优先级
(1)数学运算符 > 比较运算符 > 逻辑运算符 > 赋值运算符(最低)
(2)** > *、/、%、// > +、-
(3)有括号的先计算括号里面的