1.变量
-
变量的作用:变量是用来保存数据的。(将数据保存到变量中以后,就可以通过变量来使用数据)
a.数据保存到变量中以后再使用数据可以使数据的意义更明确。
b.数据保存到变量中以后再使用数据,数据可以不用重复写和重复修改。
结论:使用数据的数据一般不要直接使用,而是先将数据保存到变量中,再通过变量来使用数据。 -
定义变量(创建变量保存数据)
语法:
变量名 = 数据
说明:
a. 变量名 - 由程序员自己命名,但是必须符号两个命名要求和三个规范
要求:是标识符;不能是关键字
规范:见名知意(看到变量名就知道这个变量中保存的是什么数据);
不使用系统函数名(print、input、type)、类名(int、float、str、bool)或模块名(random);
所有的字母都小写,多个单词之间用下划线隔开(目前Python变量名也可以使用驼峰式命名)
b. 等号(=) - 用来给变量赋值。
等号(=)运算符左边是一个变量名,等号(=) 运算符右边是存储在变量中的值
用变量保存运算表达式的运算结果
c. 数据 - 需要保存到变量中的对象;可以是任何有结果的表达式(例如:具体的数据、已经赋值过的变量、有结果的运算表达式等)
示例:
# 1)如果用print来作为变量名使用,会导致print函数的打印功能消失
# print = 100
print(200)
# 2) 如果用类型名来作为变量名使用,会导致对应的类型转换无法进行
# int = 10
print(int(34.56))
# 3) 驼峰式命名
dogName = '旺财'
pythonClassAddress = '14教室'
# 4)下划线分割单词
dog_name = '财财'
python_class_address = '14教室'
# 5) 用变量保存具体的数据
a = 100
b = 'abc'
# 6) 用变量保存已经赋值过的变量中的数据
c = name
print(c)
# 7) 用变量保存运算表达式的运算结果
d = 100 + 200
print(300)
- 使用变量
使用变量就是使用变量中保存的数据。(数据能做的事情,保存这个数据的变量都可以做)
什么时候需要变量中保存的数据,什么时候就使用变量
示例:
num = 100
# 通过打印变量来打印变量中保存的数据
print(num) # 100
print('num') # num
# 通过获取变量的类型来获取变量中保存的数据的类型
print(type(num)) # <class 'int'>
print(type('num')) # <class 'str'>
# 将变量中保存的数据作为运算对象
print(num + 200) # 300
# print('num' + 200) # 报错
- 重新给变量赋值
示例:
# 第一次给变量x赋值为100
x = 100
print(x) # 100
# 重新给变量x赋值为200(重新赋值后新的值会覆盖原来的值)
x = 200
print(x) # 200
# 重新给变量x赋值为 'abc'
x = 'abc'
print(x) # abc
- 同时定义多个变量
a.同时定义多个变量赋相同的值:变量1 = 变量2 = 变量3 = … = 数据
a1 = b1 = c1 = 20
print(a1, b1, c1)
b.同时定义多个变量赋不同的值:变量1, 变量2, 变量3,… = 数据1, 数据2, 数据3, …
x1, y1, z1 = 10, 20, 30
print(x1, y1, z1)
# 练习:已经变量m和n,写代码交换变量m和n的值
# 方法1:
m = 1000
n = 200
t = m
m = n
n = t
print(m, n)
# 方法2:
m = 200
n = 300
m, n = n, m # m, n = 300, 200
print(m, n)
# python中交换两个变量的值:变量1, 变量2 = 变量2, 变量1
2.数学运算符
Python中数学运算符:+(加)、-(减)、*(乘)、/(除)、%(取余-求余数)、//(整除)、**(幂运算)
- +(加)、-(减)、(乘)、/(除)
+、-、、/ 和数学中的+、-、×、÷的功能一样
示例:
print(9 + 9) # 18
print(9 - 9) # 0
print(9 * 9) # 81
print(9 / 9) # 1.0
# 注意:除法运算的结果一定是浮点数(不管除不除得尽);其他运算符的运算结果看运算对象(运算对象中有浮点数结果是浮点数,否则是整数)
-
% - 取余、取模(求余数)
x % y - 求x除以y的余数
示例:
print(10 % 3) # 1
print(15 % 4) # 3
print(15 % 2) # 1
# 应用1:判断整除关系(判断一个数是否能够被另外一个数整除:判断这两个数的余数是否为0)
print(10 % 5) # 0
print(8 % 2) # 0
# 判断数字的奇偶性:所有能被2整除的数就是偶数
num = 57
print(num % 2) # 1
# 应用2:取整数的低位数(砍掉高位保留低位) - 让整数对10或者10的n次方进行取余操作,可以获得整数的最1位或者后n位数
num = 345
print(num % 10) # 5
print(num % 100) # 45
print(72823 % 10) # 3
print(72823 % 100) # 23
print(72823 % 1000) # 823
- // - 整除
x // y - x除以y的商,商向小取整(找和尚相邻的两个整数中较小的那个)
示例:
# 应用:去掉整数的低位数,保留高位数 - 对10的n次方进行取整
print(10 // 3) # 3
print(20 // 3) # 6
print(-20 // 3) # -7
# 练习1:获取num中的十位数
num = 78294
# 方法1:将原数据的十位数变成个数(把原来的个位数砍掉)
# 78294 -> 78294 // 10 -> 7829 -> 7829 % 10 -> 9
print(num // 10 % 10)
# 方法2:
# 78294 -> 78294 % 100 -> 94 -> 94 // 10 -> 9
print(num % 100 // 10)
# 练习2:获取num中的百位数
num = 82339
# 82339 -> 339 // 100 -> 3
print(num % 1000 // 100)
# 82339 -> 823 % 10 -> 3
print(num // 100 % 10)
- ** - 幂运算
x ** y - 求x的y次方
示例:
print(2 ** 3)
print(5 ** 4)
print(21 ** 2)
print(2 ** -2) # 0.25
print(16 ** 0.5) # 4.0
print(8 ** (1/3)) # 2.0
3.比较运算符
Python中的比较运算符:>(大于)、<(小于)、>=(大于等于)、<=(小于等于)、==(等于)、!=(不等于)
- 所有的比较运算符的运算结果都是布尔值
print(10 > 9) # True
print(10 < 9) # False
print(10 >= 10) # True
print(10 <= 20) # True
print(10 == 20) # False
print(10 != 20) # True
- Python中的比较运算支持连写表示范围
age = 23
# 判断age值是否在18到28之间
print(18 <= age <= 28) # True
# 练习:写出判断score是否在[70, 90)范围内
score = float(input('请输入分数:'))
print(70 <= score < 90)
4.逻辑运算符
Python中的逻辑运算符:and(逻辑与)、or(逻辑或)、not(逻辑非)
复合条件 - 将多个条件连接成一个条件的连接方法:a.要求多个条件同时成立 b.要求多个条件中只要有一个条件成立就行
- and(逻辑与)
a.应用场景:要求多个条件同时成立的时候,这多个条件就用and来连接;相当于生活中的或者
b.运算规则:条件1 and 条件2 - 两个条件都成立结果就是True,只要有一个不成立结果就是False
True and True -> True
True and False -> False
False and True -> False
False and False -> False
示例:
# 案例1:写出判断num是否能够同时被3和5整除的条件
num = 30
# 条件:num是否能够同时被3和5整除 -> 既能够被3整除,又能够被5整除 -> 能被3整除的条件和能被5整除的条件同时成立
# 能被3整除的条件: num % 3 == 0
# 能被5整除的条件: num % 5 == 0
print('num是否能够同时被3和5整除:', num % 3 == 0 and num % 5 == 0)
print('num是否能够同时被3和5整除:', num % 15 == 0)
# 案例2:写出判断num是否是大于10的偶数的条件
num = 121
# 条件:num是否是大于10的偶数 -> 大于10,是偶数
# num是否大于10的条件: num > 10
# num是否是偶数:num % 2 == 0
print('num是否是大于10的偶数:', num > 10 and num % 2 == 0)
# 练习:写出判断num是否是能被5整除的奇数
num = 15
print('num是否是能被5整除的奇数:', num % 5 == 0 and num % 2 != 0)
- or(逻辑或)
a.应用场景:要求多个条件中只要有一个条件成立就行,这多个条件就用or来连接;相当于生活中的或者
b.运算规则:条件1 or 条件2 - 两个条件中只要有一个条件成立结果就是True,两个条件都不成立结果才是False
True or True -> True
True or False -> True
False or True -> True
False or False -> False
示例:
# 案例:判断num是否能够被3或者7整除
num = 15
print('num是否能够被3或者7整除:', num % 3 == 0 or num % 7 == 0)
# 练习:判断year对应的年份是否是闰年
# 闰年分为普通闰年(能被4整除但是不能被100整除)和世纪闰年(能被400整除)两种
year = 2008
# 普通闰年:year % 4 == 0 and year % 100 != 0
# 世纪闰年:year % 400 == 0
print('否是闰年:', (year % 4 == 0 and year % 100 != 0) or (year % 400 == 0))
- not(逻辑非)
a.应用场景:对条件进行否定(相当于生活中的否定语句)
b.运算规则:not 条件 - 对指定条件进行否定
not True -> False
not False -> True
示例:
# 案例1:写出age不大于18的条件
age = 72
print(not age > 18)
print(age <= 18)
# 案例2:num不等于10的条件
num = 23
print(not num == 10)
print(num != 10)
# 练习:写出判断num是否不能同时被3和7整除的条件
num = 34
print(num % 21 != 0)
print(not(num % 3 == 0 and num % 7 == 0))
# 能被3整除的时候不能被7整除、能被7整除的时候不能被3整除、既不能被7整除也不能被3整除
print((num % 3 == 0 and num % 7 != 0) or (num % 7 == 0 and num % 3 != 0) or (num % 3 != 0 and num % 7 != 0))
5.赋值运算符
Python中的赋值运算符:=、+=、-=、*=、/=、%=、//=、**=
-
不管是简单的赋值运算符还是复合赋值运算符,其功能都是给变量赋值(将一个数据保存到一个变量中)#
注意:所有赋值运算符的左边必须是变量,右边必须是能够提供数据的表达式
a. =
变量 = 数据 - 将数据直接保存到变量
示例:
a = 10 b = 20 * 2
b. 复合赋值运算符:+=、-=、*=、/=、%=、//=、**/
变量 += 数据 - 先将变量中的数据取出来和后面的数据进行加法运算,然后让加法运算的结果保存到前面的变量中
注意:复合赋值运算符前面的变量必须是已经赋值过的变量
运算符 | 描述 | 实例 |
---|---|---|
= | 简单的赋值运算符 | c = a + b 将 a + b 的运算结果赋值为 c |
+= | 加法赋值运算符 | c += a 等效于 c = c + a |
-= | 减法赋值运算符 | c -= a 等效于 c = c - a |
*= | 乘法赋值运算符 | c *= a 等效于 c = c * a |
/= | 除法赋值运算符 | c /= a 等效于 c = c / a |
%= | 取模赋值运算符 | c %= a 等效于 c = c % a |
//= | 取整除赋值运算 | c **= a 等效于 c = c ** a |
**= | 幂赋值运算符 | c //= a 等效于 c = c // a |
示例:
c = 100
c += 10 # c = c + 10
print(c) # 110
c -= 20
print(c) # 90
c *= 2
print(c) # 180
c %= 3 # c = c % 3 = 180 % 3 = 0
print(c) # 0
- 运算符优先级:
数学运算符 > 比较运算符 > 逻辑运算符 > 赋值运算符
** > *、/、%、// > +、-
and > or
有括号先算括号里的