变量和运算符
day03-变量和运算符
1.变量
1.1变量的作用
变量是用来保存数据的。将数据保存到变量中以后就可以通过变量来使用数据
数据保存到变量中以后再来使用可以让数据的意义更明确
age = 21
print('adult?', age >= 18)
数据保存到变量中以后再使用数据,数据可以不用重复写和反复修改
结论:使用数据的的数据一般不直接使用,而是先将数据保存到变量中,再通过使用变量来使用数据
1.2定义变量
语法:变量名 = 数据
说明:变量名:由程序员自己命名,但是必须符合两个命名要求和三个规范
a.要求:是标识符,不能是关键字
b.规范:1.见名知意(看到变量名就知道这个变量中保存的是什么数据)
2.不使用系统函数名(print、input、type)、类名(int、float、str、bool)或模块名(random)
如果用print作为变量名,会使得print原本的打印功能消失
'''
print = 'ab'
print(100) 报错
'''
如果用类型名来作为变量名使用,会导致对应的类型转换无法进行
'''
int = 20
int(3.14)报错
'''
3.所有的字母都小写,多个单词之间用下划线隔开(目前Python也可以使用驼峰式命名)
'''
下划线分割单词
dog_name
python_class_address
驼峰式命名
dogName = '....'
pythonClassAddress = '...'
'''
4.用变量保存具体的数据
a = 100
b = 'abc'
5.用变量保存已经赋值过的数据
age = 18
c = age
6.用变量保存运算表达式的运算结果
d = 111*6
print(d) # 666
1.3使用变量
使用变量就是使用变量中保存的数据。(数据能做的事情,保存这个数据的变量都可以做。)
什么时候需要变量中的数据,什么时候就使用变量。
注意打印变量时:print(变量名)变量名不能加引号
a.通过变量来打印变量中保存的数据
num = 100
print(num) # 100
print('num') # 输出为:num
b.通过获取变量的类型来获取变量中保存的数据的类型
print(type(num)) # <class 'int'>
print(type('num')) # <class 'str'>
c.将变量中保存的数据作为运算对象
print(num + 200) # 300
# print('num' + 200) 报错
d.重新给变量赋值
x = 100 # 第一次给变量赋值为100
print(x)
x = 200 # 重新给变量赋值为200
print(x)
x = 'happy' # 重新给变量赋值为'happy'
print(x)
e.同时定义多个变量
# 1.同时定义多个变量赋相同的值
a1 = b1 = c1 = 20
print(a1, b1, c1)
# 2.同时定义多个变量赋不同的值
x1, y1, z1 = 10, 20, 30
print(x1, y1, z1)
练习:已知变量m和n,写代码交换m和n的值
"""
方法一:
t = m
m = n
n = t
print(m, n)
方法二:
m = 100
n = 200
m, n = n, m
print(m, n)
"""
2.数学运算符
python中的数学运算符:+(加)、-(减)、*(乘)、/(除)、%(取余-求余数)、//(整除)、**(幂运算)
2.1 + - * /(加减乘除四则运算)
print(5+2) #7
print(5-2) #3
print(5*2) #10
print(5.0*2) # 10.0
print(5/2) #2.5
print(10/2) # 5.0
除了’除‘外,其他的运算结果是否为浮点数取决于参与运算的数是否为浮点数,若参与运算的数中有浮点数,则结果为浮点数
‘除’的结果一定是浮点数
2.2 % - 取余,求余数
print(13 % 4) # 1
print(12 % 5) # 2
应用1:判断整除关系(判断一个数是否能被另外一个数整除:判断这两个数的余数是否为0)
num = 63
print(num % 2) # 结果不为0说明其是奇数
应用2.取整数的低位数 - 让整数对10或者10的n次方进行取余操作,可以获得整数的最后1位或者后n-1位数
num = 345
print(num % 10) # 5
print(num % 100) # 45
取余的结果是浮点数还是整数取决于参与计算的数是浮点数还是整数
2.3 // - 整除
x//y - x除以y的商,商向小取整(找和商相邻的两个整数中较小的那个)
print(5//2) # 2
print(7.8//2) # 3.0
print(-5//2) # -3 注意负数的向小取整
整除的结果是浮点数还是整数取决于参与计算的数是浮点数还是整数
应用:去掉整数的低位数,保留高位数 - 对10或10的n次方进行整除
num = 56789
print(num // 1000) # 56
练习:获取num中的十位数
num = 78298
print(num // 10 % 10) # 方法一:把原来的个位数砍掉然后对10取余
print(num % 100 // 10) # 方法二
2.4 ** - 幂运算
x ** y 求x的y次方
print(2**3)
print(5**4)
print(4**0.5)
print(4**-2)
print(8**(1/3))
python中的幂运算十分方便。
3.比较运算符
大于(>)、小于(<)、大于等于(>=)、小于等于(<=)、等于(==)、不等于(!=)
a.所有比较运算符的运算结果都是布尔值
print(10 < 9) # False
print(10 > 9) # True
b.python的比较运算支持连写表示范围
age = 17
print(28 > age > 18) # True
练习:写出判断score是否在[70,90)范围内
score = int(input('请输入分数'))
print(70 <= score < 90)
4.逻辑运算符
逻辑运算符 : and, or , not
4.1 and(逻辑与)
应用场景:当要求多个条件同时成立的时候,这多个条件就用and来连接,相当于生活中的并且
运算规则:条件1 and 条件2 —— 两个条件都成立结果为True,其余情况为False
判断num是否能同时被3和5整除
print('num是否能同时被3和5整除', num % 3 == 0 and num % 5 == 0)
4.2 or (逻辑或)
应用场景:要求多个条件中只要有一个条件成立就行,这多个条件就用or来连接;相当于生活中的或者
运算规则:条件1 or 条件2 ——两个条件中只要有一个条件成立结果就是True,只有当两个条件都不成立结果才为False
判断num是否能被3或5整除
print('num是否能同时被3和5整除', num % 3 == 0 or num % 5 == 0)
练习:判断year对应的年份是否是闰年
闰年:能被4整除但不能被100整除或者能够被400整除的年份为闰年
year = 2001
print('是否闰年', year % 4 == 0 and (year % 100 != 0 or year % 400 == 0))
4.3 not (逻辑非)
应用场景:对条件进行否定(相当于生活中的否定语句)
运算规则:not 条件 - 对指定条件进行否定
not True - False not False - True
写出age不大于18的条件
age = 72
print(not age > 18)
print(age <= 18) #等同于上一行
5.赋值运算符
赋值运算符:=、+=、-=、*=、/=、%=、//=、**=
1.不管是简单的赋值运算符还是复合赋值运算符,其功能都是给变量赋值(将一个数据保存到一个变量中)
注意:所有的赋值运算符的左边必须是变量,右边必须是能够提供数据的表达式
a. =
变量 = 数据 - 将数据直接保存到变量
a = 10
b = 20 * 2
赋值运算符:=、+=、-=、*=、/=、%=、//=、**=
不管是简单的赋值运算符还是复合赋值运算符,其功能都是给变量赋值(将一个数据保存到一个变量中)
注意:所有的赋值运算符的左边必须是变量,右边必须是能够提供数据的表达式
a.=
变量 = 数据 - 将数据直接保存到变量
a = 10
b = 20 * 2
b.复合赋值运算符:+=、-=、*=、/=、%=、//=、**=
变量 += 数据 - 先将变量中的数据取出来和后面的数据进行加法运算,然后让加法运算的结果保存到前面的变量中
注意:复合赋值运算符前面的变量必须是已经赋值过的变量
c = 100
c += 10 # c = c + 10 c=110
print(c)
c -= 20 # c = c - 20 c=90
print(c)
c *= 2 # c = c * 2 c=180
print(c)
c %= 3 # c = c % 3 c=0
print(c)