Auto Byte

专注未来出行及智能汽车科技

微信扫一扫获取更多资讯

Science AI

关注人工智能与其他前沿技术、基础学科的交叉研究与融合发展

微信扫一扫获取更多资讯

Github标星过万,Python新手100天学习计划,这次再学不会算我输!

作为目前最火也是最实用的编程语言,Python不仅是新手入门程序界的首选,也逐渐成为了从大厂到小厂,招牌需求list的必要一条。

当然,学Python这件事情,你可能也和文摘菌一样,已经下了一百次决心,但是最后都“从入门到放弃”。

究其原因,很可能是没有明确的学习目标,或者学习目标太过“宏伟”,所以总是阵亡在了introduction视频到第一行代码之前。

那么,从小白成为大师,到底需要多长时间?真的有一个有规可循的计划吗?

本周Github热榜第一的项目告诉你:Python学习有套路!并且只需要100天!

自发布,这篇Github帖子的标星数量已经过万,Fork数量也有3566。项目详细给出了一个100天的Python学习计划,包括每天需要掌握的内容、学习周期、资料库等。从怎么安装Python介绍起到使用Django开发项目收尾,100天,11个阶段,每完成一个阶段都让你成就感满满。

先附上github地址:https://github.com/jackfrued/Python-100-Days

第一阶段,Python语言基础(学习周期15天)

第1天的任务是让你完成Python的搭建并写出第一行命令,也就是hello word。除此之外,使用IDLE - 交互式环境(REPL),编写多行代码,使用注释给说明代码的作用也是在第一天就要掌握的。

第2天的任务是掌握Python的语言元素,包括变量和类型、数字和字符串 、运算符等。学完这些知识点,在第二天就要能够实现应用案例包括:华氏温度转换成摄氏温度、输入圆的半径计算周长和面积、输入年份判断是否是闰年。

例如将华氏温度转摄氏温度。

"""
将华氏温度转换为摄氏温度
F = 1.8C + 32

Version: 0.1
Author: 骆昊
"""

f = float(input('请输入华氏温度: '))
c = (f - 32) / 1.8
print('%.1f华氏度 = %.1f摄氏度' % (f, c))

第3天掌握分支结构,包括分支结构的应用场景,if语句的使用。然后使用这三天的知识点完成案例用户身份验证、英制单位与公制单位互换、掷骰子决定做什么、百分制成绩转等级制、分段函数求值、输入三条边的长度如果能构成三角形就计算周长和面积等。

第4天学习循环结构,包括while循环的基本结构:break语句、continue语句等。for循环的基本结构、range类型等等。然后完成1~100求和、判断素数、猜数字游戏、打印九九表、打印三角形图案、猴子吃桃等经典案例。

第5天总结前四天的知识点。

第6天函数和模块的使用知识点,包括:函数的作用、用函数封装功能模块、定义函数、调用函数、函数的参数、函数的返回值、作用域问题、用模块管理函数。

第7天,介绍字符串和常用数据结构知识点,包括字符串、列表、元组 、集合、字典等知识点。要能用这些知识带你完成杨辉三角、双色球选号、井字棋等经典案例。

第8天,面向对象编程基础,介绍类和对象的以及基础练习:定义学生类,定义时钟类,定义图形类,定义汽车类。

第9天,面向对象进阶,学习属性、类中的方法以及运算符重载、继承和多态等知识点,能够完成工资结算系统、图书自动折扣系统、自定义分数类案例。

第10天,图形用户界面和游戏开发。使用tkinter开发GUI、使用pygame三方库开发游戏应用,完成打球吃小球的游戏。

第11天,文件和异常。学会读文件,写文件,异常处理,代码块等知识点,完成案例:歌词解析

第12天,字符串和正则表达式。重点是正则表达式相关知识点,并能使用正则表达式验证输入的字符串

第13天,进程和线程,掌握进程和线程的概念、进程的使用方法。

第14天分为两个部分,第一部分网络编程入门,第二部分网络应用开发。网络编程入门介绍计算机网络基础、网络应用架构、Python网络编程。第二部分介绍访问网络API、文件传输、电子邮件、短信服务(twilio模块 / 国内的短信服务)

第15天,图像和文档处理。包括用Pillow处理图片,读写Word文档,读写Excel文件,生成PDF文件 等知识点。

经过这15天,我们就完成了基本的Python语言入门,接下来进入Python语言进阶。

第二阶段,Python语言进阶(周期15天)

这一阶段要掌握常用数据结构、函数的高级用法(例如Lambda函数、作用域和闭包)、面向对象设计原则、迭代器和生成器、并发和异步编程等五个部分,每两天一个部分!

第三阶段, Web前端入门(周期10天)

包括:用HTML标签承载页面内容、用CSS渲染页面、用JavaScript处理交互式行为、jQuery入门和提高、Vue.js入门、Element的使用、Bootstrap的使用。

第四阶段,玩转Linux操作系统(周期5天)

包括操作系统发展史和Linux概述、Linux基础命令、Linux中的实用程序、Linux的文件系统、Vim编辑器的应用、环境变量和Shell编程、软件的安装和服务的配置、网络访问和管理。

第五阶段,数据库基础和进阶(周期5天)

介绍包括关系型数据库MySQL、SQL的使用以及范式理论,设计二维表的指导思想、数据完整性、数据一致性等相关知识点。最后介绍NoSQL入门。

第六阶段,实战Django(周期15天)

从第41天开始,就从理论到实践啦!Django实战, 5分钟快速上手,深入模型理解关系数据库配置、使用ORM完成对模型的CRUD操作、Django模型最佳实践;学会加载静态资源、用Ajax请求获取数据。

这个阶段你还将学到 表单的应用、Cookie和Session、中间件的应用、 日志和缓存、 文件上传和富文本编辑、 文件下载和报表、RESTful架构和DRF入门、 RESTful架构和DRF进阶、 使用缓存、短信和邮件、 异步任务和定时任务、单元测试和项目上线;最后学习项目开发流程和相关工具。

第七阶段,实战Flask(周期5天)

此阶段掌握:Flask入门、模板的使用、表单的处理、数据库操作、项目实战。

第八阶段,实战Tornado(周期5天)

在进入正式的知识点之前,先花一天的时间掌握预备知识:并发编程、I/O模式和事件驱动。然后开始学习Tornado入门、异步化、WebSocket的应用等等。

第九阶段,爬虫开发(周期10天)

包括网络爬虫和相关工具、数据采集和解析、存储数据、并发下载、解析动态内容、表单交互和验证码处理、 Scrapy入门、Scrapy高级应用、Scrapy分布式实现等等。

第十阶段, 数据处理和机器学习(周期15天)

在工具知识点部分,主要介绍机器学习基础、 Pandas的应用、 NumPy和SciPy的应用、 Matplotlib和数据可视化。在算法部分,主要介绍 k最近邻(KNN)分类、 决策树、 贝叶斯分类、 支持向量机(SVM)、 K-均值聚类回归分析。其他也包括:大数据分析入门、 大数据分析进阶、 Tensorflow入门、 Tensorflow实战、推荐系统

注:这一部分资料,尚未更新完整。

第十一阶段, 团队项目开发(周期10天)

开始的前两天, 你需要先组建好开发团队和完成项目选题,数据库设计以及OOAD。

在之后的6天内,使用Django开发项目;最后给自己留两天的实践测试和部署。

OMT

学完这100天的知识点,认真完成项目,无论去面试哪一家公司的Python开发岗位,相信你都是信心满满。为了让你尽快拿到offer,此项目还给出了其他的一些资料,包括PEP 8风格指南、Python参考书籍、Python惯例、玩转PyCharm、用函数还是用复杂的表达式、知乎问题回答、那些年我们踩过的那些坑。

例如在知乎问题回答文档中,就给出了Python各个方向的岗位招聘需求情况☟

大数据文摘
大数据文摘

秉承“普及数据思维,传播数据文化,助⼒产业发展”的企业⽂化,我们专注于数据领域的资讯、案例、技术,形成了“媒体+教育+⼈才服务”的良性⽣态,致⼒于打造精准数据科学社区。

入门Python编程语言
81
相关数据
数据分析技术

数据分析是一类统计方法,其主要特点是多维性和描述性。有些几何方法有助于揭示不同的数据之间存在的关系,并绘制出统计信息图,以更简洁的解释这些数据中包含的主要信息。其他一些用于收集数据,以便弄清哪些是同质的,从而更好地了解数据。 数据分析可以处理大量数据,并确定这些数据最有用的部分。

机器学习技术

机器学习是人工智能的一个分支,是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、计算复杂性理论等多门学科。机器学习理论主要是设计和分析一些让计算机可以自动“学习”的算法。因为学习算法中涉及了大量的统计学理论,机器学习与推断统计学联系尤为密切,也被称为统计学习理论。算法设计方面,机器学习理论关注可以实现的,行之有效的学习算法。

参数技术

在数学和统计学裡,参数(英语:parameter)是使用通用变量来建立函数和变量之间关系(当这种关系很难用方程来阐述时)的一个数量。

推荐系统技术

推荐系统(RS)主要是指应用协同智能(collaborative intelligence)做推荐的技术。推荐系统的两大主流类型是基于内容的推荐系统和协同过滤(Collaborative Filtering)。另外还有基于知识的推荐系统(包括基于本体和基于案例的推荐系统)是一类特殊的推荐系统,这类系统更加注重知识表征和推理。

数据库技术

数据库,简而言之可视为电子化的文件柜——存储电子文件的处所,用户可以对文件中的数据运行新增、截取、更新、删除等操作。 所谓“数据库”系以一定方式储存在一起、能予多个用户共享、具有尽可能小的冗余度、与应用程序彼此独立的数据集合。

支持向量机技术

在机器学习中,支持向量机是在分类与回归分析中分析数据的监督式学习模型与相关的学习算法。给定一组训练实例,每个训练实例被标记为属于两个类别中的一个或另一个,SVM训练算法创建一个将新的实例分配给两个类别之一的模型,使其成为非概率二元线性分类器。SVM模型是将实例表示为空间中的点,这样映射就使得单独类别的实例被尽可能宽的明显的间隔分开。然后,将新的实例映射到同一空间,并基于它们落在间隔的哪一侧来预测所属类别。

操作系统技术

操作系统(英语:operating system,缩写作 OS)是管理计算机硬件与软件资源的计算机程序,同时也是计算机系统的内核与基石。操作系统需要处理如管理与配置内存、决定系统资源供需的优先次序、控制输入与输出设备、操作网络与管理文件系统等基本事务。操作系统也提供一个让用户与系统交互的操作界面。

大数据技术技术

大数据,又称为巨量资料,指的是传统数据处理应用软件不足以处理它们的大或复杂的数据集的术语。

关系数据库技术

关系数据库,是创建在关系模型基础上的数据库,借助于集合代数等数学概念和方法来处理数据库中的数据。现实世界中的各种实体以及实体之间的各种联系均用关系模型来表示。关系模型是由埃德加·科德于1970年首先提出的,并配合“科德十二定律”。现如今虽然对此模型有一些批评意见,但它还是数据存储的传统标准。

回归分析技术

回归分析是一种用于估计变量之间的关系(当一个自变量变化而其它变量固定时,因变量会如何变化)的统计过程,在预测任务中有广泛的应用。回归分析模型有不同的种类,其中最流行的是线性回归和 逻辑回归(Logistic Regression)。另外还有多变量回归、泊松回归、逐步回归、脊回归(Ridge Regression)、套索回归(Lasso Regression)和多项式回归等等。随机梯度下降(SGD)就是一种起源于回归分析的常用方法,可用于控制复杂度。

聚类技术

将物理或抽象对象的集合分成由类似的对象组成的多个类的过程被称为聚类。由聚类所生成的簇是一组数据对象的集合,这些对象与同一个簇中的对象彼此相似,与其他簇中的对象相异。“物以类聚,人以群分”,在自然科学和社会科学中,存在着大量的分类问题。聚类分析又称群分析,它是研究(样品或指标)分类问题的一种统计分析方法。聚类分析起源于分类学,但是聚类不等于分类。聚类与分类的不同在于,聚类所要求划分的类是未知的。聚类分析内容非常丰富,有系统聚类法、有序样品聚类法、动态聚类法、模糊聚类法、图论聚类法、聚类预报法等。

知乎机构

知乎,中文互联网综合性内容平台,自 2010 年成立以来,知乎凭借认真、专业、友善的社区氛围,独特的产品机制,以及结构化、易获得的优质内容,聚集了中文互联网科技、商业、影视、时尚、文化等领域最具创造力的人群,已成为综合性、全品类,在诸多领域具有关键影响力的内容平台。知乎将AI广泛应用与社区,构建了人、内容之间的多元连接,提升了社区的运转效率和用户体验。知乎通过内容生产、分发,社区治理等领域的AI应用,也创造了独有的技术优势和社区AI创新样本。

zhihu.com
数据可视化技术

数据可视化被许多学科视为现代视觉传达的等价物。为了清晰有效地传递信息,数据可视化使用统计图形、图表、信息图和其他工具。数字数据可以使用点、线或条编码,以视觉传达定量消息。有效的可视化帮助用户对数据进行分析和推理。它使复杂的数据更容易理解和使用。用户可以根据特定的分析任务进行数据可视化,例如进行比较或理解因果关系,并且图形的设计原则(即,显示比较或显示因果关系)来进行可视化。表通常用于用户查找特定测量的地方,而各种类型的图表用于显示一个或多个变量的数据中的模式或关系。

推荐文章
👍