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

简介: 干货 | 2023 年如何一步一步的学习 Python

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

引子

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

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

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

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/

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

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

相关文章
|
2月前
|
程序员 测试技术 开发工具
豆瓣评分7.9!世界级讲师耗时5年整理出的Python学习手册!
Python是一门流行的开源编程语言,广泛用于各个领域的独立程序与脚本化应用中。它不仅免费、可移植、功能强大,同时相对简单,而且使用起来充满乐趣。从软件业界的任意一角到来的程序员,都会发现Python着眼于开发者的生产效率以及软件质量,因此无论你的项目是大还是小,选择Python都将带来战略性的优势。 今天给小伙伴们分享的这份手册讲述了完整的Python语言,力争满足“语言”和“原理”两个方面的需求,并拥有足够的深度以便实用。废话不多说,下面展示给大家。
|
2月前
|
数据采集 数据可视化 Ruby
GitHub星标破万!Python学习教程(超详细),真的太强了!
Python 是一门初学者友好的编程语言,想要完全掌握它,你不必花上太多的时间和精力。 Python 的设计哲学之一就是简单易学,体现在两个方面: 1. 语法简洁明了:相对 Ruby 和 Perl,它的语法特性不多不少,大多数都很简单直接,不玩儿玄学。 2. 切入点很多:Python 可以让你可以做很多事情,科学计算和数据分析、爬虫、Web 网站、游戏、命令行实用工具等等等等,总有一个是你感兴趣并且愿意投入时间的。
|
2月前
|
机器学习/深度学习 开发者 Python
Python 与 R 在机器学习入门中的学习曲线差异
【8月更文第6天】在机器学习领域,Python 和 R 是两种非常流行的编程语言。Python 以其简洁的语法和广泛的社区支持著称,而 R 则以其强大的统计功能和数据分析能力受到青睐。本文将探讨这两种语言在机器学习入门阶段的学习曲线差异,并通过构建一个简单的线性回归模型来比较它们的体验。
51 7
|
2月前
|
JSON API 开发者
Python学习Get方式通过商品 ID请求 获取拼多多商品详情数据接口
拼多多商品详情数据接口服务使开发者或商家能编程获取平台商品详情,涵盖标题、价格、销量等关键信息,助力市场分析与决策。使用前需注册开发者账号并获取API密钥;构造含商品ID等参数的请求URL后发送至API服务器;接口以JSON格式返回数据。应用场景包括商品销售分析、选品、品牌口碑挖掘及竞品分析,为商家提供强大数据支持。
|
2月前
|
算法 数据挖掘 大数据
深入学习Python的性能优化
【8月更文挑战第9天】深入学习Python性能优化涵盖设定明确目标、运用timeit与cProfile等工具诊断瓶颈、优化代码结构与算法、采用并行/并发技术、利用生成器与第三方库等策略。这是一个持续学习的过程,旨在全面提升代码效率与响应速度。
31 1
|
3月前
|
机器学习/深度学习 搜索推荐 TensorFlow
使用Python实现深度学习模型:智能教育与个性化学习
【7月更文挑战第29天】 使用Python实现深度学习模型:智能教育与个性化学习
126 9
|
2月前
|
数据采集 人工智能 数据可视化
【2023年电工杯竞赛】B题 人工智能对大学生学习影响的评价 数学建模方案和python代码
本文介绍了2023年电工杯竞赛B题的数学建模方案和Python代码实现,详细阐述了如何分析调查问卷数据,建立评价指标体系,构建数学模型评估人工智能对大学生学习的影响,并提供了数据预处理、特征编码、可视化分析等代码示例。
40 0
【2023年电工杯竞赛】B题 人工智能对大学生学习影响的评价 数学建模方案和python代码
|
2月前
|
存储 JSON 测试技术
Python中最值得学习的第三方JSON库
Python中最值得学习的第三方JSON库
|
2月前
|
机器学习/深度学习 人工智能 TensorFlow
神经网络不再是黑魔法!Python带你一步步拆解,让AI学习看得见
【8月更文挑战第3天】神经网络,曾被视为难以触及的黑魔法,现已在Python的助力下变得平易近人。以TensorFlow或PyTorch为“魔法杖”,仅需几行Python代码即可构建强大的AI模型。从零开始,我们将教导AI识别手写数字,利用经典的MNIST数据集。通过数据加载、预处理至模型训练与评估,每个步骤都如精心编排的舞蹈般清晰可见。随着训练深入,AI逐渐学会辨认每个数字,其学习过程直观展现。这不仅揭示了神经网络的奥秘,更证明了任何人都能借助Python创造AI奇迹,共同探索未来的无限可能。
36 2
|
2月前
|
数据采集 数据挖掘 数据处理
解锁Python数据分析新技能!Pandas实战学习,让你的数据处理能力瞬间飙升!
【8月更文挑战第22天】Python中的Pandas库简化了数据分析工作。本文通过分析一个金融公司的投资数据文件“investment_data.csv”,介绍了Pandas的基础及高级功能。首先读取并检查数据,包括显示前几行、列名、形状和数据类型。随后进行数据清洗,移除缺失值与重复项。接着转换日期格式,并计算投资收益。最后通过分组计算平均投资回报率,展示了Pandas在数据处理与分析中的强大能力。
37 0
下一篇
无影云桌面