03 运算符与分支结构
一、格式化输出
1.旧式字符串格式化方法
-
常用占位符:%s、%d、%f --> 字符串、整型、浮点型
-
注意:%f默认6位小数,%.Nf可以给N设置任意大于0的整数来调整小数位数
2. format方法
-
字符串中有几个{},format中就需要传递几个数据
b = '{}今年{}岁,考了{}分,考上了大学'.format(name, age, 600.5) print(b)
3. f-string(格式化字符串字面值)
c = f'{name}今年{age}岁,考了{600.512345}分,考上了大学' print(c)
二、运算符
- 常用的运算符:算术运算符、比较运算符、赋值运算符、逻辑运算符等
1. 算术运算符
+、-、*、/、//(整除)、%(取模、取余)、**(幂运算)
-
python的除法运算结果永远为float(追求精度问题
-
开方,得到的结果永远为float
-
round(数值, 小数位数):四舍五入保留小数位数
-
c_2 = round((f_2 - 32) / 1.8, 1)
2. 比较运算符
-
>、<、>=(大于或等于)、<=(小于或等于)、!=(不等于)、==(等等于)
-
比较运算结果永远为成立或不成立 -> True或者False
-
优先级:算术运算符 > 比较运算符
-
如果布尔类型涉及到数学运算,自动转换
3.赋值运算符
-
+=(加等于)、-=、*=、/=、//=、**=(幂运算等于)、%=、=
-
创建变量,给变量赋初始值
a = 100 a += 20
-
总结
所有赋值运算符的目的最终是为了给左边的变量赋值 如果某个变量不存在,只能使用=先去创建 复合赋值运算,要把右边的公式看成一个整体 先算等号右边,再算等号左边
4.逻辑运算符
- and(逻辑与运算)、or(逻辑或运算)、not(逻辑非运算)
1. and:
- 语法:条件1 and 条件2
- 解释:and两边跟条件,and结果为布尔类型,
- 中断机制:如果条件1不成立,直接给结果False,条件2无需再判断。
- 优先级:比较运算符 > 逻辑运算符
2. or:
- 语法:条件1 or 条件2
- 解释:or两边跟条件,or结果为布尔类型,
- 中断机制:如果条件1成立,直接给结果True,条件2无需再判断。
3. not
- not 条件
- 取反,获得结果的对立面
4. 常用运算符的优先级
- 算术运算符 > 比较运算符 > 逻辑运算符 > 赋值运算符
- 算术运算符:** > *、/、//、% > +、-
- 如果某个条件加了(),优先计算小括号这个小整体
三、分支结构
1. 分支结构涉及到的Python关键字:if、else、elif
2. 语法:单分支结构(二选一)、多分支结构(多选一)
3. 单分支结构
-
语法
if 条件(布尔值): 代码块1 else: 代码块2
如果if后面的条件成立(True),执行代码块1;反之,执行代码块2
-
判断一个人是否成年
age = 17 if age >= 18: print('成年') else: print('未成年')
4. 多分支结构
-
语法
if 条件1: 代码块1 elif 条件2: 代码块2 ....... else: 代码块N
练习:改写判断一个年份是否是闰年为多分支结构
year = 404 if year % 4 == 0 and year % 100 != 0: print(f'{year}是闰年') elif year % 400 == 0: print(f'{year}是闰年') else: print(f'{year}是平年')
5.三目运算符(属于单分支结构的)
-
语法
结果1 if 条件 else 结果2
-
执行顺序:判断条件是否成立,成立返回结果1;反之返回结果2.
6.分支结构的简写
- 单分支结构与多分支结构可以忽略掉else不写
7.嵌套分支
age_2 = 70
if age_2 >= 18:
if age_2 >= 60:
print('老年')
else:
print('成年')
else:
print('未成年')