Python 课时安排
课次(2课时) | 标题 | 内容 |
---|---|---|
1 | Python 初探 | 安装,猜数字游戏、数学运算 |
2 | Python 基础 | 变量,数据类型,输入,注释 |
3 | Python 流程控制1 | 判断,循环、 |
4 | Python 流程控制2 | 嵌套循环,乘法口诀表 |
5 | Python 列表 | 列表的创建、添加、删除、修改 |
6 | Python 字典 | 字典的创建、添加、删除、修改 |
7 | Python 字符串 | 字符串处理及常用方法 |
8 | Python 打印 | 格式化输出 |
9 | Python 函数 | 创建函数,变量作用域 |
10 | Python 匿名函数 | lambda 表达式,filter,map |
11 | Python 对象1 | 对象的定义、创建,实例 |
12 | Python 对象2 | 对象的属性、方法 |
13 | Python 对象3 | 一个示例对象 |
14 | Python 对象4 | 对象的多态 |
15 | Python 对象5 | 对象的继承 |
16 | Python 魔法1 | 基本的魔法方法 |
17 | Python 魔法2 | 迭代器 |
18 | Python 魔法3 | 生成器 |
19 | Python 模块 | 创建模块,使用模块 |
20 | Python 包 | 包结构 |
21 | Python 常用模块1 | datetime 模块 |
22 | Python 常用模块2 | OS 模块 |
23 | Python 文件 | 文件读取,文件写入 |
24 | Python GUI1 | GUI 输入,猜数字游戏 |
25 | Python GUI2 | Skier 游戏 |
26 | Python GUI3 | Skier 游戏进阶 |
27 | Python 练习题 | 常见练习题集及参考解析 |
28 | Python Quizes | 基础测试题及参考答案解析 |
Python 能做什么
Python 被称为“胶水”语言,它像一种粘合剂,为各行各业的工作人员提供简单易用的接口,调用其他语言既有的强大成熟模块。套用 Apple 的一句广告词:there is a module for that。不管你想做什么,总能找到一个Python
模块,来帮助你更好更高效的完成工作。如果没找到,那么机会来了,编写一个模块,成为它的第一个贡献者,发布到开源社区,在大家共同的努力下,不断协作完善。Get the job done!
数据分析挖掘
利用Python基础库,如Numpy、Pandas与可视化Matplotlib等等库实现对数据分析挖掘
- Kaggle入门:泰坦尼克号幸存者
- 电影人物关系提取
- 出租车与网约车调度
- 租房问题
-
机器学习与深度学习
利用机器学习算法和深度学习算法解决问题
人脸识别
- K-近邻算法实现手写数字识别
- 中文错别字高亮系统
-
网络开发
利用Python网络框架,如Flask、Django及异步框架Toronto等等实现网站开发
Django搭建个人博客
- Flask实现简易聊天室
-
爬虫
利用Python基础库,如Request库及相应提取文本方式获取目标信息
微信好友信息批量获取
- 微博热搜
- 爬取知乎图片
- 爬取天气预报
- 网易云音乐
本课程不教什么
由于 Python
语言的语法,非常接近自然语言的语法,所以市面上充斥着大量的《Python:从入门到精通》、《2小时学会Python》等等。此类课程更像是一场电影,听的时候什么能都听懂,内容非常精彩,但过后什么不记得。准确的说本质上什么都没有学会,仅仅是了解了世界上有一种开发语言,语法易懂,上手容易。
Python的语法简单易学,2小时从入门到“精通”后,大部分网络课程,就开始百科全书式的罗列常用模块,以及常用类中提供的各种“魔法”方法。在我们看来,这样跟通读Python官方文档,没有任何本质上的区别。
>>> la = [1, 2, 3, 4, 5, 6]
>>> lb = la[::-1]
>>> lb
[6, 5, 4, 3, 2, 1]
简单的一个操作 la[::-1]
,得到倒序排列的数组 [6, 5, 4, 3, 2, 1]
,厉害吧?不,这仅仅是Python为我们提供了很多便捷的“操作”而已。这个操作很“厉害”,但学员并不一定厉害,真正掌握了背后的处理原理,甚至自己写出一套更加便捷的处理程序,才算是真正的“厉害”。
本课程不教:语法“糖”,不罗列“魔法”方法,不百科全书式的念文档、举例子、展示执行结果。
本课程教什么
会说话吗?会看懂220个基本的 Sight Words 吗?那么你一定能看懂绝大部分 Python
语句,剩下看不懂的怎么办?预测 -> 执行 -> 验证 -> 学习 -> 掌握
预测至上
编程是一门互动性非常强的课程,绝对不是老师在上面讲,学生在下面听就能学好的。
以学员为中心,自己推导出来的结论,印象才更深刻,理解才更透彻。世界上有非常多种编程语言,Python仅仅是几十种主流编程语言中的一种。所以掌握Python的编程语法是远远不够的,更重要的是掌握编程这件事背后的思维方式:计算思维。
Python恰巧是我们学习这种思维方式的一种介质,所以本课程会弱化编程语言的概念,逐步强化计算思维这种新的思维方式,也是本课程设立的初衷。
不“乱”猜答案
根据下面的代码:
>>> print('Hello World')
Hello World
>>>
预测,下面的一段代码,会发生什么?
>>> name = "Pitt"
>>> print('Hello' + name)
稍微变更一下代码,又会发生什么呢?
>>> print('Hello', name)
预测不是“瞎”猜。预测是“合理”推断,合哪个理呢?不管哪个理,有个理就行,有理就不是瞎猜,不管此理正确与否。在初始阶段,合自己的理就行,如果预测对了,会进一步强化自己的理,如果预测错了,学会一步步调整自己的理,直至预测正确。
实际上,机器学习大体上也就是这么个过程,机器学习的优势在大数据,样本多,调整快,但本质上机器并不懂为什么,也就是机器是依靠大力出奇迹。我们的优势在于,能搞明白为什么,进而有目的,有方向的调整,以达到更好的结果。
那么上面的两段代码会有什么样的输出呢,你预测到了吗?
HelloPitt
>>>
Hello Pitt
>>>
再来几个例子:
age = 15
if age >= 18:
print("You're old enough to buy a ticket for this film.")
else:
print(f"You'll be old enough in {18 - age} years")
favorite_foods = ["Sushi", "Apple", "Mango", "Pizza", "Chicken"]
print(favorite_foods[2])
print(favorite_foods[10])
IPO: 输入、处理、输出
本课程教:推理能力,创造轮子(module)的能力。