Chinaunix首页 | 论坛 | 博客
  • 博客访问: 184551
  • 博文数量: 174
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 1800
  • 用 户 组: 普通用户
  • 注册时间: 2018-04-16 06:56
文章分类

全部博文(174)

文章存档

2020年(7)

2019年(29)

2018年(138)

我的朋友

分类: IT业界

2018-07-17 17:44:08

致初学者-如何学好Python这门编程语言?[图]:
对于很多Python3初学者,往往会面临以下问题:Python2和Python3我该学习哪一个?是否要安装Linux系统学习Python?Python3有各种版本我该安装哪一个?那么多的图书、视频和电子教程我该选择哪一个?各种开发工具我该使用哪一个?
我该怎么学习这门编程语言?一、Python2和Python3如何选择?因为Python3不兼容Python2,所以导致很多人选择困难。
很多人从网上搜索过这个问题的答案,往往看到的是Python3还没有广泛应用,大部分第三方库还得没有支持Python3的版本。
但是,请注意,网上搜索到的这些信息往往没有时效性。
很多网站的内容是伪原创或者采集而来,可能看上去发布日期很近,但是内容却是几年前的内容。
目前,Python3已经应用很广泛,绝大部分第三方库都已经支持Python3。
选择Python3是最正确的选择。
二、是否要安装Linux系统学习Python?
这个问题的答案不是一个确切的答案。
如果单纯从学习来说,这不是必须的。
Python本身就是跨平台的语言,使用哪种系统学习都是可以的。
不过,需要注意的是不同的系统中,可能存在一些差别,例如Linux中支持fork()函数,而Windows则没有这个函数。
这些差别一般在学习过程中都可以了解到,当遇到这样的差别可以先略过,并不阻碍学习进程。
当然,在实际应用中,我们对各类系统的了解是必须的。
因为,往往项目的生产环境会使用Linux系统。
我们可以一边使用Windows系统学习,一边将熟悉其他类型的系统也当做学习的一部分。
三、Python3有各种版本我该安装哪一个?
Python3的各种版本都是基于Python3的维护版本,安装高版本基本不会出现兼容性问题。
并且,在高版本中,往往会有一些新的内容出现,值得我们了解学习,例如Python3.6版出现的“f-string”。
所以,从学习的角度来说,安装最新的正式版是最好的选择。
四、那么多的图书、视频和电子教程我该选择哪一个?
目前,Python3的教学资料相对于Python2少很多。
不过在很多教学资料也都在陆续更新,例如一些知名的书籍中,包含了Python2向Python3的过度。
选择学习资料确实很困难,因为数量众多,质量良莠不齐。
而且很多资料非常的枯燥难懂,特别是一些翻译自国外的经典书籍,因为翻译质量低,可读性极差。
所以,建议在选择资料时,不要只看诱人的宣传介绍,先仔细了解一下资料内容,试听、试看或试读再进行购买。
当然,网络上也有大量的共享资源,供大家选择,选择一些口碑不错的共享资料去学习也是非常不错的。
但是要注意:不要贪图的去找各种各样的资料,但凡有责任心的作者,都会尽量将自己的作品做的比较完善系统,所以,选择一个合适的资料之后,立即进入学习。没有必要追求多而全,去找太多的资料,因为你即便找了很多资料,也往往都做了收藏品。
在这里,非常感谢大家选择了小楼的魔力Python作为自己学习的首选,我会一如既往的将更多通俗易懂、完整系统的学习资料奉献给大家。
五、各种开发工具我该使用哪一个?
开发工具也就是常说的开发环境。
在问这个问题时,往往会看到各种各样的答案。
特别是有些人推荐用记事本……
我就呵呵了。
Python这门语言核心理念就是能够简单灵活快捷的完成开发目标。
不管是工作还是学习,都应该以效率为主。
虽然,了解多种开发工具没有什么不好,但是选择一个具有低难度、高效率的工具是必须的。
现在网络这么发达,硬件环境也非常优良,选择功能丰富易用的工具才是最好的选择。
我们没有必要为了装*,去选择一个轻量级的开发工具去虐待自己,给自己增加学习和工作的难度。
特别是在学习中,我们的重点是学习编程语言的语法、规范,培养良好的编程习惯,提升编程思想和技巧,而不是把精力分散出去适应一个对初学者不友好的工具。
不用担心某一天你在编程的时候找不到自己使用的工具,这种情况是极少会出现的。
所以,选择一款优秀的带有丰富功能的工具是初学者的首选。
在这里,我的推荐是PyCharm的最新版(别问我最新版是哪一版,就是你看到这篇文章时的最新版)。
当然,我并不排斥一个开发人员掌握多种开发工具的使用,我想,当我们学习编程到一个阶段,对编程的概念都有了基本的了解,并且有了良好的编程习惯和学习方法,这个时候再去了解其他开发工具也为时不晚,并且适应这些开发工具的难度也会大大降低。
六、我该怎么学习这门编程语言?
1、学会使用官方文档
当你安装完Python3,在安装目录中已经自带了与安装版本相对应的官方文档,以Windows系统为例,它在“Python36\Doc\”目录下,或者在【开始】-【Python 3.x】的选项中也能看到。
这份官方文档,是需要常备的学习参考资料。
在学习中遇到的一些问题,都可以到这份文档中通过搜索寻找答案。
2、借助翻译工具
编程语言对大多数开发人员来说,英文是一个障碍。
如果英文不好,大多数最新的技术文档无法读懂。
但是,即便无法读懂,也要去读,借助翻译工具,养成阅读英文文档的的习惯。
随着阅读次数的积累,慢慢的我们就能够提升英文的阅读能力。
这就好像小孩子学说话,不停的努力与重复才能够达成目标。
3、善用搜索引擎
在学习过程中,我们会经常遇到一些问题,需要解决。
你的第一个解决途径不是到处去问,到处去问只会养成你的惰性和依赖性。
而编程人员解决问题需要培养的是独立性。
实际上,网上有海量资源能够帮助我们解决问题。
但你不一定会搜索。
因为很多人喜欢搜热门关键词,例如查询Python资料,就喜欢输入“Python教程”或“Python入门”这些关键词。
看看搜索结果吧!
都是一些老旧的Python资料。
为什么搜索引擎不会将最新的资料显示出来呢?
因为新的资料本身有一个被收录和提升搜索权重的过程。
就好像我的Python3萌新入门笔记,虽然是很新的学习资料,也被搜索引擎收录了,但是你查询“Python3 笔记”这样的关键词,依然很难查到。
而查询资料的全名则会有非常好的效果。
所以,当你在搜索引擎查询资料的时候,不要用非常简洁的关键词去查询,而是用长尾关键词(也就是描述更详细的关键词)去查询,因为一般新的资料都会对长尾关键词进行优化(因为热词实在很难排名靠前),达到能够被用户搜索到的目的。
4、理解概念
编程中有很多概念,变量、函数、对象、方法、类、进程、线程……
这些基本的概念,必须要理解。
实际上这些概念,也只是名称的字面难以理解,如果加以解释(当然要解释的通俗易懂)都很容易理解。
理解这些概念,是我们提升编程思想的最佳途径。
如果不理解概念,即便能够跟随着资料将代码编写出来,等到自己真正进行开发时仍然是一头雾水。
所以,在学习中真正的理解一个知识点是非常重要的。
5、慢下来
不要贪图快,快会容易错过细节。
在学习当中,一定要仔细全面的追求质量而不是速度。
因为在初学时期追求速度而忽略质量,到学习后期就会暴露出各种各样的问题。
所以扎实的、有条不紊的把每一个基础知识 点掌握之后,在进行下一个知识点的学习,才是最有效率的学习途径。
6、穷其理
穷其理的意思就是追究细节。
任何一份资料的作者,视角都是不同的。
所以,不同的资料作者所给出的学习资料也会各有侧重,或者带有作者个人的喜好。
并不是作者不负责任,不能够把资料作的完整详细,而是扩展开来往往会变成非常复杂的资料结构。例如,web开发内容中会涉及HTML、JS等知识,如果把这些知识也详细的展现在资料中,那么这份资料就没有办法再去学习。
所以,当我们在学习过程中,发现资料中一些模糊或者生僻的内容,不要放过,而是至少做一下了解。
虽然,不可能太过深入,但是基本内容要做一个大概的了解。
这样是有好处的,它会让我们变得更博学。
如果将来遇到相关的问题,我们就能够快速的找出解决方案。
7、养成习惯
学习编程是一个持续的过程。
每天编写代码是一个程序开发人员应该养成的习惯。
编程能力有不进则退的特点。
如果中断时间过长,就会导致能力的退化,甚至遗忘学过的知识。
所以,即便没有编写代码的环境,也要尽量通过网络学习一些相关的技术资料,保持持续的学习状态。
最后,我还要说一点:勇于放弃!
不是所有人都适合编程开发。
每个人都有自己的擅长,上学时有人严重偏科就是一个典型的例子。编程人员需要具备持续学习能力,因为技术总是在革新。编程人员需要具备优秀的逻辑能力,因为代码里面充满逻辑。摘抄好词好句及感悟赏析,编程人员需要独立解决问题的能力,因为在工作中开发进度往往是相当紧张的,当程序出现问题,必须能够快速独立解决,而不是等别人来帮你。
编程人员需要很强的理解能力,不管是生涩的文档还是代码,都需要编程人员去理解,不管是用于解决问题,还是接手了别人移交的工作,都需要这份能力。
所以,如果你不具备这些能力,那么,建议放弃学习!
把时间和精力,放在自己擅长的方向,如果不知道自己擅长什么,就尽快找到它。
有人可能会反对:不是说遇到困难不能退缩才能成功吗?
我想说:遇到困难勇于坚持是建立在自我了解的基础之上,豆腐是用来吃的,砖头是用来砌墙的,作为一块豆腐不要有砖头的理想,会碎的!
阅读(625) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~