一、变量
1. 变量作用:
变量用于保存数据
- 程序中使用数据方式:
- 在需要数据的时候提供数据
- 先将数据保存到变量中,然后在需要使用数据的时候通过变量来提供数据
示例: 打印年龄值
# 方法1:
print(18)
# 方法2:
age = 18
print(age)
2. 定义变量:
创建变量保存数据
1)语法: 变量名 = 数据
2)说明:
(a)变量名 - 由程序员自己命名
+ 两个要求: 是标识符;不是关键字
- 三个规范: 见名知意(看到变量名就知道这个数据中保存的是什么数据); 所有字母都小写,多个单词之间用下划线隔开;不使用系统函数名(input、print、type)、类名(int、float、str、bool)、模块名(math、keyword、random)。
(b) = - 赋值符号(固定写法)
© 数据 - 可以是任何有结果的表达式 ( 包括: 具体的某个数据、已经赋值过的变量、有结果的运算表达式、函数调用表达式 )
示例: 输出结果 — 10 vf 10 61
dog_name = '来钱'
a = 10
b = 'vf'
c = a
d = 10 + 51
print(a,b,c,d)
3. 使用变量:
- 使用变量就是使用变量中保存的数据(变量中保存的数据能做的事情,变量都可以做)
注意: 变量必须先定义再使用
使用:
height = 170 # 将数据170保存到变量height中
# print(170)
print(height)
# print(170 + 10)
print(height + 10)
# print(type(170))
print(type(height))
4.修改变量的值
重新给变量赋值,后赋的值会覆盖变量中原来保存的数据。
示例: 输出值 — 18 19
age = 18
print(age)
age = 19
print(age)
5.同时定义多个变量
1)同时定义多个变量赋相同的值:
变量名1 = 变量名2 = 变量名3 = … = 数据
示例: 结果 ---- 100 100 100
x = y = z = 100
print(x, y, z)
2)同时定义多个变量赋不同的值:
变量名1,变量名2,变量名3 ,…= 数据1, 数据2, 数据3, …
示例: 结果 — 10 20
m, n = 10, 20
print(m, n)
练习: 交换v1,v2的值:
v1 = 100
v2 = 320
# 方法1:
v3 = v1
v1 = v2
v2 = v3
# 方法2:
v1,v2 = v2,v1
print(v1, v2)
二、数学运算符
数学运算符: +(加)、-(减)、*(乘)、/(除)、%(取余数)、//(整除)、**(幂运算)
1. +(加)、-(减)、*(乘)、/(除)
- python中+、-、
*
、/和数学中+、-、*
、/功能一样
示例: 右边为输出结果
print(5 + 2) # 7
print(5 - 2) # 3
print(5 * 2) # 10
print(5 / 2) # 2.5
print(4 / 2) # 2.0
# 注意除非运算的运算结果的类型一定是浮点型
2. % - 取余(取模)
x % y ,表示求x除以y的余数
示例:
print(10 % 3) # 1
print(15 % 4) #3
- 应用1: 判断两个数是否存在整除关系(判断两个数的余数是否为0)
num = 100
print(num % 2)
- 应用2: 取整数的底位数(让整数对10或者10的幂次方进行取余操作)
num = 23468
print(num % 10) # 8
print(num % 100) #68
print(num % 1000) #468
3. ** - 幂运算
x ** y ,表示求 x的y次方
示例:
print(2 ** 3) # 8
print(5 ** 4) # 625
print(8 ** (1/3)) # 2.0
print(16 ** 0.5) # 4.0
print(2 ** -2) # 0.25
4. // - 整除
x//y ,表示求x除以y的商,向小取整
示例
print(5 // 2) # 2
print(10 // 3) # 3
print(-5 // 2) # -3
- 应用1: 去掉一个正整数的低位数,保留高位数
num = 2733
print(num // 10) # 273
print(num // 100) #27
练习: 获取任意一个正整数的十位数
num = 23489
# 方法1:
print(num // 10 % 10)
# 方法2:
num1 = num % 100
print(num1 // 10)
三、比较运算符
比较运算符有: >(大于)、<(小于)、>=(大于等于)、<=(小于等于)、==(等于)、!=(不等于)
注意: 所有的比较运算的运算结果都是布尔值
示例: F表示False; T表示True
print(10 > 20) # F
print(10 < 20) # T
print(20 >= 20) # T
print(10 == 12) # F
print(10 != 12) # T
运用示例:
num = 23
print('num是否为偶数:',num % 2 == 0) # num是否为偶数: False
age = 17
print('是否成年:', age >= 18) # 是否成年: False
注意: python的比较运算符支持连写表示范围
x = 0.98
print('x是否在0到1之间', 0 <= x <= 1) # x是否在0到1之间 True
四、逻辑运算符
逻辑运算符: and(逻辑与运算)、or(逻辑或运算)、not(逻辑非运算)
1. and - 逻辑与运算
1)应用场景: 如果需要两个条件同时满足,就用and来连接这两个条件; 相当于生活中的并且.
2)运算规则: 条件1 and 条件2 - 如果两个条件都是True,结果就是True,只有一个是Flase结果就是False
条件 | 结果 |
---|---|
True and False | False |
False and True | False |
False and False | False |
True and True | True |
- 案例1: 写出判断num是否能同时被3和7整除的条件
num = 21
print('num是否能同时被3和7整除',num % 3 == 0 and num % 7 == 0)
- 案例2: 写出判断num是否是大于10并且是偶数的条件
num = 34
print('num是否是大于10的偶数', num % 2 == 0 and num > 10)
2. or - 逻辑或运算
1)应用场景: 如果需要两个或者多个条件中的一个条件成立就行,就将两个或者多个条件用or连接; 相当于生活中的或者
2)运用规则: 条件1 or 条件2 - 如果两个条件都是False,结果才是False;只有一个是True,结果就是True
条件 | 结果 |
---|---|
True and False | True |
False and True | True |
False and False | False |
True and True | True |
- 案例1: 判断num是否能被3或者4整除
num = 234
print('num是否能被3或者4整除:',num % 3 == 0 or num % 4 == 0)
- 案例2: 判断是否为闰年( 为闰年的条件 1.能被400整除 ; 2.能被4整除,但是不能被100整除)
year = 2003
print('year是否是闰年:',year % 400 == 0 or (year % 4 == 0 and year % 100 != 0))
3. not - 逻辑非运算
1)应用场景: 对一个条件进行否定,相当于生活中的不
2)运算规则: not条件 - 对指定条件进行否定
条件 | 结果 |
---|---|
not True | False |
not False | True |
- 案例1: age不大于12的条件
age = 17
print(not age > 12)
print(age <= 12)
- 案例2: 判断num是否不等于10
num = 23
print(num != 10)
print(not num == 10)
练习: 写出num是否不能同时被3和7整除条件
num = 25
print(num % 21 != 0)
五、 赋值运算符
赋值运算符: =、+=、*=、/=、%=、//=、**=
所有的赋值运算符都是用来给变量赋值的,所以所有赋值运算符的左边必须是变量,右边是能够提供表达式
1) =
- 变量 = 数据 - 将指定的数据保存到指定变量中
运用
a = 2
b = 56
a = 100
2) 复合的赋值运算符
- 变量 += 数据 - 将变量中保存的数据取出来和后面的数据进行加法运算,再将结果重新赋值给前面的变量
注意: 复合的赋值运算符前面的变量必须是已经定义过的变量
示例: 输出结果 - 110 0
x = 100
x += 10
print(x) # 110
x -= 20 # 90
x *= 2 # 180
x %= 3 # 0
x **= 2 # 0
print(x)
特别注意: 赋值运算表达式没有结果
print(10 + 20)
print(10 < 20)
print(10 > 20 and 5 > 3)
# print(a = 3) 这种会报错
六、运算符的优先级
- 数学运算符 > 比较运算符 > 逻辑运算符 > 赋值运算符(最低)
- ** > *、/、%、// > +、-
- and > or
- 有括号先算括号里面的
七、分支结构
- 根据代码执行过程不同,可以将代码结构分为三种:
- 顺序结构 (默认): 代码从上往下按顺序依次执行,并且每一条语句只执行一次
- 分支结构 (if): 根据条件选择性的执行代码
- 循环结构 (for,while): 让代码重复执行
1. 顺序结构
示例: 结果 - 100 200 300
print(100)
print(200)
print(300)
2. 分支结构
1) if单分支结构 - 如果xxx就xxx
-
- 应用场景 : 满足条件才执行某个操作,条件不满足的时候这个操作就不执行
-
- 语法:
if 条件语句:
代码段
说明 :
内容 | 说明 |
---|---|
if | 关键字;固定写法 |
条件语句 | 可以是任何有结果的表达式 |
: | 固定写法(注意必须是英文输入法的冒号) |
代码段 | 结构上,就是和if保持一个缩进的一条或者多条语句(至少一条);逻辑上,就是满足条件才会执行的代码 |
-
- 执行过程;
先判断条件语句是否为True,如果是就执行代码段中代码,否则就不执行
示例:
age = 19
if age >= 18:
print('成年')
3)if双分支结构
语法:
if 条件:
代码段1(满足条件会执行的代码)
else:
代码段2(条件不满足的时候会执行的代码)
示例: 根据age的值打印’成年‘或‘未成年’
age = 16
if age >= 18:
print('成年')
else:
print('未成年')