https://blog.oliverxu.cn
最近网上一组消息刷爆了朋友圈,那就是Python即将纳入全国计算机等级考试和某些地区的高考。
下图来自全国计算机等级考试的官网,本文将给您介绍Python,并提供从入门到精通的学习路径供参考。
Python 是一个高层次的结合了解释性、编译性、互动性和面向对象的脚本语言。
Python 的设计具有很强的可读性,相比其他语言经常使用英文关键字,其他语言的一些标点符号,它具有比其他语言更有特色语法结构。
我们可以从TIOBE排行榜(TIOBE的介绍下面图片上自己读吧 :razz: )上看到:Python占据着第四的位置
有的编程语言由于没有文档和开发人员的支持,很不容易操作,而Python没有这个问题,因为Python存在的时间较长,和积累了很多文档、教程等宝贵的经验。Python的开发者社区拥有难以置信的活跃,也就是说不管是有无经验的老手或菜鸟,当有人需要帮助和支持时,都会及时得到反馈和回应。
不要小看这一点,受到很多企业的支持对编程语言来说是一个非常好的发展机会,比如Java有Sun和PHP赞助,C#有Microsoft的赞助。而Python在2006年受到了Google的大力支持,并且之后Google的很多平台和应用都使用Python语言。Google为Python提供了大量的文档和支持工具,有力的推动了Python的发展。
大数据的兴起和发展有力的助推Python的发展,而且Python被成功的运用到人工智能、机器学习等各种高科技中。同时Python在分析和处理数据的过程中非常便捷容易,间接的也解决了大数据的一些问题。
我第一次遇到Python是在我高一的时候,当时我参加了一个社团,有一天我们一起在机房讨论时,一个同学打开了电脑,敲下了几行代码,然后电脑界面上出现了一个倒计时的界面。WTF?那么牛逼?然后那同学向我介绍了Python的一些知识,当时的我就感觉到这东西好厉害,从那时候起对Python有了深刻的印象,平时课余时间也会稍微看看Python基础语法。但是高中学业比较紧张,没有多少时间系统的学习。在高中对Python基础的语法有了一定的了解。
然后到了大一,学习完了C语言(只能说会点语法,因为是基础课所以并没有做任何项目,但是我自认为我的编程能力比同学好太多了 :grin: )。在大一时用了两周仔细系统的学习了Python的基础语法。当你有了C语言基础时,我个人认为两周入门不是很困难。经过这两周的学习,我可以很流畅得写代码了!!!
基础十分重要,虽然Python手册非常非常详细,但是你总不能写一行语句查一下手册吧 :smile: 同时强烈建议大家一定要练好打字,学会盲打,在你打字速度超过你思考的速度时,你的编程技能肯定有所提高。
编程语言只是工具,不能为了学习语言去学习Python,我认为当有需求来驱动学习的话,效果比较好,比如,我现在和你说Python很火,然后你就跟风去学习,结果学了几周发现什么都不会,然后丧失了兴趣。最好的状态就是你有个任务,比如要完成一些数据的处理,你不想用C语言来处理,同时你也买不起Matlab,然后这时候你突然看到了我和你说Python可以实现这个功能,好了,这样你再去学习Python,你就不会中途放弃。总之,不能为了学习语言而学习(除了那些专门研究语言的大佬之外)。
Python是一门入门十分简单的编程语言,但是什么是精通?就像上面我说的,编程是来解决实际问题的,比如一个搞金融的,可以用Python做自动化交易,这就是精通,可能他写不出在专业程序员看起来非常漂亮的代码,但是在金融圈中,他是精通Python的,因为他成功的将Python用于解决实际的问题了。这样的例子适合于各行各业,无论你是什么专业,文科或理科,都不重要,重要的是你能不能用Python来解决实际问题。
Python不是因为复杂而美丽,而是因为简洁而美丽,经常,有同学在我耳边说,“看,我这个项目写了3K行代码!厉不厉害?“,哇,3K行代码,是不是很牛逼?我想,这东西我100行就解决了 :lol: 这也是很多大学生朋友们的问题,总以为写更多的代码,用更复杂的算法来解决问题是个很牛逼的事情,但我认为用简单的方法解决复杂的问题才是真本事。
欢迎加入QQ群:681976114,点击这里加群,群文件中不光有本文推荐的书籍和教程,还有大量学习资料和代码,更有许多群友互相帮助,带给你学习Python的极好的环境。
这个教程非常适合初学者,尤其是有编程经验的同学。中英文对照,可以快速掌握基础语法。
在你学习完了Python基础语法时,这时候你应该能流畅的写出一些最基本的程序了,可以拿出你的C语言的书籍,将书上所有的题目有选择的用Python重新写一遍。
习题十分重要,可以做个几十道。足够了。
1.数据采集(爬虫)
这是Python应用十分广泛的场景,很多Python初学者都是从爬虫入门的。
可以参考我的另外几篇文章,当你能轻易实现这几篇文章中的内容时,恭喜你,你入门了:
如何刷爆wordpress的数据库
扫描全国的ip并识别摄像头
我是如何分分钟采集别人的WORDPRESS博客的
2.操作系统管理、服务器运维的自动化脚本
在很多操作系统里,Python是标准的系统组件。 大多数Linux发行版以及NetBSD、OpenBSD和Mac OS X都集成了Python,可以在终端下直接运行Python。有一些Linux发行版的安装器使用Python语言编写,比如Ubuntu的Ubiquity安装器,Red Hat Linux和Fedora的Anaconda安装器。Gentoo Linux使用Python来编写它的Portage包管理系统。Python标准库包含了多个调用操作系统功能的库。通过pywin32这个第三方软件 包,Python能够访问Windows的COM服务及其它Windows API。使用IronPython,Python程序能够直接调用.Net Framework。一般说来,Python编写的系统管理脚本在可读性、性能、代码重用度、扩展性几方面都优于普通的shell脚本。
学习资料推荐,Github上有大量的这样的脚本,这样的脚本我也不知道写过多少了,现在都不写Shell脚本了 :lol: 。
3.机器学习
自从伟大的谷歌将tensorflow开源后,并推荐使用Python来编程,Python便成了许多人学习机器学习的首选,原因在于库太多了,如Scikit-Learn等,并且有着十分完善的手册和社区支持。
推荐的书籍:
4.科学计算
大部分同学应该都用Matlab来做科学计算吧,参加美赛(数学建模)应该也是都用Matlab吧!但是你知道Python也是非常优秀的哦,有许多库numpy, scipy, pandas, matplotlib, sympy, sklearn等,并且全是开源的,不像Matlab,高昂的授权费用(时代在进步,别提破解了,请支持正版)。
推荐的书籍:
5.图像识别
Opencv对于Python有着优秀完善的接口,可以根据自己的创意实现自己的想法,下图是一个识别魔方色块的图片
这一部分也是我主攻的方向
推荐的教程:
6.桌面软件(GUI编程)
PyQt、PySide、wxPython、PyGTK是Python快速开发桌面应用程序的利器。
可参考我另一篇文章:xujh.top网站压测工具
写出如下简单界面的程序只需要几分钟
7.硬件开发
最有名的就是树莓派了,跑着Linux操作系统,推荐Python进行编程
树莓派安装详细教程请看文章:无需显示器为树莓派安装系统并进行配置
文章来源地址:https://xujh.top