01 变量
1.变量的作用
- 变量是用来保存数据的
程序中需要数据的时候有两种方法
1)直接提供数据
print(32)
2)先将数据保存到变量中,再通过变量提供数据
age = 32
print(age)
print(type(age))
- 总结:程序中使用数据时候,先将数据保存在变量中,然后再提高使用来使用数据。
2.定义变量(创建变量)
'''
语法:
变量名=数据
说明:
变量名 ---- 由程序员自己命名
两个要求:1.标识符;2.不是关键字
三个规范:1.见名知义(看见变量名大概知道变量中保存的什么数据)
2.所有字母都小写,多个单词之间下划线隔开
3.不能使用系统的函数名(print、input、type)、类名和模块名
= ---- 固定写法
数据 ---- 可以任何有结果的表达式(具体的数据、运算表达式、函数调用表达式)
'''
name = '小明'
dog_name = '磊' #下划线隔开法
dogName = '大黄' #驼峰命名法(单词首字母大小)
# print = 'xiaoming' 使用后函数名的原本意义失效
x = 1 + 2 # x = 3
a = 1
3.使用变量
- 使用变量就是使用变量中的数据,数据能做的事情,保存数据的变量都可以做
a1 = 1
print(1)
print(a1)
print(1+2)
print(a1+2)
4.重新给变量赋值
- 重新赋值后,变量中只会保存最新的值
a1 = 1
print(type(a1)) # 1
a1 = 'abc'
print(type(a1)) # abc
5.同时定义多个变量
1)同时定义多个变量赋相同的值
x = y = z = 1
print(x, y, z) # x=1 ,y=1,z=1
2)同时定义多个变量赋不同的值
a, b, c = 1, 2, 3
print(a, b, c) # a=1,b=2,c=3
#练习:交换两个变量的值
m = 100
n = 200
m, n = n, m
# a = m
# m = n
# n = a
print(m, n)
02 数学运算符
1.python中的+、-、*、/和数学中的功能一样
print(5 + 2) # 7
print(5 - 2) # 3
print(5 * 2) # 10
print(5 / 2) # 2.5
2.% - 取余(取模)
- x % y - 求x除以y的余数
print(10 % 3) # 1
print(25 % 5) # 0
#应用场景1:判断两个整数之间是否存在整数关系(如果一个数能被另一个数整除,那么余数为0)
print(10 % 5) # 0
print(100 % 10) # 0
#应用场景2:取正整数的低位数(对10或者10的N次方取余)
num = 121
print(num % 10) #1
print(num % 100) #21
a =num % 100 #a=21
print(a // 10) #2
3.// - 整除(求商,商向小取整)
print(-5 // 2) #向小取整
print(5 // 2) #取结果相邻的两个整数中,较小的一个
#应用场景:去掉整数的低位数,保留高位数
num = 2345
print(num // 10) # 5
print(num // 100) # 45
print(num // 1000) # 345
#练习:写代码获取num的十位数上的数字
num = 28393
# a = num % 100
# print(a // 10)
print(num % 100 // 10) # 9
4.** - 幂运算
- x ** y - x的y次方
print(2 ** 3)
print(5 ** 3)
print(4 ** (1/2)) #2.0
print(4 ** -2) #(1/16)
03 比较运算符
1)所有的比较运算符的运算结果都是布尔值
print(100 > 10) #True
print(100 < 10) #False
print(100 == 10) #False
2)python中的比较运算符支持连写表示范围
age = 10
print(18 <= age <= 28) #False
04 逻辑运算符
1.and - 逻辑与运算
1)运用场景:用于连接需要同时成立的两个条件,相当于生活中的‘并且’
2)运算条件:条件1 and 条件2 - 如果两个条件都成立,则结果为True,否则结果为False
#案例:判断num是否能同时被3和7整除的条件
num = 34
print('num是否能同时被3和7整除:', num % 3 == 0 and num % 7 == 0) #False
#练习:判断num是否是能被3整除的奇数
num = 31
print('num是否是能被3整除的奇数:', num % 3 == 0 and num % 2 == 1) #False
2.or - 逻辑或运算
1)应用场景:如果需要两个或者多个条件中有一个条件成立就行,多个条件就用or连接,相当于‘或者’
2)运算规则:条件1 or 条件2 - 两个条件中只要有一个条件成立,结果就为True,都不成立为False
#案例:判断num是否能被3或者7整除的条件
num = 34
print('num是否能被3或者7整除:', num % 3 == 0 or num % 7 == 0) #False
#练习 判断year对应的年份是否是闰年
- 闰年分为世纪闰年(能被400整除的年)和普通闰年(能被4整除但不能被100整除的年)
year = 2008
print('year是否为闰年', (year % 4 == 0 and year % 100 != 0) or year % 400 == 0) #True
3.not - 逻辑非运算
1)应用场景:对某个条件精选否定,相当于‘不’
2)运算规则:not 条件 - 对指定的条件进行否定
a = 1
print(not a)
05 赋值运算符
1.= -直接赋值
- 变量名 = 数据 - 将数据保存在变量中
2.+=
- 变量名 += 数据 - 先将变量中的数据与后面的数据相加,再把运算的结果保存在变量中
a = 1
a += 2
print(a) # 3
a -= 1
print(a) # 2
a **= 3
print(a) # 8
- 特别注意:所有的赋值运算对应的表达式都是没有结果的,无法提供数据
# print(a += 1)
06 运算符优先级
- 运算符优先级:混合运算的时候,会先运算优先级高的运算符,后运算优先级低的运算符
- 数学运算符>比较运算符>逻辑运算符>赋值运算符(最低)
- 幂运算>乘、除、取余、整除>加、减
- and > or
- 有括号的先算括号里的 - ()