分享

要不要试试,用 60 天时间精通 Python 全栈?

 过河卒冲 2020-03-04

传统 Python 教程有什么问题?

我见过很多的 Python 讲解教程和书籍,它们大都这样讲 Python 的:

先从 Python 的发展历史开始,介绍 Python 的基本语法规则,Python 的 list, dict, tuple 等数据结构,然后再介绍字符串处理和正则表达式,介绍文件等 IO 操作,再介绍异常处理, 就这样一章一章往下说。

虽然这样的讲解很全面,但是单纯的理论说明经常很枯燥,让人越看越累,越累越不想看。

那么,有没有比这更好的方法呢?

这个 Python 专栏

因为我也有过那段「自学」Python 的迷茫时期,所以我深知好的系统学习规划和生动的老师讲解,是事半功倍并且省下我们程序员更多青春的关键。

所以我提炼出过往五年多的工作经验,并和远在美国学府进修的 AI 博士后老师一起撰写了这个《Python 全栈 60 天精通之路》专栏。

别人在介绍知识点时都会说「这东西是什么」,但我不想这样做。我觉得「为什么这东西是这样」或者「在什么场景、适应什么需求、有什么好处,才会用这东西」,反而更能让你们对知识本身有更深刻的理解。

本着有趣有味,纯碎干货,实用至上的原则,我来介绍一下专栏的五大特色

一、案例教学。纯碎的理论知识学起来很枯燥,但是结合一个个的小案例,以此切入,会让你学起来更爽。
案例:计算还有多少天是女朋友生日,能适配三种输入时间格式
def get_days_girlfriend(birthday:str)->int:
import re
splits = re.split(r'[-.\s+/]',birthday)
splits = [s for s in splits if s] # 去掉空格字符
if len(splits) < 3:
raise ValueError('输入格式不正确,至少包括年月日')
splits = splits[:3] # 只截取年月日
birthday = datetime.strptime('-'.join(splits),'%Y-%m-%d')
tod = date.today()
delta = birthday.date() - tod
return delta.days

案例:在两个列表中,找出重叠次数最多的元素

In [80]: def max_overlap(lst1,lst2):
...: overlap = set(lst1).intersection(lst2)
...: ox = [(x,min(lst1.count(x), lst2.count(x))) for x in overlap]
...: return max(ox, key=lambda x: x[1])

In [81]: max_overlap([1,2,2,2,3,3],[2,2,3,2,2,3])
Out[81]: (2, 3)
二、尽量做到有趣。图文并茂,演示动画,加上有趣的例子、有趣的小项目,学起来更有乐趣。
lambda 函数使用,动画演示:
不光有 Student、Students 类,还配有一看就懂的示意图:
class Student():
def __init__(self,name):
self._name = name

@property
def name(self):
return self._name

@name.setter
def name(self,val):
self._name = val

class Students(list):
def __contains__(self,stu):
for s in self:
if s.name ==stu.name:
return True
return False

三、自成体系就像侦探片那样,一步一步,一环扣一环地铺开 Python 技术栈。
首先,精炼总结 Python 两大特性、四大基本语法、四大数据类型,再结合动画和图形演示总结 list 、tuple、dict 、set ;给出应用 list 和 tuple  13 个经典案例,dict 和 set 的 15 个经典使用案例;

再盘点 Python 最高频使用的 42 个函数,每个函数讲解都配有例子;正则表达式实战,文件和日期操作 11 个案例;搭建 Python 环境和安装包的案例手把手讲解。

这样入门和上手 Python 后,开始下一阶段更精彩的 Python 进阶,直面攻克 Python 高阶函数,迭代器,yield 和生成器,装饰器等等,用最通俗的语言,最贴切的案例教学。 

四、深度剖析 30 道最高频 Python 面试题。打通理论知识,案例实战,一线互联网公司的面试题等整个体系,学以致用,理论和实战、面试相结合。节选专栏涉及的 10 道面试题:
1) 如何一行代码生成等差数列前 n 项?
2) 如何一行代码打乱一个列表?
3) 一行代码判断某天是这一年的第几天?
4) 4 G 内存如何处理 10 G 文件?
5) 如何使用正则匹配所有负浮点数?
6) map 、reduce、lambda 函数使用的面试题
7)  如何实现一个 2*i + 1 的自增迭代器?
8) 如何使用 yield 解耦文件读取和数据操作两个步骤?
9) 如何根据 Student 类的 id 决定对象的相等性?
10) 使用协程,如何实现函数 A 中断调用函数 B,函数 B 中断调用函数 A?

五、项目实战。不仅会有实战环境部署方案,还有实际的项目:Python GUI 开发项目,Flask 在互联网公司敏捷开发,Kaggle 数据分析项目,机器学习分类、聚类手把手实战项目。案例实战节选以下:
1) 每一天的理论知识讲解,几乎都配有最贴切的小案例
3) 使用 PyQt 制作精美的计算器
4) LeetCode 最高频 10 题实战及详解分析
5) 基于 Kaggle 电影影评数据集,数据分析实战分析
6) 应用机器学习算法,制作单词修正器
7) 基于 Kaggle 数据集,机器学习分类任务实战分析
8) 美国顶尖学府 AI 博士后 Alicia 总结的机器学习必备的数学知识 

专栏设计

为了让你在自学时能依据自身的学习基础量体裁衣,我将整个 Python 内容按天划分。这样不仅能减轻你每天的学习负担,而且还能有更效的检验学习效果。

第一部分:Python 基础篇

Day 1:Python 两大特性和四大基本语法

Day 2:Python 四大数据类型总结

Day 3:list 和 tuple 的基本操作、深浅拷贝和切片操作详细等 5 个方面总结(附图形形象解释)

Day 4:list 和 tuple 的 13 个经典使用案例

Day 5:dict 和 set 基本操作、字典视图等 6 个方面详解总结附图形阐述

Day 6:dict 和 set 的 15 个经典使用例子

Day 7:数学运算、逻辑运算和进制转化相关的 16 个内置函数

Day 8:16 个类型函数和 10 个类对象相关的内置函数大盘点

Day 9:Python 字符串和正则介绍总结

Day 10:Python 文件操作 11 个案例总结

Day 11:Python 时间模块使用逻辑大盘点

第二部分:Python 实战环境搭建

Day 12:Python 四种常用开发环境总结

Day 13:Python 安装包常见问题及解决方法,通过两个实际案例展开

Day 14:五分钟入门 7 个 Web、爬虫、打包工具 Pyinstaller 等包介绍和入门案例总结

Day 15:五分钟入门 8 个数据分析、机器学习和深度学习包和框架和入门案例总结

Day 16:Pyinstaller 打包过程详解

第三部分:Python 进阶篇

Day 17:Python 列表生成式高效使用的 12 个案例

Day 18:Python 对象间的相等性比较 is,in,id,== 等使用总结

Day 19:yield 关键字和生成器用法四个方面总结及三个例子,nonlocal 关键字和 global 关键字使用总结

Day 20:Python 函数的 5 类参数及使用规则详解

Day 21:5 个常用的高阶函数,3个创建迭代器的函数使用详解

Day 22:Python 多线程、协程使用逻辑通俗易懂的总结

Day 23:Python 高效节省内存的方法总结(进一步提升 yield 用法)

Day 24:Python 最被低估的库 collections 使用总结

Day 25:Python 面试最高频 30 题详细解答

Day 26:Python 函数式编程总结,包括闭包,nonlocal 关键字等的使用总结

Day 27:Python 装饰器的本质解密,结合三个装饰器的案例

Day 28:Python 常见的 12 个坑点合集

第四部分:Python 数据分析篇

Day 29:NumP 入门高效使用逻辑,掌握这五方面功能

Day 30:NumPy 进阶高效使用逻辑,掌握这五方面功能

Day 31:NumPy 的广播机制规则解读和应用

Day 32:Pandas 读写文件五类问题及 38 个参数总结

Day 33:Pandas 更强的方括号操作,iterrows, itertuples 和 merge 处理速度比较分析,特有的 set_index,reset_index,reindex 操作

Day 34:Pandas 数据透视功能 4 大函数使用总结

Day 35:Pandas 数据分箱的两种方法,转换为哑变量(dummy)的两种方法,连接两张表的四种不同方法总结

Day 36:开发常见异常汇总:Unhashable Type, 读取文件最常见的4个异常,SettingWithCopyWarning

第五部分:数据分析实战篇

Day 37:绘图神器 Pyecharts 快速手上的方法详细总结,从 Charts 和 Options 两大模块入手

Day 38:Matplotlib 绘图原理总结,绘制多图的三种方法总结,12 种常用图完整代码解析以及制作动画方法总结

Day 39:基于 Kaggle 电影影评数据集 Pandas 数据分析实战-数据预处理阶段

Day 40:基于 Kaggle 电影影评数据集 Pandas 数据分析实战-挖掘出喜剧 Top50 榜单

Day 41:PyQt 制作 GUI 实战:通过制作小而美的计算器学会使用 PyQt

第六部分:基础算法篇

Day 42:关于入门算法、机器学习和深度学习我的一些思考总结

Day 43:八个排序算法原理总结和 Python 完整代码实现

Day 44:动态规划算法和案例总结

Day 45:面试常考 Leetcode 算法题分析和总结

第七部分:机器学习算法篇

Day 46:必备统计学知识:概率,期望,方差,标准差,协方差,相关系数,t 检验,F 检验,卡方检验

Day 47:机器学习必备的数学基础知识:最常用的求导公式,矩阵特征值分解等

Day 48:机器学习不得不知的概念:样本空间,特征向量,维数,泛化能力,归纳偏好等

Day 49:机器学习之 9 种常见的概率分布

Day 50:OLS 线性回归实战上篇:机器学习回归原理详细介绍,包括假设和原理,梯度下降求权重

Day 51:OLS 线性回归实战下篇:手写不调包实现线性回归算法实战

Day 52:贝叶斯分类案例解析和编写

Day 53:贝叶斯算法实战:实现单词拼写纠正器

Day 54:高斯混合模型聚类原理分析和求解总结

Day 55:聚类模型实战:不调包实现多维数据聚类案例

Day 56:机器学习常用聚类算法大盘点包括原理和使用注意事项

Day 57:机器学习降维算法之 PCA 原理推导和例子解析

Day 58:Kaggle 机器学习项目实战:从数据预处理,到模型选择,调参技巧,训练技巧和结果分析

第八部分:经验分享

Day 59:美国名校博士、AI 专家 Alicia 关于如何学习数学、机器学习、数据分析、前言深度学习技术的总结和展望

Day 60:专栏总结和 zglg 过往 5 年一线互联网公司算法开发经验分享


目前已经有 2000 多位同学在群内一起打卡交流,遇到不懂的问题只要往群里一抛,立马有其他同学和老师仔细解答👇

Python 已被多家平台评选为 2020 年最值得掌握的编程语言第一名!相信精通这门专栏,一定会让你在未来获得更大的发展空间!

现在订阅本专栏,即可开启 60 天的学习之路,还能进群和 zglg ,Alicia ,以及已经订阅专栏的 2000 位 Pythoner 一起交流学习哦~

订阅专栏,即可入群与作者交流

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多