25岁,想从头开始自学Python,有没有什么好的建议?

python虽说简单,但涉及其他领域的知识比较多,比如说做运维方面,特别是运维的自动化,这里就不仅仅是python的问题,还涉及系统管理方面的知识,比如linux,unix的使用等等。如果学习做网站,那python不一定是最合适的,有很多语言可以选择。你能立志,而且年轻真的很不错,接下来你就选个方向并为之努力坚持吧。(仅代表个人观点,请综合考虑其他意见)

祝好!

谢谢!


一、保持每天书写

编程作为一项技能,需要长期的训练以达到熟练的地步。每天写一点代码,保持对代码、语法和逻辑的敏感度,有利于初学者巩固新接触的知识和概念。

初学者如何保持每天的代码编写呢?刷题是一个很好的方法。目前网络上有大量的刷题网站,供编程人员进行练习,比如著名的LeetCode。

不用费劲心思为每天写什么而发愁,也不用纠结于写的用途,在各类刷题平台上,利用公开的编程问题进行练习,保持大脑对编程的兴奋度和活跃度。

借助每天的编程练习,使得大脑一直处在一个预备热身的准运动状态,能够让自己快速进入实际的编程状态中。

二、保证思考的时间

很多初学者会照着一个书或是一个视频,一股脑地跟着它一章一章一节一节按部就班地学习和练习,看似是主动在学习,实际上是在被动地接受书本和视频的填鸭。

别看示例代码敲得溜,实际上代码过手不过脑,稍微改变一点,就异常报错满天飞。这就是缺乏思考导致的。

不像语文的诗词背诵,背下来了,默写的时候就能想起来、写出来。编程是思考和实践的结合,是思想逻辑的语言代码实现。

之前玩过一段时间颗粒积木。

上图是拼接好之后的形状,在它没拼接的时候,是一堆一个、两个、三个颗粒组成的最小颗粒块。产品包装里面会附带一个拼接的说明步骤图,我们按照步骤图一层一层地堆叠积木,就可以收获最后的成品。

但是如果不看图纸,自己来。八成是拼不出来的。因为我们的大脑中没有一个成型的逻辑拼接步骤,只能按照图纸才能勉强把积木拼接好。

看书或者看视频亦是如此,它们都是一个类似积木图纸的东西,能够按部就班带你了解一些东西、实现一些东西,但是如果自己不去思考,那也就仅限于了解了一些东西,实现了一些东西了。

所以,得留足给自己思考的时间,理清了关系和逻辑,瞬间豁然开朗。

三、进行交流和分享

学习最忌闭门造车、闷头苦干。无论是菜鸟还是大佬,都会有知识的盲区。如果不与外界进行交流,盲区难于被发现,被解决掉,自己就陷入了自己的知识陷阱里。

另一方面,与人交流和分享,需要自己梳理自己的逻辑,组织已有的概念。有句话说“输出是最好的输入”,就是这个道理。在分享输出中,我们需要把需要输出的东西摸清摸透,进而促使我们对一些不清不楚、模棱两可的地方的进行补强,对已掌握的地方加深理解。

交流和分享的渠道包括但不限于:在社交群里面进行分享、写文章、录视频等等。这些行为会反刍式地让自己收获和理解。

四、提出好的问题

编程过程中遇到问题是很正常的事情,没有踩过几个坑,都不好意思说自己在某方面有过学习和研究。

有了问题,自然需要解答和解决。如何提出一个好的问题,又是一个很重要的事情。

能够准确陈述出问题的前因后果,说明自己对代码的逻辑有一定的理解,只是由于对某些模块、组件、特性的不熟悉,而导致了问题的产生。

有经验的编程者在异常问题产生之后,会进行问题的溯源,找到问题产生的初始位置,对比其行为和自己预期的结果。

但是对于初学者来说,对问题进行溯源过于吹毛求疵,正确地提出问题更为有效。

五、写一些实际的东西

学车考驾照的目的当然是为了在广阔道路上开车,学琴的目的当然是为了能够弹出完整的曲子。编程的目的,自然是能够写出实际可用,能够解决实际问题的程序。

如果老是沉浸在基础语法、加减乘除和猜数字游戏中,无异于天天在驾校场内练习靠边停车。

Python在爬虫、Web开发、GUI图形界面开发、数据分析、游戏开发、办公自动化等众多领域都有很好的应用。在熟悉了基础的语法之后,你大可根据自己的实际需求,或身边的痛点,进行定制化的编程。用编程解决实际的问题,既提高了工作和学习的效率,又加深了对编程语言的理解,一举两得。

六、参与开源项目

如果你觉得仅仅写一些处理身边事务的功能性脚本缺乏系统性,那么试着维护或参与一个开源项目或许是一个更好的选择。

参与一个开源项目,意味着自己需要对那个开源项目的某个模块、功能的代码能够有效地进行理解,理解其现实逻辑、理解其代码逻辑、理解其功能所涉及模块的使用,这无疑需要自己主动地去学习和了解。

而自己维护一个开源项目的话,则从项目立项开始,让自己有一个全局的设计和思考。自己作为一个顶层设计者,要设计项目的各个功能、考虑各个功能的技术和方案选型、方案选型的具体实现方式等等。

除了顶层的思考设计能力,开源项目代码公之于网络,也有如第三点所言的分享交流的效果。

除此之外,开源项目获取网友的认可,还能收获编程的正向反馈,成为自己更新、优化、提升自己编程功力的动力。

像开源的Markdown文档系统——觅道文档,本身是基于自己需求进行开发的一个项目,在项目不断完善、不断受到用户认可的过程,促使自己自己不断优化功能、不断补充欠缺的知识点、不断了解更优的方案。


我27才开始学


想从头开始学,再想从买一本好的参考书开始学,……算了吧,


有毅力就自学吧,多学多练,实践很重要。


很好啊,人生苦短,我用Python。

不过话说回来,还是要勤加练习,多动手操作,保持代码的习惯


作为BAT的Java开发工程师,恭喜你在合适的年纪找到了对的方向。因为Python可以说是现在少有的应用十分广泛,却又十分容易自学的编程语言了。不论你是想做数据分析与处理,还是web开发,或者去做人工智能,甚至去航空航天领域,Python都能够帮助你实现梦想。

入门简单

与C语言和JAVA比起来,Python的入门门槛简直不要太低,我举一个我同事的例子,来帮助你提高信心。

我们有一个server服务在起步阶段,还只是个单点,但是由于比较重要,部署在Linux虚拟机上之后,同时需要部署监控,一旦发现服务异常立刻重启服务。这个监控脚本的编写工作就交给了一个入职半年,只会php和Java的同事。他最开始也很害怕,觉得自己从来没有接触过Python,就要写这么重要的脚本,很忐忑。结果,一个入职4年的同事稍微指点了他,基本上花了一个下午查阅资料,测试,他就完成了监控,重启,切Nginx的全部功能。

所以,Python的简单语法使它读起来更像一篇有点复杂的英文,而不是晦涩的编程语言。如果你之前有了解过其他编程语言,那么学习Python就更加容易了。

学习方法

接下来简单介绍几个学习Python的网站,互联网时代,不用什么都依赖书籍了,完全可以现在网站上学习Python的基本概念,然后再投入到书籍中进行系统的补充。分别是Python菜鸟教程与廖雪峰的Python教程,为了避免广告,我就不放网址了,大家可以用这两个关键字自行去百度搜索。这两个网站的功能是相似的,选择一个进行学习就够了。

在学习的过程中,一定要勤于做笔记以及反复将知识进行对比。比如我在看廖雪峰的网站的时候,就发现Python与java等语言不同,在创建变量的时候,无须指定变量的类型是int还是str,而且像list和tuple是通过[],()这种标志来区分的,也就是说[1,2,a]是一个list,而(1,2,a)就是一个tuple了,不仅如此,在后面用到dic和set的时候,还有其他的差异。

在第一次看的时候,可能走马观花的就觉得自己记住了,但是如果能够在看的时候,自己主动回忆起过去的知识并积极对比,就能帮助加深记忆,提高学习效率。

这两个网站从Python最基本的知识,讲到网络编程,数据库开发,到最后的IO访问,可以说是相当全面了。在掌握了这些知识后,就要自己去写一个小工程来检验自己的学习成果了。由于Python对环境的要求并不高,自己编写程序调试的成本也低,因此非常建议在学习过程中,就主动寻找do,多敲代码,尽早加深对所学知识的理解与掌握。

等到你能够用Python把自己的想法付诸于代码之后,就可以把自己的想法发布在论坛上,其他Python爱好者通常会给你一些有用的建议,反复在这个过程中提高自己,你的Python能力就能不断提高,最终达到工业级水平,这个时候,你就可以尝试Python工程师的工作了。

最后,祝愿有心学习Python的朋友都能快速进步,早日达到工业级的水平。如果觉得这些有帮助,欢迎给我点赞留言。

我是苏苏思量,来自BAT的Java开发工程师,每日分享科技类见闻,欢迎关注我,与我共同进步。


首先明确重点。最开始学习的时候可以先到招聘网站上去了解一下Python相关的工作岗位的任职要求,都需要学习哪些技术,有个大概的了解,哪些技术才是重要的,这样也好在学习的过程中把握重点,然后规划好相应的学习路线,找到相关的教程开始学习。

其次就是打好基础,Python入门不难,入门后的不断学习是非常中重要的。在此期间注意养成一些良好的编程习惯,因为编程风格的好坏很大程度上影响了程序的质量。良好的编程风格可以使程序结构合理,后期维护起来也是非常的方便的。

学习编程,最重要的还是实践。看再多的书和视频,如果不亲自去实践,不去敲代码是没有效果的,很多人学习编程都有的感受,能听懂,也能看懂,但是真正自己去实践的时候就错误百出,所以说亲自实践还是挺重要的。

“如鹏网”Python+AI学习路线。

具体的可以到“如鹏网”上去了解一下,有网络的地方就可以学习。根据自己的时间来灵活安排学习进度,每个章节的后面都有大量的练习题和面试题,需要通过录音的方式来进行提交,为面试做准备,有新的课程更新了,也是可以继续来学习的。


python作为一门解释性语言,其设计之初就是降低编程入门的门槛,面向大众,随着当今大数据、人工智能、机器学习的兴起,python的应用也越来越广泛,学习python最重要的还是要掌握基本功,多学多练,找准一个有前景的方向,学精学透就行,下面我简单介绍一下学习python的过程:

1.搭建本地python环境,新人入门的话,可以安装Anaconda,这个软件集成了python解释器及众多第三方包,还自带开发环境spyder,ipythonnotebook等,使用起来很不错:

notebook开发环境,基于浏览器,使用起来很方便:

2.入门python基础知识,包括列表、字典、元组、变量、函数、类、文件操作、正则表达式、模块等,一步一步练习,同时可以做一些小练习或小项目,加深理解和掌握,掌握好基本功,资料的话,网上有很多,像慕课网,实验楼等,都不错:

3.后期,就可以找准一个感兴趣又有前景的方向加深练习了,python涉及的方面众多,像爬虫、数据处理、web开发、机器学习、运维、测试等,不可能每个方面都投入精力,坚持一个方向就行,不断积累经验,提升能力:

就介绍这么多吧,最主要的还是要掌握基本功,然后找一个有前景的方向坚持下去,不断积累经验,一定会学有所成,网上也有相关资料和教程,可以搜一下,希望以上分享的内容能对你有所帮助吧。


原始地址:/yule/625.html