day5
选择结构
单分支结构语句
双分支结构
if 条件表达式:
语句1/语块1
else:
语句2/语块2
三元条件运算符
条件为真时的值 if (条件表达式)else 条件为假时的值
多分支结构
问题:
选择结构嵌套
问题:输入一个分数。分数在0-100之间。90以上是A。
条件表达式详解
在选择和循环结构中,条件表达式的值为False的情况如下:
False/0/0.0/空值none/空序列对象(空列表、空元组、空集合、空字典、空字符串)、空range对象、空迭代对象
注:在python中,条件表达式不能出现赋值操作符“=”,避免了其他语言中经常误将关系运算符“==”写作赋值运算符“=”带来的困扰。
if 3<c and(c=20)将回报语法错误
循环结构
while循环
while 条件表达式
循环体语句
for循环
for循环通常用于可迭代对象的遍历。for循环格式如下:
for 变量 in 可迭代对象:
循环体语句
可迭代对象
1.序列。包含:字符串、列表、元组
2.字典
3.迭代器对象
4.生成器函数
5.文件对象
range对象
range对象是一个迭代器对象,用来产生指定范围的数字序列。格式为:
range(start,end [step])
for i in range(10) 产生序列:0 1 2 3 4 …10
问题: 利用for循环,计算1-100之间的数字,计算奇数之间的数字,计算偶数之间数字
嵌套循环
问题:九九乘法表
结束语句
break语句
break语句可用于while和for循环,用来结束整个循环,当有嵌套循环时,break语句只能跳出最近一层的循环
continue语句
用于结束本次循环,继续下一次。多个循环嵌套时,continue也是应用于最近的一层循环。
问题:要求输入员工薪资,若薪资小于0则重新输入,最后打印录入员工数量和薪资明细,以及平均薪资
else语句
循环代码优化
1.尽量减少循环内部不必要的计算
2.局部变量查询较快,尽量使用局部变量
其他优化手段
join()
1.连接多个字符串,使用join()而不使用+
尾部删除插入
2.列表进行元素插入和删除,尽量在列表尾部操作
zip()并行迭代
使用zip函数对多个序列进行并行迭代
推导式创建序列
列表推导式
字典推导式
集合推导式
生成器推导式(生成元组)
函数
函数分类
1.内置函数
str(),list(),len()都是内置函数,可以拿来使用
2.标准库函数
通过import 语句导入库,然后使用其中定义的函数
3.第三方库函数
python社区也提供了很多高质量的库。下载后通过import语句导入,就可以使用
4.用户自定义函数
python中,定义函数的语法如下:
def 函数名([参数列表]):
"‘文档字符串”’----注释
函数体/若干语句
要点:
1. 我们使用def来定义函数,然后就是一个空格和函数名称
2. 参数列表
- 圆括号内是形式参数列表,有多个参数则使用逗号隔开
- 形式参数不需要声明类型,也不需要指定函数返回值类型
- 无参数,也必须保留空的圆括号
- 实参列表与形参列表一一对应
3.return返回值
(1)如果函数体中包含return语句,则结束函数执行并返回值
(2)如果函数体中不包含return语句,则返回None值
4.调用函数之前,必须要先定义函数,即先调用def创建函数对象
(1)内置函数对象会自动创建
(2)标准库第三方函数,通过import导入模块时,会执行模块中的def语句
形参和实参
文档字符串(函数的注释)
help(函数名.-doc-)
打印输出函数的文档字符串
return返回值
return返回值要点:
1.如果函数体中包含return语句,则结束函数执行并返回值
2.如果函数体中不包含return语句,则返回None值
3.要返回多个返回值,使用列表、元组、字典、集合将多个值“存起来”