Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >干货 | 2021 年如何一步一步的学习 Python

干货 | 2021 年如何一步一步的学习 Python

作者头像
周萝卜
发布于 2021-02-25 03:38:54
发布于 2021-02-25 03:38:54
77100
代码可运行
举报
文章被收录于专栏:萝卜大杂烩萝卜大杂烩
运行总次数:0
代码可运行

想象一下,在我们得到真正想要的东西的时候,我们必须要攀上某些悬崖

引子

众所周知,Python 是一门重要的编程语言,广泛的应用于数据科学、web开发、软件工程游戏开发、自动化等领域。那么学习 Python 最好的方法是什么呢?其实这是很多初学者的困惑点,都是 Python 好学也好用,但是到底该怎么学呢,下面我就分享一下我个人的一点心得!

在学习 Python 的时候,我发现最令人烦恼的事情就是所有学习资源都是差不多的,也就是通用性。比如我想学习如何使用 Python 创建网站,但似乎每一个学习资源都希望大家花上两个漫长、枯燥的几个月来学习 Python 语法,然后我才能考虑去做我真正感兴趣、想要做的事情。这个漫长的过程,可能也是一个劝退的过程,对于一些自学能力差,或者意志力不够坚定的人来说,半途而废太容易了!

几个栗子,比如下面的代码

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
from django.http import HttpResponse
def index(request):
    return HttpResponse("Hello, world. You're at the polls index.")

上面的代码来自 Django 教程,Django 是一个非常流行的 Python 网站开发框架。有经验的程序猿经常会向给初学者抛出上述代码片段,然后说“很简单!“。其实不然。

即使是几行看似简单的代码也会让初学者产生困惑,例如,为什么有些行是缩进的?什么是 django.http?为什么有些东西在括号里?当初学者不太了解 Python 的时候,理解所有内容是如何组合在一起就变得非常困难了。

那么要理解上面的代码,就需要了解 Python 语言 和 Django 的构建方式,上面的代码片段创建了一个视图,是使用 MVC 架构网站的关键构建块之一。所以如果不知道如何编写代码来创建视图,那么就不可能创建动态网站。

所以要明白上面的架构,就需要首先懂得 Python 语法以及 Django 的相关知识,这其实都会占用我们大量的时间、精力,那么在我们进行真正的开发之前,可能要几个月之后了。

这些往往会导致我们的学习兴趣消退,甚至把整个计划都取消了。

那么该如何避免上面的学习梯度呢,这里我总结了一些个人认为比较好的学习方法,仅供参考!

有效的方法是把学习基础知识和构建有趣的东西结合起来,我们可以花尽可能少的时间学习基础知识,然后立即投入到创造我们感兴趣的东西当中去,这样,可以极大的提高完成率哦!

Step 1 明确为什么学习 Python

在开始学习 Python 之前,我们有必要问问自己为什么要学习 Python。因为学习 Python 这将是一个漫长的,会伴随着痛苦的旅程。如果没有足够的动力,那么很可能撑不过去。例如,我在大学的编程课上经常睡觉,虽然有必须要记住语法,知识点等,但是没有十足的动力来支撑我。但是有的时候,当我需要用 Python 建立一个网站来自动评比论文时,我却可以熬夜完成它,这就是动力的作用!

所以说,找出你的动机将帮助你找到一个最终目标,一条让你不感到无聊的道路。在准备学习 Python 的时候,我们不必弄清楚所有的项目,只需要了解我们感兴趣的一般领域即可。

选择你感兴趣的领域,例如:

数据科学/机器学习

移动应用程序

网站

游戏

数据处理与分析

硬件/传感器/机器人

自动化工作的脚本

首先就是找出一两个你感兴趣的领域,并愿意坚持下去。然后再把学习中心慢慢的向他们倾斜,最终来完成自己想要的项目。

Step 2 学习基本语法

没有任何办法,这一步不能跳过。在深入研究所选的领域之前,我们必须学习 Python 语法的基础知识。没错我知道,很多人都希望在这方面花费少一些时间,最好能够速成,这就仁者见仁智者见智了。当然我的观点也是,尽可能少的把时间花费在基础知识上,很多东西只需要在用到的时候再去学习即可。

以下是一些比较推荐的学习基础知识的好资源:

· 学习Python的艰难之路--一本教授 Python 概念、从基础到更深入程序的图书

https://learnpythonthehardway.org/

· Python guide--Python 的官方教程

https://docs.python.org/3/tutorial/

这里我还是要再强调下,我们应该在基本语法上花尽可能少的时间,毕竟我们是要使用 Python,而不是研究 Python。越快着手做项目,就学得越快。当什么时候遇到困难时,我们再来解决相应的问题。理想的情况下,在这个阶段差不多应该只花几个星期,肯定不超过一个月。

注意:要学习 Python3 哦,Python2 就不要再花费力气去学习了~

Step 3 学习已有的项目

一旦我们学会了基本语法,那么就可以开始自己做项目了。项目是一种很好的学习方式,因为它可以让我们应用学习到的知识,这也是一个检验的过程。要知道,学到的知识一定要用起来,否则很快就忘记了。做项目将提升我们的编码能力,也能开阔眼界,拓展思维等。

那么为什么我要推荐学习已有的项目呢,因为对于新手来说,从无到有的项目将带来很多问题,不容易集中思维,项目写着写着就跑偏了。所以,最好我们还是根据已有的一些好的项目来做,一直到我们自己觉得自己已经完全可以从头完成一个项目为止。许多学习资源都提供了很多不错的项目,这些项目可以让你在你关心的领域构建有趣的东西的同时还能防止你陷入困境。

让我们来看看每个领域的一些好资源:

数据科学/机器学习

· Dataquest--交互式地教授 Python 和数据科学。比如分析了一系列有趣的数据集,从中情局文件到 NBA 球员数据等等。最终可以构建复杂的算法,包括神经网络和决策树等

https://www.dataquest.io/

· Python for Data Analysis--一个非常好的介绍 Python 数据分析的教程

http://shop.oreilly.com/product/0636920023784.do

·Scikit-learn documentation-Scikit 是一个非常重要的 Python 第三方库,进行数据分析和机器学习,基本离不开它

http://scikit-learn.org/stable/documentation.html

移动应用

· Kivy-guide--Kivy 是一个可以让你用 Python 制作移动应用程序的工具,这是它的官方文档

http://kivy.org/docs/gettingstarted/intro.html

网站

· Flask tutorial--Flask 是一个非常流行的 Python web 框架,这是它的入门教程

http://flask.pocoo.org/docs/1.0

· Bottle tutorial--Bottle 是 Python 的另一个 web 框架,可以从这里开始学习

http://bottlepy.org/docs/dev/tutorial_app.html

· How To Tango With Django--Django是一个复杂的 Python Web 框架可以开发出功能强大的网站

http://www.tangowithdjango.com/

游戏

· Codecademy--带你完成几个简单的游戏

https://www.codecademy.com/

· Pygame教程--Pygame 是一个流行的用于制作游戏的Python 库,这是它的教程列表

http://www.pygame.org/wiki/tutorials

· 用Pygame制作游戏--一本教你如何用 Python 制作游戏的书

http://www.amazon.com/Making-Games-Python-Pygame-Sweigart/dp/1469901730

· 用Python发明你自己的电脑游戏--同样是这本指导你如何用 Python 制作游戏的书籍

https://www.amazon.com/gp/product/1503212300

硬件/传感器/机器人

· Using Python with Arduino --学习如何使用 Python 控制连接到 Arduino 的传感器

http://www.toptechboy.com/using-python-with-arduino-lessons/

· Learning Python with Raspberry Pi--使用 Python 和树莓派构建硬件项目

https://www.raspberrypi.org/blog/learning-python-with-raspberry-pi/

· Learning Robotics using Python--学习如何使用 Python 构建机器人

https://www.amazon.com/dp/B00YEVZ6UK

· Raspberry Pi Cookbook -学习如何使用树莓派和 python 建立机器人

https://www.amazon.com/Raspberry-Pi-Cookbook-Simon-Monk/dp/1449365221

自动化工作的脚本

· Automate the boring stuff with Python -学习如何用 Python 自动化日常任务,所谓的 Python 自动化办公

https://www.amazon.com/gp/product/1593275994

一旦你在自己的领域完成了一些已有项目的搭建,那么你就应该能够着手自己的项目了。但是,在此之前,花点时间学习如何解决问题也是非常重要的。

Step 4 完成自己的项目

完成了一些已有项目的搭建之后,就应该自己动手做项目,继续更好地学习 Python。此时我们仍然会参考相关资源和学习各种概念,但这个时候我们会显得更加自由了。此时调试代码和解决问题就成为了一个重点,下面的这些网站,都是程序员每日必逛的网站哦: · StackOverflow--一个社区问答网站,大型程序员交友集中地

https://www.stackoverflow.com/

· 谷歌--能不能上的去,凭本事喽

https://www.google.com/

· Python文档--查找 Python 参考资料的好地方,还有什么地方比官网更加权威呢

https://docs.python.org/3/

· 百度--不多说,有时还是蛮管用的

https://www.baidu.com

一旦你对调试问题有了比较好的方法和经验之后,就可以开始自己的项目了。做一些自己感兴趣的事情,我的地盘我做主。

下面是一些寻找有趣项目的技巧:

· 扩展以前处理的项目,并添加更多功能

· 加入一些 Python 社区,找一些从事有趣项目的人

· 找一些开源项目,看看能否贡献一些代码

· 找别人做过的项目,看看能不能扩展或调整,Github 要利用起来

· 浏览别人的博客文章,找一些灵感

· 日常工作生活中的一些小工具,可以提升效率的

记得从小处着手,从非常简单的事情开始思考,这样就可以获得更多的信心。最好先开始一个小项目,然后完成一个大项目,而这个项目可以一直做下去,一直有优化的空间。

当然此时也可以结对编程,相互鼓励,鞭策!

如果真的想不出什么好的项目点子,可以参考下面的每个领域的一些点子:

数据科学/机器学习项目点子

· 显示各种数据的地图

· 一种预测你居住地方的天气的算法

· 预测股市的工具

· 自动总结新闻文章的算法

移动应用项目点子

· 一个记录每天行走步数的应用程序

· 每天发送天气预报的程序

· 基于位置的实时聊天工具

网站项目点子

· 一个帮助你计划每周饮食的网站

· 游戏视频网站

· 在线记事本

Python游戏项目点子

· 基于地理位置,以占领对方位置为取胜之道的游戏项目

· 通过解决问题来通关的游戏

硬件/传感器/机器人项目点子

· 传感器项目,监测家里的温度

· 和闹钟结合,设计一个更加智能的闹钟

· 可以探测障碍物的机器人

工作自动化项目点子

· 自动化数据输入的脚本

· 自动从网上搜集数据的工具

说了这么多,最关键是挑点东西做。如果我们过于执着于挑选一个完美的项目,那么就有可能永远都做不到,从而半途而废。

Step 5 继续更困难的项目

不断增加项目的难度和范围,如果这个时候,你已经想不出该如何优化自己的项目了,那么就是时候进行一个更加有挑战的项目了。

这个时候就更加有意思了,我们可以再进一步做一些事情:

· 试着教一个新手如何运行你的项目

· 项目够完美吗,它能处理更多的数据,还是能处理更多的流量?

· 你能让你的程序运行得更快吗?

· 你能让你的工具对更多的人有用吗?

· 你将如何将你所做的商业化?

Python 是一门非常有趣且值得学习的语言,我认为任何人只要找到正确的动机和方法,都可以熟练的掌握 Python。

原文参考:https://www.dataquest.io/blog/learn-python-the-right-way/

说了这么多,希望对你有所帮助哦!

还不给个“在看”嘛!!!!

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2021-01-28,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 萝卜大杂烩 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
使用 Python 分析数据得先熟悉编程概念?这个观念要改改了​
AI 开发者按:大多数有抱负的数据科学家是通过学习为开发人员开设的编程课程开始认识 python 的,他们也开始解决类似 leetcode 网站上的 python 编程难题。他们认为在开始使用 python 分析数据之前,必须熟悉编程概念。
AI研习社
2019/07/30
6820
使用 Python 分析数据得先熟悉编程概念?这个观念要改改了​
Python & 机器学习项目集锦 | GitHub Top 45
图片来源:edureka.co 翻译 | 林椿眄 编辑 | Donna [导读]热门资源博客 Mybridge AI 比较了18000个关于Python的项目,并从中精选出45个最具竞争力的项目。我们进行了翻译,在此一并送上。 这份清单中包括了各不相同的20个主题,以及一些资深程序员分享使用Python的经验,值得收藏。Mybridge AI 的排名结合了内部机器评估的内容质量和各种人为因素,包括阅读次数和阅读时长等。 对于Python的初学者,我们推荐以下这些课程: REST API:使用 Python,
用户1737318
2018/06/05
1.8K0
Python Weekly 420
Python 数据科学教程:分析 Stack Overflow 2019 年 开发者调查表 https://www.youtube.com/watch?v=_P7X8tMplsw 在此 Python
爱写bug
2019/10/30
3.3K0
ApacheCN Python 译文集 20211108 更新
Think Python 中文第二版 第一章 编程之路 第二章 变量,表达式,语句 第三章 函数 第四章 案例学习:交互设计 第五章 条件循环 第六章 有返回值的函数 第七章 迭代 第八章 字符串 第九章 案例学习:单词游戏 第十章 列表 第十一章 字典 第十二章 元组 第十三章 案例学习:数据结构的选择 第十四章 文件 第十五章 类和对象 第十六章 类和函数 第十七章 类和方法 第十八章 继承 第十九章 更多功能 笨办法学 Python · 续 中文版 引言 第一部分:预备知识 练习 0:起步 练习
ApacheCN_飞龙
2022/05/07
19.2K0
收藏 | 49个Python学习资源
How to Run Your Python Scripts – Real Python
Python数据科学
2019/07/04
6380
收藏 | 49个Python学习资源
深度学习动手实践:用 TensorFlow 打造“会看”的机器人
(文/Lukas Biewald)物体识别是当前机器学习最热门的方向。计算机早已能够识别如人脸、猫之类的物体,但识别更大范围里的任意物体对人工智能来说仍是难题。也许真正让人惊奇的是人脑在识别物体上表现得如此之好。我们能够毫不费力地将反射频率只有细微不同的光子转换为有关周围世界的十分丰富的信息。机器学习仍在与这些对人类来说十分简单的任务作着苦斗,但在过去几年里已经有了很大进步。 深度学习以及大型公共训练数据集 ImageNet 让物体识别有了令人瞩目的进步。TensorFlow是一个著名的深度学习系统,它能非
新智元
2018/03/23
1.2K0
深度学习动手实践:用 TensorFlow 打造“会看”的机器人
原创 | 整理了32个Python图形化界面库
今天给大家分享了一个我觉得很有趣的东西:图形用户界面(Graphical User Interface,简称 GUI)。
程序员晚枫
2022/05/14
7.6K0
原创 | 整理了32个Python图形化界面库
年前干货 | 数据工程师必备的学习资源(附链接)
导读:本文首先详细介绍了数据工程的职责、与数据科学家之间的差别以及其不同的工作角色,然后重点列出了很多与核心技能相关的的优秀学习资源,最后介绍行业内认可度较高的3种数据工程认证。
Python数据科学
2019/07/19
1.1K0
使用Python究竟可以做什么?下面是Python的3个主要应用
https://medium.com/free-code-camp/what-can-you-do-with-python-the-3-main-applications-518db9a68a78
HuangWeiAI
2019/10/31
9820
别瞎搞!对自己定位不准,看再多机器学习资料也是白搭(附资源)
找资料也是门学问,别抓着机器学习就一拥而上。 作者 | Jason Brownlee 编译 | AI100(ID:rgznai100) 来看个小故事:机器学习火了。 做开发的工程师小张,和做对冲基金的经理老王,都希望在自己的领域加入机器学习。 工程师小张,希望能在自己的软件项目中加入机器学习。而经理老王,则希望在量化交易中,更多借助机器学习的强大,来处理交易,从而占据市场先机。 老王有着多年的编程经验,小张则是多年的开发经验。两人分别让周围的朋友推荐一些书籍,买来自学。 不过,这两人很快就读不下去了,连
AI科技大本营
2018/04/26
8980
别瞎搞!对自己定位不准,看再多机器学习资料也是白搭(附资源)
史上最全,0基础快速入门Python
首先,在学习之前一定会考虑一个问题——Python版本选择 对于编程零基础的人来说,选择Python3。 1、学习基础知识 首先,Python 是一个有条理的、强大的面向对象的程序设计语言。建议从下面
BestSDK
2018/03/01
1.9K0
史上最全,0基础快速入门Python
用 Python 挪车、管理农场,这届 PyCon 有点香
内容提要:一年一度的 PyCon 如期而至,虽然今年的 PyCon US 2020 转战线上,但内容并不逊于往年,依然干货满满。超神经第一时间将内容整理供大家观看,快学起来吧!
HyperAI超神经
2020/04/27
5840
【干货】不容错过的 30 个机器学习视频、教程&课程
导读:下面是 Analytics Vidhya 网站发表的文章,汇集了 2016 年机器学习经典视频、教材和课程,分类整理,初学者、进阶级还是资深研究员,都可以从中发现适合的材料。视频只做了展示截图,观看的话请复制文中的链接哦。 目录 第一部分:机器学习入门 怎样在 6 个月内成为数据科学家 CMU统计机器学习课程 滑铁卢大学机器学习课程 Python 应用机器学习课程 导论:Python 数据科学 SciPy 机器学习导论课 Python Pandas 数据分析 CS50 机器学习课程 Pandas 初
钱塘数据
2018/03/02
2.5K0
【干货】不容错过的 30 个机器学习视频、教程&课程
开发者 AI 转型指南
人工智能…好吧,目前看来,这项尖端技术现在是最流行的,同时也是一项会对人类产生决定性影响的技术。我们对人工智能的力量和它们在几乎任何行业中的有效使用方式感到惊讶。现在的机器人就像 100 年前的飞机。那么接下来会是什么?这个问题引发了许多情绪,从极大的兴趣、鼓励、成为这一过程的组成部分的渴望,到最后的恐惧、困惑和无知。是什么阻止了你参与人工智能的发展,成为了一个被动的旁观者?
AI研习社
2019/08/20
4760
开发者 AI 转型指南
如何高效率系统地学习机器人操作系统ROS1.0和ROS2.0(2018年10月更新)
如何高效率系统地学习机器人操作系统ROS1.0和ROS2.0,博文都是具有时效性的,这主要面向2018年想要学习机器人操作系统的初学者。现在有关机器人操作系统ROS的学习与教程分享,越来越多,有时让人无所适从。
zhangrelay
2019/01/23
1.5K0
转行IT为什么必须学Python?Python的职业发展是什么?
Python这个词估计听烂了..那么为什么那么多小伙伴都在学Python呢?Python到底有啥魔力?学了Python都能干啥?
诸葛青云
2019/04/26
6550
转行IT为什么必须学Python?Python的职业发展是什么?
我们整理了20个Python项目,送给正在求职的你
职场中一贯有“金三银四”、“金九银十”的说法。如果你是一名正在求职或准备跳槽的程序员,不妨趁着这两个月时间好好准备一下。
用户7886150
2021/01/17
2.7K0
使用ChatGPT和GoogleColab学习Python
Google Colab是一个免费的基于Jupyter Notebook的云端环境,可以让您轻松编写、运行和共享Python代码,无需任何设置或安装。
yeedomliu
2023/09/03
4270
使用ChatGPT和GoogleColab学习Python
Python资料推荐 + IDE推荐+经典练手项目(开源免费)
今天给大家带来一批宝贝,大家可以在深夜里独自把玩,也可以在广场上一边遛狗一边和盆友们品鉴。 学习资料 1、入门阶段 The Python Tutorial(https://docs.python.or
用户1332428
2018/03/09
2.5K0
Python资料推荐 + IDE推荐+经典练手项目(开源免费)
学Python 都能用来做什么?
python 是一种通用的编程语言,因为动态类型、解释型、易于阅读和出色的设计原理而闻名。
程序员鑫港
2021/12/20
1.2K0
推荐阅读
相关推荐
使用 Python 分析数据得先熟悉编程概念?这个观念要改改了​
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验