12个月,零基础自学Python语言心得,分享自学建议和方法(自学python入门)
前言
- 网络上经常有人问,电脑硬件、网络、计算机语言自学真的能学成功吗?能的话,那要培训机构干嘛?
- 这里呢,老修以自学Python语言的经验来分享分享;整个自学过程历经一年;其中经历了由开始到放弃,由放弃再到坚持的心理历程,下面我们分上中下三部分,来分享这些自学的过程:
- 第一部分—为什么选择学计算机语言?选择什么语言?自学还是参加培训班?选择什么样的自学教程
- 第二部分—如何找到一种适合自己自学的方法?英语和数学重要吗?Python能做什么,我要干什么?
- 第三部分—Python自学的重点、要点、难点有哪些;坚持!坚持!再坚持!
第一部分:关于选择
- 你为什么要选择学计算机语言?是为了高工资?还是为了提升自己?或者只是因为兴趣,觉得高大上而去学一学?这些问题,在学之前最好想清楚,搞明白,如果是为了高工资,那可能会让你失望,每个行业都有他的行业标准,高收入的仍然是少部分;我们没有方向的花时间去做一件事,最终都是半途而废,唯有不忘初衷,方能始终。我们可以去观察身边的人,10个同学中有10个是忘记初衷而中途放弃,难有始终的;自学要把握好一个重点和一个要点,重点是“坚持”,要点是“方法”。搞明白了,就是给自己坚持下去的理由和方向。
- 选择什么样的计算机语言?Java?Python?还是C语言?我们来看一下TIOBE编程语言排行榜,它是编程语言流行趋势的一个指标,每月都会更新:
来自官方网.2020.3.11
- 这里我们可以看到排世界前五的是:Java、C语言、Python、C 、这五门语言,那从目前流行趋势来说,Python最火,原因是人工智能/AI和大数据起到了相当的作用,同时也因Python自身有强大的库,被称为胶水语言,不是没有道理的;那从就业前景来说,Java目前比较好找工作,C语言自学起来相对比较困难;所以这里老修给的建议是,根据你的初衷和实际情况来选择哪门语言;
- 哪门语言最好?没有最好的计算机语言之说,只有最合适,最适合的语言,如果能从你的工作中去选择,那是最合适的,用它来提高工作效率,解决一些问题;计算机语言是一门工具,是一种解决问题的方式方法,一种思想。这五大语言相对而言,Python会比较简单些,适合零基础的人,可以选择用它入门,然后在学一门C语言或者Java,这是我个人的建议。
- 自学还是参加培训班?这个就看自身的自我管理能力和自学能力,如果自己的自控能力达到一定程度是完全可以选择自学的,如果两方面一个因素都不具备,那就需要去选择培训班了,培训班有很多,根据自己的实际情况去选择,哪一家强,哪一家好,这个嘛?这里就不多介绍。
- 选择什么样的自学教程,这个看个人,网络上有很多很多零基础视频教程,以老修自己为例,是一共购买了四家培训机构的零基础视频教程,和一本零基础入门书本;书是能直接产生影像的方法,配合着来学,刚刚开始就听他们四家讲变量名的概念,然后选择了两家继续听,后来选择了一家完全适合自己风格的,每个老师的方法和特点各不同,所以要找一个适合自己那个味道的,没有最好,只有最适合,最合适的。
第二部分:关于方法
以老修的个人经历总结出一条可以受众于大家的人生经验:选择是智慧层面,努力是毅力层面,相对而言智慧层面会更重要一点,当然没有努力不坚持一切也是空谈。有了以上的结论,那方法就显的是加速作用,我们来一起看看:
- 掌握方法就掌握了自学的要点。方法有千万种,那怎么找到一种适合自己的方法呢?怎么判断这种方法是否适合自己?
学起来,越来越有兴趣,能时不时的想着它,一天不学就不行,越学越来劲,这就算找到了方法,也找到了兴趣,它是最好的老师,这样自己就能坚持下去,同时也就掌握了自学课程的方法。
- 怎么找方法?以老修的方法为例“把抽象的变形象,把形象变影像,把影像变印象”。
举个例子,什么是变量?概念上来说,变量就是在内存中开辟一块空间,存放一组数据,通过一个名字,以方便我们随时调用这么一组数据,这个就叫变量;这个太抽象了,怎么做?画图,把它用图像的形式表达出来,
由抽象把它画成图,这就是抽象变形象的过程,然后根据自己画的这组图,再去把它敲出来,这就是形象变影像的过程,再后面就是多敲,多做练习,自然那个影像就变印象了。
这就是老修的学习方法,我们可以尝试多种方法,最后总结出一种自己的理解方式去记忆语言里语句、语法,而不是强行去记忆,那随着学习的深入知识量会越来越大,会越学越多,怎么记?记不过来的。想要把知识牢牢地记在脑海里,就要多练习,多敲代码,形成习惯性记忆,自然就记住了;
- 大家关心最多的问题就是数学和英语在语言中重要吗?
老修的回答是重要,看我们自己学的目的是什么。如果想从事这行,作为自己吃饭的一技之长,那它就重要,如果是为了提高工作效率的工具,那它就不那么重要。
先说数学:语言核心就是算法,学到最后,用到最后,都是数据,都是算法,数学的基础决定了自己这条IT之路能走多深多长多广。以人工智能来说,它的核心也是算法。大专以上,本科的数学基础就足已,要会线性代数、微积分、代数、概率统计学等等,我们需要了解这些数学基础,以便于我们后期语言的学习。
再来英文如果有基础,是相当有优势的,没有也没有关系,可以借助工具先学,起码要看得懂技术文档,基础好的情况下我们看技术文档就不会吃力,对变量名的命方法,可以做到见名知意,提高代码的可读性。
- Python能做什么,我学Python要干什么?
基本上这门语言是全方位的,主要用在:AI、人工智能、大数据、爬虫、自动化测试、运维、WEB前后端开发……我们通过以下“Python的知识体系”图来看一下它的具体方向,从底层的Python语法基础,应该叫Python基础,这里学完基础以后,就被分成了细细的9大块,每一块都能成为一个专门的岗位。
Python的知识体系
- 那怎么样才算是打完基础呢?
Python的基础语法、包和模块的处理、面向对象、数据结构,学完这四部分应该才算打完基础,特别是这个“面向对象”,我们会在第三篇重点介绍它,打完基础以后,你需要干什么都要规划好,因为后面还有很多东西要学。比如:函数式编程, 网络编程,多任务多线程编程,正则表达式,MySql数据库,HTML、CSS、JavaScript,DjanGo等等,看你要往那个方向发展。
第三部分:关于坚持
老修在从放弃到坚持的心理历程中,不是在学完基础以后,而是在打基础的时候,太枯燥了,中间放弃了近两个月,所以自己要把第一部分所提到的问题想清楚,规划好,有个坚定的目标,
自学的道路是很不容易的,它对个人人格方面的培养也起到了一定的作用,因为“慎独”之难。当下这种时代,能合理安排出时间来自学,实属不易,这整个自学过程同时对个人的智慧层面也启到了一定的修习,同时也大大锻炼了我们的毅力,因为坚持是一件相当不容易的事。
- 重点在坚持,要点在坚持,难点也在坚持,自学只要把握住这重要的三遍“事”,基本就没有你学不会,搞不定的事呐!回归正题,学Python的重点在哪?在坚持,哈哈哈哈!好!不开玩笑,重点在“面向对象”,这里是讲什么?
每个人都有自己不同的见解,以老修自学到的知识来分享:封装多变化模块,利用继承达到高内聚,采用多态父子类让代码耦合度低的软件设计思想;这个面向对象(OOP)软件设计思想就是我们打基础中重点要学习的重点。
那用通俗易懂一点的话来说,怎么说呢?
那老修在看网页时,看到一位网友用盖浇饭和蛋炒饭来形容“面向过程”和“面向对象”,形容的很是贴切,分享出来给大家看看:盖浇饭的好处就是”菜”、“饭”分离,从而提高了制作盖浇饭的灵活性。饭不满意就换饭,菜不满意换菜。
用软件工程的专业术语就是”可维护性“比较好,”饭” 和”菜”的耦合度比较低。蛋炒饭将”蛋”、“饭”搅和在一起,想换”蛋”、“饭”中任何一种都很困难,耦合度很高,以至于”可维护性”比较差。软件工程追求的目标之一就是可维护性,可维护性主要表现在3个方面:可理解性、可测试性和可修改性。面向对象的好处之一就是显著的改善了软件系统的可维护性。
- 要点是什么呢?
Python基础语法中的循环语法,遍历和嵌套的使用以及切片。比如:
什么时候使用for循环,什么时候选择while循环,通常是条件不确定的情况下我们使用while,还有它的条件判断if语句放哪儿。有具体对象要做判断时,我们就用for语句。切片这个语法也是一个要点,在对一二维表的处理,还有一些核心算法上,我们会用到它。
以上这些就是需要我们去多练习,多敲代码,一边打一边理解,实在不懂,就照着打,边打边思考,接着自己再试着把它打出来,一遍两遍又三遍,三遍四遍五六遍,直到自己搞懂了为止;
- 难点对我们初学者而言,哪哪都难有没有?
老修觉得这个难点在于逻辑判断。就是碰到一个问题,我们要怎么去分析它,怎么把这个问题切成一块块的来现实,在把自己的这个思维用代码把它实现,这个很难。
实际情况是,就算学完基础,碰到问题,还是一脸茫然无从下手,所以离真正懂、会用还很远。
我们突然会发现,这只是入坑的第一步,只是个开始,自己依然,还是什么都不会,坚持吧!少年,中年!!!学都学了,时间也花了这么多了,坚持到这步不容易,这是老修到后面的心里对白,哈哈哈,希望你不是。
结语
- 坚持其实大家都懂,但除了坚持别无他法。每次坚持不下去了,给自己找希望,找成就感,所以选择、方法,就在坚持这条路上起到至关重要的角色。
- 坚持的路往往很孤独,要学会自我欣赏,在我们眼中能够成功的人,在起初往往能够忍受普通人无法忍受的孤独。
- 以上就是老修的分享,希望老修的这些分享能给你带来一些启发,没有白白浪费你花时间来读这千字的心得分享。好,最后祝福那些选择自学的小伙伴们,你们是优秀的!
- 生活不易,请别放弃,既已选择,唯有坚持,成功有时是对自己的交待,无需他人认可~~~~