Python 从入门到精通:一个月就够了!

点击上方“Python高校”,关注

文末干货立马到手

作者:Jhankar Mahbub

机器之心编译

参与:王子嘉、Geek AI

毫无疑问,Python 是当下最火的编程语言之一。对于许多未曾涉足计算机编程的领域「小白」来说,深入地掌握 Python 看似是一件十分困难的事。其实,只要掌握了科学的学习方法并制定了合理的学习计划,Python 从 入门到精通只需要一个月就够了!

要知道,一个月是一段很长的时间。如果每天坚持用 6-7 小时来做一件事,你会有意想不到的收获。

作为初学者,第一个月的月目标应该是这样的:

  • 熟悉基本概念(变量,条件,列表,循环,函数)

  • 练习超过 30 个编程问题

  • 利用这些概念完成两个项目

  • 熟悉至少 2 个框架

  • 开始使用集成开发环境(IDE),Github,hosting,services 等

整体计划

现在,我们先将月计划细化成周计划。

第一周:熟悉 Python

要积极探索 Python 的使用方法,尽可能多的完成下面这些任务:

  • 第一天:基本概念(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 环境可不是你的首要任务。

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

接下来,让我们朝着软件开发任务进军吧!不妨尝试综合你学到的知识完成一个实际的项目:

  • 第一天:熟悉一种 IDE(5 小时): IDE 是你在编写大型项目时的操作环境,所以你需要精通一个 IDE。在软件开发的初期,我建议你在 VS code 中安装 Python 扩展或使用 Jupyter notebook。

  • 第二天:Github(6 小时):探索 Github,并创建一个代码仓库。尝试提交(Commit)、查看变更(Diff)和上推(Push)你的代码。另外,还要学习如何利用分支工作,如何合并(merge)不同分支以及如何在一个项目中创建拉取请求(pull request)。

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

  • 第四、五、六天:个人项目(每天 5 小时):选定一个项目并完成它。如果你不知道你该做什么,可以查看下面的清单(https://www.quora.com/what-some-good pythonprojects -for-an- middle - programmer/answer/jhankar - mahbub2)

  • 第七天:托管项目(5 小时):学习使用服务器和 hosting 服务来托管你的项目。创建一个 Heroku 设置并部署你构建的应用程序。

为什么要写项目?

如果仅仅按部就班地学习课堂上或视频中的内容,你无法拥有独立思考能力。所以,你必须把你的知识应用到一个项目中。当你努力寻找答案时,你也在慢慢地学会这些知识。

第三周:让自己成为一名程序员

第 3 周的目标是熟悉软件开发的整体过程。你不需要掌握所有的知识,但是你应该知道一些常识,因为它们会影响你的日常工作。

  • 第一天:数据库基础(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 小时):学习 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 周的目标是认真思考如何才能被录用。即使你现在不想找工作,你也可以在探索这条道路的过程中学到很多东西。

  • 第一天:准备简历(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

------------------- End -------------------

历史阅读:

来了!Python 3.8 重磅更新正式发布!

  清华学霸直博简历火了:CPU、操作系统、编译器全自己写

利用 Python 优雅地将 PDF 转换成图片

微软官方上线了Python 教程,7个章节就把Python说通了

10款 Web开发最佳的 Python 框架

Python 最强 IDE 详细使用指南!

最靠谱的Pycharm 汉化安装+ 破解详细教程!

Python 开发植物大战僵尸游戏

一款 Python 自动抢票神器,收藏起来回家不愁!

一键分析你上网行为,看你是在认真工作还是摸鱼

我给曾经暗恋的初中女同学,用Python实现了她飞机上刷抖音

被女朋友三番五次拉黑后,我用 Python 写了个“舔狗”必备神器

谁偷偷删了你的微信?别慌!Python 揪出来

最全 14 张思维导图:教你构建 Python 编程的核心知识体系!

这里除了干货一无所有

人生苦短,我选在看

  • 0
    点赞
  • 0
    评论
  • 2
    收藏
  • 扫一扫,分享海报

零基础入门学习Python P1. 000愉快的开始 P2. 001我和Python的第一次亲密接触 P3. 002用Python设计第一个游戏 P4. 003小插曲之变量和字符串 P5. 004改进我们的小游戏 P6. 005闲聊之Python的数据类型 P7. 006Pyhon之常用操作符 P8. 007了不起的分支和循环1 P9. 008了不起的分支和循环2 P10. 009了不起的分支和循环3 P11. 010列表:一个打了激素的数组1 P12. 011列表:一个打了激素的数组2 P13. 012列表:一个打了激素的数组3 P14. 013元组:戴上了枷锁的列表 P15. 014字符串:各种奇葩的内置方法 P16. 015字符串:格式化 P17. 016序列!序列! P18. 017函数:Python的乐高积木 P19. 018函数:灵活即强大 P20. 019函数:我的地盘听我的 P21. 020函数:内嵌函数和闭包 P22. 021函数:lambda表达式 P23. 022函数:递归是神马 P24. 023递归:这帮小兔崽子 P25. 024递归:汉诺塔 P26. 025字典:当索引不好用时1 P27. 026字典:当索引不好用时2 P28. 027集合:在我的世界里,你是唯一 P29. 028文件:因为懂你,所以永恒 P30. 029文件:一个任务 P31. 030文件系统:介绍一个高大上的东西 P32. 031永久存储:腌制一缸美味的泡菜 P33. 032异常处理:你不可能总是对的1 P34. 033异常处理:你不可能总是对的2 P35. 034丰富的else语句及简洁的with语句 P36. 035图形用户界面入门:EasyGui P37. 036类和对象:给大家介绍对象 P38. 037类和对象:面向对象编程 P39. 038类和对象:继承 P40. 039类和对象:拾遗 P41. 040类和对象:一些相关的BIF P42. 041魔法方法:构造和析构 P43. 042魔法方法:算术运算1 P44. 043魔法方法:算术运算2 P45. 044魔法方法:简单定制 P46. 045魔法方法:属性访问 P47. 046魔法方法:描述符(Property的原理) P48. 047魔法方法:定制序列 P49. 048魔法方法:迭代器 P50. 049乱入:生成器 P51. 050模块:模块是程序 P52. 051模块:__name__=___main___、搜索路径和包 P53. 052模块:像个极客一样去思考 P54. 053论一只爬虫的自我修养1 P55. 054论一只爬虫的自我修养2:实战 P56. 055论一只爬虫的自我修养3:隐藏 P57. 056轮一只爬虫的自我修养4:OOXX P58. 057论一只爬虫的自我修养5:正则表达式 P59. 058论一只爬虫的自我修养6:正则表达式2 P60. 059论一只爬虫的自我修养7:正则表达式3 P61. 060论一只爬虫的自我修养8:正则表达式4 P62. 061论一只爬虫的自我修养9:异常处理 P63. 062论一只爬虫的自我修养10:安装Scrapy P64. 063论一只爬虫的自我修养11:Scrapy框架之初窥门径 P65. 064GUI的终极选择:Tkinter1 P66. 065GUI的终极选择:Tkinter2 P67. 066GUI的终极选择:Tkinter3 P68. 067GUI的终极选择:Tkinter4 P69. 068GUI的终极选择:Tkinter5 P70. 069GUI的终极选择:Tkinter6 P71. 070GUI的终极选择:Tkinter7 P72. 071GUI的终极选择:Tkinter8 P73. 072GUI的终极选择:Tkinter9 P74. 073GUI的终极选择:Tkinter10 P75. 074GUI的终极选择:Tkinter11 P76. 075GUI的终极选择:Tkinter12 P77. 076GUI的终极选择:Tkinter13 P78. 077GUI的终极选择:Tkinter14 P79. 078Pygame:初次见面,请大家多多关照 P80. 079Pygame:解惑 P81. 080Pygame:事件 P82. 081Pygame:提高游戏的颜值1 P83. 082Pygame:提高游戏的颜值2 P84. 083Pygame:提高游戏的颜值3 P85. 084Pygame:基本图形绘制 P86. 085Pygame:动画精灵 P87. 086Pygame:碰撞检测 P88. 087Pygame:播放声音和音效 P89. 088Pygame:摩擦摩擦 P90. 089Pygame:游戏胜利 P91. 090Pygame:飞机大战1 P92. 091Pygame:飞机大战2 P93. 092Pygame:飞机大战3 P94. 093Pygame:飞机大战4 P95. 094Pygame:飞机大战5 P96. 095Pygame:飞机大战6 P97. 096Pygame:飞机大战7
参与评论 您还未登录,请先 登录 后发表或查看评论
©️2022 CSDN 皮肤主题:深蓝海洋 设计师:CSDN官方博客 返回首页
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值