day4课上练习题
字典应用案例
switch语句实现
第一种方法:
第二种方法:
![在这里插入图片描述](https://img-blog.****img.cn/20190523172504896.pn
题目需求: 假设已有若干用户名字及其喜欢的电影清单,现有某用户,已看过并喜欢一些电影,现在想找个新电影看看,又不知道看什么好。根据已有数据,查找与该用户爱好最相似的用户,也就是看过并喜欢的电影与该用户最接近,然后从那个用户喜欢的电影中选取一个当前用户还没看过的电影,进行推荐。
技能要点: Python内置函数以及内置字典与集合的用法
生成电影推荐需要的数据
电影推荐实现案例
05遍历字典理解
元组及列表的多元赋值
一键多值字典:defaultdict
解决方案:
1). 字典是一种关联容器,每个键都映射到一个单独的值上。如果想让键映射到多个值,需要将这些多个值保存到容器(列表或者集合)中。
2). 利用collections模块中的defaultdict类自动初始化第一个值,这样只需关注添加元素.
defaultdict词频统计
07default案例代码
函数
如果在开发程序时,需要某块代码多次,但是为了提高编写的效率以及代码的重用,所以把具有独立功能的代码块组织为一个小模块,这就是函数.
10函数创建和调用
![在这里插入图片描述](https://img-blog.****img.cn/20190523175337506.png
空函数
定义一个什么事也不做的空函数,可以用 pass 语句;
pass 可以用来作为占位符,还没想好怎么写函数的代码,就可以先放一个 pass ,让代码能运行起来
11温度转换
12猜数字游戏
变量作用域
局部变量:
全局变量:
注意:global的本质是声明可以修改全局变量的指向, 即变量可以指向新的数据。
1). 不可变类型的全局变量: 指向的数据不能修改, 不使用global时无法修改全局变量。
2). 可变类型的全局变量: 指向的数据可以修改, 不使用global时可以修改全局变量。
参数传递
定义时小括号中的参数,用来接收参数用的,称为 “形参”
调用时小括号中的参数,用来传递给函数用的,称为 “实参”
参数检查
调用函数时,如果参数个数不对,Python 解释器会自动检查出来,并抛出 TypeError;
如果参数类型不对,Python 解释器就无法帮我们检查。
数据类型检查可以用内置函数 isinstance 实现
![在这里插入图片描述](https://img-blog.****img.cn/20190523181238642.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80MzU5MjgzNQ==,size_16,color_FFFFFF,t_70
默认参数
关键字参数