作者简介:陈澳乾,威尼斯88669918级计算机科学与技术专业2班学生。业余时间自学Python,并热衷于在公众号和CSDN网站分享学习与编程心得,积累了一定量的忠实读者。
Python学习路线图
为什么选择Python?
Python是一种代表简单主义思想的语言。阅读一个良好的Python程序就感觉像是在读英语一样。它使你能够专注于解决问题而不是去搞明白语言本身。
笔者选择Python这门语言是因为对大数据和人工智能比较感兴趣,且对新手友好。因为Python有极其简单的语法,使得它极其容易上手。
记录自己的学习历程,与其他爱好者一起交流学习,是我创建这个公众号的初心。那么简单介绍一下在本公众号里,你能学习到的内容。
首先你可以了解到Python的一些编程基础,比如工具和基础语法。当你完成Python基础语法的学习之后,你肯定摩拳擦掌的想要去实现点什么。那么密码破解,消息轰炸机,表白神器,录音机,文字识别,文件合并,格式转换,批量读写Word,Excel,绘制雪花图等等,以上内容任君挑选。
这时有同学说,上面那些我都不感兴趣,我想自己做一些小游戏玩儿。那太好了!本公众号正好可以满足这个要求,弹球小游戏,贪吃蛇,打地鼠,笨鸟先飞,外星人飞机大战。Python完全可以满足一些2D游戏的制作。
又有同学说,我要学爬虫,喜欢的资源一键下载,爬小说,爬VIP视频不要太快活。那太巧了,本公众号同样可以满足这个要求。爬豆瓣,爬淘宝,爬亚马逊,爬壁纸,爬美女帅哥图片,爬某易某q音乐,爬b站视频,弹幕......不要跟我提VIP!我能看到的东西,都是我的。
除了上面两个易学的系列。在这里你还可以学到图像处理。给证件照换底色,识别图形的质心,识别图像轮廓,相似图片找不同,答题卡识别,颜色检测,动态检测,去噪点,图像的侵蚀膨胀,边框识别,文件扫描,文字识别,图片视频转字符画。这些问题在我们的像素级别的计算下全部都可以解决。
如果你对前端感兴趣,本公众号提供了一个从0开始的个人博客网站建设教程。让所有人都可以看到你的个人网站!除了基础的前端知识,你还能学习到Linux基础命令操作,云服务器Python,MySQL环境配置,服务器部署。除此之外,我还将教你如何得心应手的使用GitHub。
总之如果你是初学者,本公众号可以帮你避免许多新人容易跳的坑,如果对Python已经有一定了解,也可以在这里找到众多有趣的项目。篇幅有限和大家就聊到这里,感兴趣的同学来找我吧!
陈澳乾和他的公众号
问答:请对比c++、c#、Java、Python、PHP等编程语言的优势和劣势、应用范围、平均薪酬情况?
C++
优点
在性能为先的前提下,C++对运行效率和开发效率做了很好的折衷。本质上讲,C++是为那种超大型项目而存在的。当某项目处于中小规模的时候,很多语言同样可以胜任,甚至比C++做得更好。但是当你的软件规模(复杂度,或者吞吐量的量级)到了一定的水平,目前现有的语言里基本上除了C++,很少有这样的驾驭能力C++和C一样,它的表达能力极其强大,唯一的限制只是编程者的能力。其他语言可以做到的c++基本都可以做到,比较全面。但是编码的时候复杂程度高一点。是一门万金油式的语言。
个人了解了之后认为c++比较全面,是百科全书类的语言。其他语言在特定领域比较好用或优于c++。且但凡是c++开发出来的软件它的时效性、稳定性、可扩展性都可以得到很好的控制。这是任何高级语言都没有办法达到的。
缺点
较c#,java来说更复杂,对新手不友好。学习周期长。
应用范围
文字处理程序及电子表格、编译器、操作系统、大型游戏
平均薪酬
应届生一般是5k左右 ,不同学校和专业工资不同。学长老师说我们这个专业市场行情起步工资较高。一般都是5k左右月。转正和随着时间推移,工资会增加。一线城市工资较高。
C#
优点
由于C#是后生,所以其很多语法都是其它语言的改进。作为一个商业产品,C++用户是C#的首要目标,所以它充分照顾到了C++用户的习惯。从整体看,C#语法比java更优雅。个人来看,C#是一门年轻的语言,集合了C++和Java的优点。C#相对C++来说易学易懂。
缺点
C#不适用于编写时间急迫或性能非常高的代码。C#缺乏性能极高的应用程序所需要的关键功能。可能是缺少一些格式或者程序。还有就是对微软的操作系统,对微软类库的依赖性极强。
应用范围
窗体应用开发、数据库应用程序开发、web应用开发、工具软件开发(绘图工具、图片浏览器、播放软件等)、游戏开发。但是大多局限于小型的项目。如快餐业、医疗业、自动控制管理等。
平均薪酬
据了解大部分C#程序员工资低于Java、C++。因为入门容易在很小的学习付出下就可以就业导致底层职务的人多。所以平均工资低。
Java
优点
Java是一门面向对象编程语言,不仅吸收了C++语言的各种优点,还摒弃了C++里难以理解的多继承、指针等概念,Java语有功能强大和简单易用两个特征。
Java具有简单性、面向对象、分布式、健壮性、安全性、平台独立与可移植性、多线程、动态性等特点。短期内很难找到可以替Java的语言。所以前景较为稳定。
缺点
运行速度慢,Java程序的运行依赖于Java虚拟机,所以相对于其他语言(汇编,C,C++)编写的程序慢,因为它不是直接,执行机器码。因为Java考虑到了跨平台性。所以他不能像语言(例如:汇编,C) 那样更接近操作系统。也就不能和操作系统的底层打交道了。运行虚拟机对电脑要求配置较高。
应用范围
PC、数据中心、游戏控制台、科学超级计算机、移动电话和互联网、大型网站及后台开发。
平均薪酬
最低工资4.5K-6K,最高工资30K-50K,大部分人工资是13k左右,各城市工资不同,工作时间不同。工资相差较多。
Python
优点
它是一种多用途,高级别面向对象,交互式,解释型和对用户非常友好的编程语。
它语法简洁优美,功能强大,标准库跟第三方库灰常强大应用领域非常广。(跟PHP形成了鲜明的对比)。Python编码风格的编码风格较简单,很容易用一点知识和正确的工具来捕捉。因此,这是初学者计划在编程职业生涯中首选的语言。常被称为胶水语言哈哈
缺点
是最慢的脚本语言(比Java还慢);没有强大的架构;Python的扩展性也不如Java。
应用范围
人工智能、大数据、网站后端程序员、自动化运维、数据分析师、游戏开发、网站开发、自动化测试。
平均薪酬
平均工资已经超过了15k、本科学历要求的占比达76%。其中:python开发工资按工作经验统计,其中0-2年平均工资¥15060,应届毕业生平均工资¥9210,3-5年平均工资¥24220+。
PHP
优点
PHP坚持脚本语言为主,所以PHP入门比较简单,经过3 4个月培训即可学成。PHP主要用来做网站开发,许多小型网站都用PHP开发,这使得PHP经久不衰。PHP具备非常成熟的开源代码和模板,因此使得PHP应用极为广泛。
缺点
受众较小,可替代性太强。因为其简单的入门学习和较短的培训周期,工资较C、Java、Python等程序员的工资较低。提升空间较低,发展比较乐观,但不稳定。
应用范围
web开发、编写桌面应用程序、客户关系管理系统)、CMS(内容管理系统)、LBS(基于位置的系统)、B2C(电商系统)、BBS(论坛系统)。
平均薪酬
入门都比较低。如果有四五年的经验的话,工资可以达到15k左右(月)。但提升上限很难。不稳定。
结束语
编程重在思想,语言只是工具。我感觉不同的编程语言就像不同的建筑材料。不同的材料有各自擅长的领域。就像搭积木一样,尽管它的颜色还有形状不一样,但是都可以造出来一栋完整的建筑。但建筑的整体外形和性能还是取决于你怎样利用这些建筑材料,即不同的编程语言。要精通,要有核心竞争力,要不可替代。
(文/图:陈澳乾)