第三十二期:你们都是怎么学Python的?

自学Python一个月,怎么学都学不进去,感觉自己方法错了,现在连入门都不算,我该怎么办啊?这应该是每一个零基础学Python的小白都会面临的问题,今天我就结合自己的经历,和大家分享一下我是怎么学Python的?

作者:叫我小包总

自学Python一个月,怎么学都学不进去,感觉自己方法错了,现在连入门都不算,我该怎么办啊?这应该是每一个零基础学Python的小白都会面临的问题,今天我就结合自己的经历,和大家分享一下我是怎么学Python的?

我在网上常常看到想要转行IT,或者想学习编程但不知如何开始的朋友,回答这类问题的人往往只是列出书单资源,然后给出一个大致的方向。

一些小白朋友就开始扎入理论学习的汪洋大海,从苦读类似「算法导论」开始,能够坚持读下来的寥寥无几,学习的积极性也被不断的挫败感消磨殆尽。

万物皆有道法可寻,学习编程这件事也不例外。我们是需要借助书籍、借助学习资源进行学习,但首先我们得有一个清晰的学习路线。

学习Python的过程,大致可分为入门、进阶、精通。每一个阶段的学习要求又不尽相同,所以,我们应该给自己建立一条学习路线。

1.入门

所谓基础不牢,地动山摇。不管你以前有没有编程基础,都需要掌握Python的基础知识,比如说:变量、数据结构、语法等,我当时入门看的书有:

  • A Byte of Python
  • Python编程从入门到实战
  • 笨办法学Python
  • 父与子的编程之旅

上面这些书都是豆瓣评分很高的Python学习工具书,有的书中有实例、有代码,我当时看的时候,把每一个例子的代码都打了一遍,加深记忆,也学习了Python的语法规则,所以,我建议大家自学的时候也这样做,很多代码你看一百遍,不如手打一遍,然后在运行一次,有的可能因为版本的原因会出错,但这也是个学习的过程。

当然,有的小伙伴自学的时候,习惯看视频,网上也有很多资源,最有名的当属廖雪峰的Python教程,还有小甲鱼的Python自学视频等等,风格各不相同,学到知识就行,大家在看视频、看书的时候,最好边看边做笔记。

当你学习完基础语法后,你需要通过做一些简单的项目来巩固和检测自己所学的知识。只有当我们要去做项目的时候,才会真正调动自己的思维,通过各种办法实现自己的想法。

这里给大家推荐一些适合基础巩固与运用的项目。

  • https://www.shiyanlou.com/courses/364
  • https://www.shiyanlou.com/courses/370
  • https://www.shiyanlou.com/courses/589
  • https://www.shiyanlou.com/courses/651
  • https://www.shiyanlou.com/courses/368
  • https://www.shiyanlou.com/courses/70
  • https://www.shiyanlou.com/courses/561
  • https://www.shiyanlou.com/courses/583
  • https://www.shiyanlou.com/courses/756
  • https://www.shiyanlou.com/courses/684

2.进阶

学习完基础知识之后,我们可以根据自己的兴趣爱好,或者职业发展,给自己定一个Python的使用方向,目前,Python被使用最多的是:

(1)搭建个人博客、网站(进一步学习Flask、Django);

(2)数据爬虫(进一步学习Requests、Scrapy);

(3)数据分析、机器学习、深度学习等(进一步学习Numpy、Pandas、Scikit-learn等);

(4)通过丰富的第三方库实现各种各样的小想法。

目前,我选择的就是数据爬虫,因为综合自身情况,本科也没学过编程知识,数学也不是很好,那么做数据爬虫项目也是很好的巩固Python基础知识的方法。

一是数据爬虫项目不需要很长的代码,基本上100行以内就可以实现项目需求;二是富有逻辑性,可以锻炼代码思维;三是会涉及到HTML、数据库、代码性能等问题,这些知识点可以说是程序员必须学习的知识点,可以进一步提供触类旁通的能力。

数据分析、挖掘就不用多说,几乎是现在Python最火的方向了。进阶阶段每个人的方向不同,所用的书也不一样,这里就不做推荐。

3.精通

这个应该是每一个自学Python人的目标,每个人心中都要有一个大师梦。关于这个阶段,我给大家推荐一个github上的项目,有位名叫骆昊(jackfrued)的资深程序员,为大家规划了一条“从新手到大师”的百天之路。

目前这个项目以及在GitHub摘下65400星,骆先生还在日程表上方,温柔地鼓励大家:Python是一个“优雅”、“明确”、“简单”的编程语言。学习曲线低,非专业人士也能上手。项目传送门:https://github.com/jackfrued/Python-100-Days

最后,和大家分享几个自学Python的好方式。

(1)一定要抽空补充理论知识。很多前辈会强调learn by doing,边做项目边学习,当然这也是我采用的方式。在这种方式下,你不断犯错,改正……学习效率非常高。但是,很多人走了极端,最后的结果就是不注意理论知识的学习,你会发现自己Google的能力越来越高,但真实的编程能力并没有得到提升,如果你有这种情况,需要反思一下了。

(2)学会发问。好问题是建立在你自己已经实践或者思考的基础上问出来的,需要注意的是不要一遇到困难就喜欢直接上网搜索:「这个问题怎么回事啊?」、「我不明白你能不能帮我看看?」……

(3)善用搜索引擎获得自己想要的答案。这里说的搜索引擎不是某度,是Google,而且要学会如何使用英文发问,如果有报错信息,可以把报错直接copy进搜索框。新手所遇到的问题,99%都可以在Stack Overflow上找到各种答案和实现方式。

(4)学会看报错信息。一开始学习的时候,往往会忽视这一点,但实际上报错信息给出了很多指向性的答案,所以,我们不能一昧的依赖搜索。

(5)学好英语。当我们真正使用Python的时候,官方文档才是很好的查阅和进一步学习的资料,想要成为Python大神,就得多看官方文档,优秀的Python程序员,几乎每年都会去学习一遍官方文档。

总结

希望大家看完我的分享后,能帮助你修正自学Python的方法,然后按照自己的节奏,日拱一卒,循序渐进。也欢迎大家后台和我交流,你们是怎么学习Python的?

阅读目录(置顶)(长期更新计算机领域知识)

阅读目录(置顶)(长期更新计算机领域知识)

阅读目录(置顶)(长期科技领域知识)

歌谣带你看java面试题

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/424658.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

[Leetcode][第1002题][JAVA][查找常用字符][计数][HashMap]

【问题描述】[简单] 【解答思路】 计数法 1. minfreq存放最终重复字母的个数 freq存放每次遍历字符串的字母个数 2. minfreq初始化最大值,每遍历一个字符串后,比较minfreq[i]、freq[i]的大小,minfreq[i]更新为两者的最小值。 3. 根据minf…

815. Bus Routes

输入:int[][] routes routes[i]表示第i号公交车的运行线路。如果routes[i]{1,3,5}。说明公交车运行线路是1->3->5。    int S:表示起始站点    int T:表示目的站点 输出:从S到T最少需要几辆公交…

第三十三期:连接池中非常关键的两个参数,到底是干啥用的?

说来惭愧,从事互联网开发好些年了,有些概念一直没有彻底搞清楚。其中之一就是,ttp client配置连接池的时候,maxConnectionsPerHost,和maxTotalConnections,在网上搜了一圈,发现很多都讲的含含糊糊的。 作者:资深开发讲技术 背景 …

一个密码经过多次MD5加密能否提高安全性?Java MD5盐值加解密

什么是MD5? MD5(Message Digest Algorithm 5,信息摘要算法5),是计算机广泛使用的摘要算法(又称哈希算法)之一。MD5是将一段信息,通过其不可逆的字符串变换算法,产生了唯一的MD5信息…

[Leetcode][第24题][JAVA][两两交还的链表中的节点][递归][三指针]

【问题描述】[中等] 【解答思路】 1. 递归 时间复杂度:O(N) 空间复杂度:O(N) class Solution {public ListNode swapPairs(ListNode head) {if(head null || head.next null){return head;}ListNode next head.next;head.next swapPairs(next.next…

301. Remove Invalid Parentheses

目录题目描述回溯法有效剪枝,速度更快回溯法改进题目描述 输入:一个字符串,包含(,),还有一些其他字符。 输出:左右括号完全匹配的字符串。并且要尽可能少的删除字符。 规则:有左括号,有对应的右…

第三十四期:花了一个星期,我终于把RPC框架整明白了!

RPC(Remote Procedure Call):远程过程调用,它是一种通过网络从远程计算机程序上请求服务,而不需要了解底层网络技术的思想。 作者:李金葵 RPC(Remote Procedure Call):远程过程调用,它是一种通过网络从远…

win7NVIDIA显卡驱动升级时卡住

可以先装上.NET framework,再更新就不会卡了转载于:https://www.cnblogs.com/haizine/p/10950442.html

[Leetcode][第116 117题][JAVA][填充每个节点的下一个右侧节点指针][BFS][链表前驱节点]

【问题描述】[中等] 【解答思路】 1. BFS层次遍历思想 &#xff08;通用&#xff09; 时间复杂度&#xff1a;O(N) 空间复杂度&#xff1a;O(N) public Node connect(Node root) {if (root null)return root;Queue<Node> queue new LinkedList<>();queue.add(r…

Windows Server2012 R2 无法安装.NET Framework 3.5的解决方法

Windows server 2012R2&#xff0c;自带的是.NET Framework 4.5,如果想装SQL server2008或者SQL server2012就需要安装 .ENT Framework 3.5或者2.0的版本&#xff0c;建议安装 .NET3.5 版本&#xff0c;我本人亲测过&#xff0c;成功了&#xff01; 安装不成功错误分析&#x…

第三十五期:网络爬虫是啥玩意儿?有什么用呢?

在这个用数据说话的时代&#xff0c;数据是一件极其重要的事情&#xff0c;怎样才能抓取到完整以及全面的数据呢&#xff1f;这并不是一件容易的事情。 作者&#xff1a;呦呦科学馆 如果想要做好大数据的分析&#xff0c;单单依靠一己之力或者是周边的数据是远远不够的&#x…

121 Best Time to Buy and Sell Stock

输入&#xff1a;一个数组prices,prices[i]表示第i天股票的价格。 输出&#xff1a;买卖股票的最大收益。 规则&#xff1a;只允许最多买一次&#xff0c;最多卖一次股票。如果觉得价格不合适&#xff0c;可以不买卖。 分析1&#xff1a;最先想到的是暴力搜索&#xff0c;每天都…

第三十六期:学 Java 网络爬虫,需要哪些基础知识?

说起网络爬虫&#xff0c;大家想起的估计都是 Python &#xff0c;诚然爬虫已经是 Python 的代名词之一&#xff0c;相比 Java 来说就要逊色不少。有不少人都不知道 Java 可以做网络爬虫&#xff0c;其实 Java 也能做网络爬虫而且还能做的非常好&#xff0c;在开源社区中有不少…

前端之盒子模型

CSS之盒子模型 margin: 用于控制元素与元素之间的距离&#xff1b;margin的最基本用途就是控制元素周围空间的间隔&#xff0c;从视觉角度上达到相互隔开的目的。padding: 用于控制内容与边框之间的距离&#xff1b;Border(边框): 围绕在内边距和内容外的边框。Content(内容): …

[Leetcode][第977题][JAVA][有序数组的平方][排序][双指针]

【问题描述】[简单] 【解答思路】 1. 排序 平方后排序 没有使用排序的特性 时间复杂度&#xff1a;O(NlogN) 空间复杂度&#xff1a;O(1) class Solution {public int[] sortedSquares(int[] A) {int[] ans new int[A.length];for (int i 0; i < A.length; i) {ans[i] …

开始《数据机构与算法之美》之旅

文章出处&#xff1a;极客时间《数据结构和算法之美》-作者&#xff1a;王争。该系列文章是本人的学习笔记。 还在学算法&#xff0c;就像还在学英语一样悲催。想想自己为什么要学算法。学&#xff0c;是为了用。学了&#xff0c;能理解Java API提供的接口和数据结构的实现方式…

第三十七期:为什么2019年人工智能算法岗求职竞争如此激烈?

在各公司全面数据化智能化的当下&#xff0c;算法岗本该更受青睐&#xff0c;为何突然成了就业重灾区?除了暴力劝退&#xff0c;本文将从几个不同角度来分析当前算法岗的求职就业情况。 作者&#xff1a;皮皮鲁的AI星球 与前几年媒体报道的人工智能毕业生高薪难求形成鲜明对比…

[LeetCode] 141. Linked List Cycle 单链表判圆算法

TWO POINTER 快指针速度2 &#xff0c; 慢指针速度1 相对速度1&#xff0c;有环必然相遇 public class Solution {public boolean hasCycle(ListNode head) {ListNode fast head,slow head;while(fast!null && fast.next!null){slow slow.next;fast fast.next.next…

[Bugku][Web][CTF] 9-15 write up

【说明】 整合资源 简略版本2020Bugku write up Bugku Web第九题 关键字 &#xff1a;/?argsGLOBALS PHP 将所有全局变量存储在一个名为 $GLOBALS[index] 的数组中。 index 保存变量的名称。这个数组可以在函数内部访问&#xff0c;也可以直接用来更新全局变量。 Web 第十题…

第三十八期:用Git帮助写作者更好地完成工作

如果你是一名写作者&#xff0c;你也能从使用 Git 中受益。在我们的系列文章中了解有关 Git 鲜为人知的用法。 作者&#xff1a;佚名 如果你是一名写作者&#xff0c;你也能从使用 Git 中受益。在我们的系列文章中了解有关 Git 鲜为人知的用法。 Git 是一个少有的能将如此多的…