选自Medium
作者:Jhankar Mahbub
设备之心编译
参与:王子嘉、Geek AI
毫无疑问,Python 是当下最火的编程语言之一。
针对许多未曾涉足计算机编程的
行业「小白」
来讲,深入地
把握 Python 看似是一件
非常困难的事。其实,只要
把握了科学的学习
办法并制定了
恰当的学习计划,Python 从 入门到精通只
必须一月就够了!
要晓得,一月是一段很长的时间。倘若每日保持用 6-7 小时来做一件事,你会有意想不到的收获。
做为初学者,第一月的月目的应该是这般的:
熟练基本概念(变量,
要求,列表,循环,函数)练习超过 30 个编程问题利用这些概念完成两个项目
熟练最少 2 个框架
起始运用集成
研发环境(IDE),Github,hosting,services 等
整体计划
此刻,咱们先将月计划细化成周计划。
第1星期:熟练 Python
要积极探索 Python 的运用办法,尽可能多的完成下面这些任务:
第1天:基本概念(4 小时):print,变量,输入,
要求语句
次日:基本概念(5 小时):列表,for 循环,while 循环,函数,导入模块第三天:简单编程问题(5 小时):交换两个变量值,将摄氏度转换为华氏温度,求数字中各位数之和,判断某数
是不是为素数,生成随机数,删除列表中的重复项等等第四天:中级编程问题(6 小时):反转一个字符串(回文检测),计算最大公约数,合并两个有序数组,猜数字游戏,计算年龄等等第五天:数据结构(6 小时):栈,队列,字典,元组,树,链表。第六天:面向对象编程(OOP)(6 小时):对象,类,
办法和构造函数,面向对象编程之继承第七天:算法(6 小时):搜索(线性和二分
查询)、排序(冒泡排序、
选取排序)、递归函数(阶乘、斐波那契数列)、时间
繁杂度(线性、二次和常量)
别急着安装 Python 环境!
这看起来很矛盾,然则你必定要相信我。我有几个伴侣,她们由于语言工具包和 IDE 安装的失败而逐步失去了学习下去的欲望。因此呢,我的意见是先运用有些安卓 app 来探索这门语言,例如编程英雄(
https://play.google.com/store/apps/details?id=
com.learnprogramming.codecamp)
或在线代码游乐场 Repl(https://repl.it/)等等。
倘若你是个技术小白,安装 Python 环境可不是你的首要任务。
第二周:起始软件研发(构建项目)
接下来,让咱们朝着软件研发任务进军吧!不妨尝试综合你学到的知识完成一个实质的项目:
第1天:
熟练一种 IDE(5 小时): IDE 是你在编写大型项目时的操作环境,
因此你
必须精通一个 IDE。在软件
研发的初期,我
意见你在 VS code 中安装 Python 扩展或
运用 Jupyter notebook。
次日:Github(6 小时):探索 Github,并创建一个代码仓库。尝试提交(Commit)、查看变更(Diff)和上推(Push)你的代码。
另一,还要学习
怎样利用分支工作,
怎样合并(merge)
区别分支以及
怎样在一个项目中创建拉取请求(pull request)。第三天:
第1个项目——简单计算器(4 小时):
熟练 Tkinter,创建一个简单的计算器第
4、5、六天:个人项目(
每日 5 小时):选定一个项目并完成它。
倘若你不
晓得你该做什么,
能够查看下面的
名单(https://www.quora.com/what-some-good pythonprojects -for-an- middle - programmer/answer/jhankar - mahbub2)第七天:托管项目(5 小时):学习
运用服务器和 hosting 服务来托管你的项目。创建一个 Heroku 设置并
安排你构建的应用程序。
为何要写项目?
倘若仅仅按部就班地学习课堂上或视频中的内容,你没法持有独立思考能力。因此,你必要把你的知识应用到一个项目中。当你奋斗寻找答案时,你亦在慢慢地学会这些知识。
第三周:让自己作为一名程序员
第 3 周的目的是熟练软件研发的整体过程。你不必须把握所有的知识,然则你应该晓得有些常识,由于它们会影响你的平常工作。
第1天:数据库
基本(6 小时):基本 SQL
查找(创建表、
选取、Where
查找、更新)、SQL 函数(Avg、Max、Count)、关系数据库(规范化)、内连接、外连接等
次日:
运用 Python 数据库(5 小时):利用一种数据库框架(SQLite 或 panda),连接到一个数据库,在多个表中创建并
插进数据,再从表中读取数据。第三天:API(5 小时):
怎样调用 API。学习 JSON、微服务(micro-service)以及表现层应用程序转换应用程序接口(Rest API)。第四天:Numpy(4 小时):
熟练 Numpy(https://towardsdatascience.com/lets-talk-about- Numpy -for- datascies-beginners-b8088722309f)并练习前 30 个 Numpy 习题(https://github.com/rougier/numpy- 100/blob/master/100_numpy_excercises.md)第
5、六天:作品集网站(一天 5 小时):学习 Django,
运用 Django 构建一个作品集网站(https://realpython.com/get- start-with-django -1/),
亦要
认识一下 Flask 框架。第七天:单元测试、日志、调试(5 小时):学习单元测试(PyTest),
怎样设置和查看日志,以及
运用断点调试。
真心话时间(绝密)
倘若你非常「疯狂」,并且非常专注,你能够在一月内完成这些任务。你必要做到:
把学习 Python
做为你的全职活动。你
必须从早上 8 点
起始学习,
始终到下午 5 点。
这里时期,你
能够有一个午休时间和茶歇时间(共 1 小时)。8 点列出你今天要学的东西,
而后花一个小时复习和练习你昨天学过的东西。从 9 点到 12 点:
起始学习,并进行少量练习。在午饭后,你
必须加大练习量,
倘若你卡在某个问题上,
能够在网上搜索
处理方法。 严格保持
每日 4-5 小时的学习时间和 2-3 小时的练习时间(每周最多
能够休憩一天)。你的
伴侣可能会认为你疯了。走自己的路,让别人去说吧!
倘若你有一份全职工作,或你是一名学生,完成这些流程可能必须更长的时间。做为一名全日制学生,我花了 8 个月的时间来完成这份名单。此刻我是一名高级研发人员。我妻子在美国一家大银行工作。她花了 6 个月才完成本文中说到的任务。因此,不管花多长期,必定要完成它们。
第四周:认真思虑工作(实习)问题
第 4 周的目的是认真思考怎样才可被录用。即使你此刻不想找工作,你亦能够在探索这条道路的过程中学到非常多东西。
第1天:准备简历(5 小时):制作一份一页的简历。把你的技能总结放在最上面,
必要在写项目的
同期附上 Github 链接。
次日:作品集网站(6 小时):写几个博客,将它们添加到你之前
研发的作品集网站中。第三天:LinkedIn 简介(4 小时):创建一个 LinkedIn 个人简介,把简历上的所有内容都放到 LinkedIn 上。第四天:面试准备(7 小时):准备
有些谷歌
平常的面试问题,练习白皮书中的 10 个面试编程问题。在 Glassdoor、Careercup 等网站中查看前人遇到的面试问题。第五天:社交(~小时):走出房门,
起始参加聚会、招聘会,与其他
研发人员和招聘人员见面。第六天:工作申请(~小时):搜索「Python Job」,查看 LinkedIn Job 和本地求职网站。
选取 3 个工作岗位并发送工作申请。为
每一个工作定制你的简历。在
每一个工作
需求中找出 2 到 3 件你不
晓得的事情,并在接下来的 3-4 天里学会它们。第七天:在拒绝中学习(~小时):每次你被拒绝的时候,找出两件为了
得到这份工作你应该
晓得的事情,
而后花 4-5 天 的时间来
把握它们。
这般,每次拒绝都会让你
作为更好的
研发人员。
为工作做准备
现实状况是,你永远不可能百分之百地为工作做好准备。你所要做的便是精通一两件事,并且熟练其它的事情,最后经过面试。一旦你起始工作了,你会在工作过程中学到非常多。
享受学习的过程
学习是一个过程,只要学习就会有挑战。天道酬勤,你越奋斗,就会作为越优秀的研发人员。
倘若你能在 28 天内完成所有的任务,那你堪叫作天才。然而,倘若你能完成 60-70% 的内容,你就已然起始具备作为一名程序员的正确特征了。
原文链接:https://medium.com/@
jhankar.mahbub/learn-and-master-python-in-a-month-b1acc94d5f32