干货 | 学习Python的正确姿势

简介: 前段时间和大家一起分享了一篇关于学习方法内容《大牛与搬运工的差距——学习方法的力量》。我们将学习过程分成八步,并借鉴了敏捷开发的迭代思想,以达到自我迭代学习的效果。行胜于言,理论结合实践才是王道,所以本文我将基于前面的学习方法,分享我是如何学习python的。

前段时间和大家一起分享了一篇关于学习方法内容《大牛与搬运工的差距——学习方法的力量》。我们将学习过程分成八步,并借鉴了敏捷开发的迭代思想,以达到自我迭代学习的效果。行胜于言,理论结合实践才是王道,所以本文我将基于前面的学习方法,分享我是如何学习python的。

为什么学习python?

“Life is short, you need Python!”       ——Bruce Eckel

python是一种被广泛使用的高级编程语言,其代码语法简洁、可读性强,并且具有丰富和强大的库。python简单易学,应用广泛,web开发、爬虫、运维、人工智能……可以说无所不能。python去年还被列入了全国计算机等级考试科目,也逐步成为小白踏上编程之路的入门语言了。

“人生苦短,我用python!”用python干什么?这个因人而异,个人而言,我学习python主要用于两个方向:爬虫和运维,工作上可以帮助我们复杂工作简单化,重复工作自动化,以及以后的人工工作智能化。

本文和大家探讨的是学习python的方法,接下来我们就马上开启python的学习之旅。

1.确立目标

我对python的定位,其实就是一个提升工作效率的工具,我学习python的目的简单明确,总的来说就两个:

1.学习python语言,并能用它来爬取数据做数据分析;
2.使用python制作一些脚本工具,以帮助并提升工作效率。

2.拆分任务

我们通过逆向分解,将目标拆分成具体的可执行任务。这个过程其实就是将目标细分整理成具体的小目标或问题,然后将其关联到一个个可执行的任务,目的是完成目标或解决问题。

完成我的两个目标,需要具体学习哪些知识,完成哪些事项呢?第一个目标需要学习python的基本语法,像数据类型、逻辑结构、列表、元组、字典、引用等基础知识,以及爬虫相关的requests、urllib、pycurl、tornado等模块。第二个目标则需要根据平时工作的实际需求,进一步借助python语言及相应模块来制作脚本工具,以提升工作效率。

梳理之后,目标就会被分解成一个个需要完成的具体任务。这里我借助“然之协同”里的任务管理工具,将需要做的任务都罗列出来,方便后面执行跟踪。


拆分任务

3.搜集知识资源

学习过程中必然少不了各种学习资料,在搜集知识资源时主要侧重三方面:书籍、官方文档和网络技术文章。

我学习的是python 3.x版本,首先找的就是python的官方文档,内容既权威又全面。(英语确实是道坎。)其次书籍买的是《Python基础教程(第2版)》、《Python网络数据采集》,同时网上也下载了基本PDF电子书。除此之外,还在CSDN、掘金、博客园等IT技术门户里查阅一些python相关的“干货”。

对于知识资源的搜集,还是要提醒大家注意一点,切勿做“收藏控”。很多朋友对于书籍、各种教程、网络文章等资源,购买了下载了收藏了,然后,就没有然后了,最终真的沦落为“收藏品”。而我们真正要做的是要把知识“收藏”并沉淀到我们脑子里。


python书籍推荐

4.分配自身资源

其实就是时间管理。我们时间、精力等各方面资源有限,所有的知识不可能平均分配有限资源。对于我们搜集的知识资源,要分清主次,然后使用不同的时间管理策略进行学习。

前面梳理了一些需要执行的学习任务,并整理了大量的学习资源,这一步要做的就是将这些任务、资源结合自身的实际情况,合理规划分配时间精力。每个人的情况不同,所以这一步因人而异,这里我还是借助“然之协同”的待办工具,做一个具体可执行性的学习计划。

待办时间规划

5.勤学

学习效率与效果取决于执行力。之前文章介绍过学习过程中的一些方法论,这里我简要地介绍一下学习python时的大体过程。


a.快速泛读

如果你有一定语言基础,比如我之前学过C、PHP语言,再学起python来上手就相对快一些。基本的语法知识可以先快速过一遍,像python的模块库、对象等知识可以先了解基本的应用流程,具体的细节问题在后面的使用操作时在深入研究。

b.深入解读

由浅入深地沉淀每个知识点。python的语法与其他语言还是有区别的,比如列表、字典、循环结构等,而且python2和python3在语法上也有些变动。虽然我直接学习的python3,但python2的一些不同之处还是要了解的,毕竟很多python资源模块在2上已经很成熟了。

c.问题攻读

对于学习过程中遇到的问题,先查阅资料或谷歌来解决。比如python2和3的区别,作为爬取模块的requests、urllib、pycurl、tornado的区别等等。如果有难以解决的问题,可以先记下,或许后面会柳暗花明或找他人帮助。

这一步学习的正确姿势是在实践操作中发掘问题,然后带着问题找答案。


6.建立知识体系

不要以为这一步可有可无,建立知识体系有助于帮我们理清各个概念和知识点之间的关联,逐渐形成系统的知识体系。基于前面的大量泛读和深入解读,我们可以逐步构建出一个知识体系。这里我借助xmind脑图工具,整理了一下python的知识体系。

7.好问

基于前面问题攻读后还有未解决的问题,就要求教他人获取帮助了。提问也是一门艺术,这仍是一个学习交流的过程,而不是让别人去解决原本你该解决的问题。
向别人提问求助时,要讲问题的来龙去脉讲清楚,如怎么引起的,自己尝试做了哪些操作等等。这些年在众多技术交流社群和平台,见过很多奇葩的提问方式,这里列几个,与大家共勉。
a.直抛结果型
直接甩出一张截图或错误提醒,并附上一句:怎么解决?怎么破?跪求科普……
b.不懂就问型
不动脑,不动手,碰到问题就问。这种选手即便帮他解决了问题,他也学不到东西。
c.懒人型
与前者类似,但更滑稽可笑,看到这种问题我个人向来直接无视。比如“这个问题是这样操作么?”,“我这样整对不对?”,“是点这里么?”……

8.分享复述

其实即便不提“费曼技巧”,我们很多人在学习时都会用到分享复述这个方法。无论是演讲、录视频、还是像我此刻这样写文章,其实都是在向他人阐述自己对知识的理解和观点,然后大家会给自己一些反馈,比如你的错误、问题,接着自己再回归到知识里完善不缺“漏洞”,如此迭代学习。

实战演练

我之前整理的另外两篇python实例:
《[实战演练]python3使用requests模块爬取页面内容》
《Python3分析sitemap.xml抓取导出全站链接》

小结

我将自己学习python的过程分为八步:
1.确立目标:没有目标的学习是不会有结果和效果的。
2.拆分任务:将目标分解成具体可执行的学习任务。
3.搜集知识资源:查阅官方文档、购买书籍、搜集网络干货文章。
4.分配自身资源:合理分配时间精力,制定学习计划。
5.勤学:强大的执行力是学习的根本保障。
6.建立知识体系:将学习的知识在脑海里建立系统模型。
7.好问:避免孤立学习,但好问也要会问。
8.分享复述:检验学习成果,提高学习效果的最好方法。

作者:GavinHsueh,专注项目管理、办公自动化、网站建设等web应用开发领域。


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