python一个月能学成嘛-Python学习——一个月内从入门到精通

注:原文是由作者Jhanker Mahbub发表的文章《Learn and Master Python in a Month

》,此处做翻译供随时参考。

——为纯新手准备的Python学习手册python一个月能学成嘛-Python学习——一个月内从入门到精通_第1张图片文内插图1

我会教你如何在一个月内学习Python并精通。

记住,一个月有很多的时间。如果你每天能花6-7小时。你将能完成比你想象的多得多的工作。

第一个月的目标:

作为新手,你第一个月的目标应该是:熟悉基础的概念(变量,环境,列表,循环, 函数)

练习30个以上的编程问题

建立2个运用到这些概念的项目

熟悉至少2个架构(framework)

开始使用IDE, Github, 托管(hosting), 服务(services), 等等。

这些会让你成为一个初级Python开发者。

整体计划:

现在我把计划打散成周计划给你参考:python一个月能学成嘛-Python学习——一个月内从入门到精通_第2张图片时间表

第一周:熟悉Python

要对事情是如何在Python上完成的保持好奇。查看尽可能多的内容。第一天:4个基本概念(4小时):print, variable, input, conditionals

第二天:4个基本概念(5小时):List, for loop, while loop, function, import modules

第三天:简单问题的编码(5小时):交换2变量的值,将摄氏度转换为华氏度,求数字的和,判断一个数字是不是素数,生成一个随机数,从列表中删除重复项,等等。

第四天:中级编码问题(6小时):倒置一个字符串(查看回文),计算GCD, 合并2个已排序的数组,数字猜谜游戏,年龄计算,等等。

第五天:数据结构(6小时):Stack, Queue, Dictionary, Tuples, Tree, Linked, List.

第六天:OOP(6小时):Object, Class, 方法和构造函数,OOP-继承

第七天:算法(6小时):搜索(线性和二进制搜索),排序(冒泡排序,选择排序),递归函数(阶乘,斐波那契数列),时间复杂性(线性,二次,和常量)

注意,这个阶段不要安装Python:

这个建议听上去有些矛盾,但是相信我,我知道一些朋友在试图安装语言套件和IDE时遭遇了失败,把他们的学习热情燃烧殆尽了。所以,我的建议是跳到一个android app比如Programming Hero, 或者在线编程平台Repl,以此为起点探索这门语言,如果你不是精通技术的话,不要让安装Python成为你的第一个任务。

第二周:开始软件开发(开发项目)

开始进入软件开发了,一起尝试一下做一些现实世界的项目。第一天:熟悉IDE(5小时):IDE是你写大型项目时进行编码的平台,你需要将1个IDE使用的很好。我会建议你使用VisualStudio代码来安装Python扩展(https://code.visualstudio.com/docs/python/python-tutorial),或者使用Jupyter notebook.

第二天:Github(6小时):探索Github, 新建一个知识库。试着提交,修改,推进编码。并且学习分支,整合,以及提出需求。

第三天:第一个项目:简单计算器(4小时):熟悉Tkinter. 创建一个简单的计算器。

第四,五,六天:个人项目(每天5小时):选一个项目然后开始编码,如果你不知道你能做什么项目,检查这个列表(https://www.quora.com/What-are-some-good-Python-projects-for-an-intermediate-programmer/answer/Jhankar-Mahbub-2)

第七天:托管(Hosting)(5小时):学习服务器和托管来托管你的项目,新建一个Heroku设定并且开发你新建的这个app.

为什么是进行项目呢:

只是跟着课程或者视频的步伐的话,你不会建立自己思考的能力。所以你需要应用你的知识到一个项目中。一旦你努力去寻找答案,你就会学到它。python一个月能学成嘛-Python学习——一个月内从入门到精通_第3张图片文中插图2

第三周:对成为程序员感到舒适

你第三周的目标是弄明白软件开发过程的整个过程。你不需要对这个过程都很精通,但是你需要知道一些基础的部分,因为这些内容会影响到你每天的工作。第一天:数据库基础(6小时):基本的SQL query(新建表,Select, Where, Update),SQL函数(Avg, Max, Count),关系型数据库(正规化),内部链接(inner join),外部链接(outer join),等等。

第二天:利用Python使用数据库(5小时):使用一个数据库框架(SQLite或者pandas),连接到一个数据库,在多个表内新建并插入数据,读取这些表内的数据。

第三天:API(5小时):如何调用一个AP. 学习JSON, micro-service, Rest API.

第四天:Numpy(4小时):熟悉Numpy, 并且练习第一个“30 Numpy exercises”(https://github.com/rougier/numpy-100/blob/master/100_Numpy_exercises.md)

第五、六天:组合网站(https://realpython.com/get-started-with-django-1/)(每天5小时):学习Django, 用Django建立一个组合网站,并且查看Flask框架。

第七天:单元测试,历史记录,调试(4小时):学习单元测试(PyTest),如何设定并查看历史记录,并且使用断点。

真心话时间(秘密):

如果你非常狂热并且非常用心,你可以在一个月内完成这套指南。也就意味着你必须要保证:把学习Python当做你的全职活动。你要从早晨8点开始,并且持续做到下午5点。在这期间,你只能有个午饭休息和小零食休息时间,总计不超过1小时。

早晨8点的时候把今天要学的内容列个清单,在这之后花1小时时间复习并练习昨天学的内容。

9点到12点期间,多学知识点少做练习。午饭过后,多做练习,如果期间卡住了,上网搜索。

严格保持,每天4-5小时的学习和2-3小时的练习(每周最多休息1天)。

你的朋友们可能会觉得你疯了,那就疯吧。

如果你有全职工作或者你是学生,会需要更久。作为一个全职学生,完成这个列表中的学习内容花了我8个月。现在,我作为一个高级开发者在工作。我老婆在美国的主要银行工作,她花了6个月。所以,花多长时间完成没关系,完成这个列表中的内容就完事儿了。python一个月能学成嘛-Python学习——一个月内从入门到精通_第4张图片文中插图3

第四周:认真地去找一份工作(实习)

你第4周的目标是认真地考虑去找个工作。就算你现在不想去工作,你也会在探索找工作的道路上学到很多。第一天:简历(5小时):建立一个单页的简历,把你的技能总结放在最开始。一定要把项目列表的Github链接附上。

第二天:组合网站(6小时):写2个或者更多的博客。把它们加入到之前你建立的组合网站中。

第三天:领英档案(4小时):建立一个领英档案,把你简历中的所有内容放到领英上。

第四天:面试准备(7小时):谷歌通用面试问题。在一张白纸上练习10个面试编程问题。从一些网站比如Glassdoor, Careerup等中摘录一些先前的面试问题。

第五天:建立关系网(~小时):从家门走出去,开始去一些面试和职业招聘会,去见其他的开发者和招聘人员。

第六天:应用(~小时):搜索“Python职位”,查看查看领英上的职位和本地的招聘网站。选择3个工作进行投递,对每个工作进行简历的针对性修改。在每个工作需求中找两三个你不知道的内容,加下来花上三四天时间学习它们。

第七天:从拒绝中学习(~小时):每次你被拒绝,找出两件如果你知道了,就可以得到这份工作的事。然后,接下来的四五天用来精通它们。通过这种方式,每次拒绝都可以把你变成一个更好的开发者。

准备好去工作

事实是你永远不可能对一份工作做好百分之百的准备。你需要做的是把其中的一两件事学到非常好,然后对其他内容做到熟悉,既可以跨越面试这堵墙。一旦你开始了一份工作,你将从那里学到很多。

享受过程

学习是个过程,而且总是伴有挑战的。你奋斗的越多,你就会成为越好的开发者。

如果你能在28天内完成上述所有内容,你就是块金子。退一步讲,如果你能完成目录中60%~70%的内容,你也将能建立起成为一个程序员的正确的特点。

从哪儿学?

如果你还想知道应该从哪开始,请参考:Programming Hero(https://play.google.com/store/apps/details?id=com.learnprogramming.codecamp)(学习Python的有趣的android app)

为数据科学学习Python(https://www.datacamp.com/learn-python-with-anaconda/)(免费:基于网页的学习资源 )

Bilibili视频系列(通过看视频学习)

那么,开始你的旅程吧,未来是你的。

最后附上原文:

https://pan.baidu.com/s/1z2m272D0lTU-e2WW7uqU2A

你可能感兴趣的:(python一个月能学成嘛-Python学习——一个月内从入门到精通)