课程咨询: 400-996-5531 / 投诉建议: 400-111-8989
认真做教育 专心促就业
对于许多零基础转行互联网开发的人来说,python编程开发语言可以说是非常有吸引力的。今天,我们就一起来了解一下,掌握python编程语言可以做哪些方面的工作。
Web开发
像Django和Flask这样基于Python的Web框架近在web开发中变得非常流行。
这些web框架帮助您用Python创建服务器端代码(后端代码)。这些代码在您的服务器上而不是在用户设备以及浏览器上(前端代码)运行。如果您不熟悉后端代码和前端代码之间的区别,请参阅下面脚注。
但是,等等,我为什么需要web框架呢?
那是因为web框架让构建通用后端逻辑变得更简单了。这包括把不同的URL映射到Python代码块、处理数据库和生成用户在浏览器中看到的HTML文件。
我应该用哪个Python web框架?
Django和Flask是两种流行的Python web框架。如果您刚刚开始学习,那么可以用它们中的任何一个。
Django和Flask有什么区别?
Gareth Dwyer有篇关于这个话题的文章写得非常好,我在这里引用一下:
<引用开始>
主要的对比:
Flask提供简洁、灵活和细粒度控制。它很是客观(让您决定如何实现想要的东西)。
Django提供一种包罗万象的体验:您可以获得管理面板、数据库接口、ORM(object-relational mappling,对象关系映射),还有开箱即用的应用程序和项目的目录结构。
您应该选择:
Flask,如果您专注于体验和学习机会,或者您想对选用哪个组件有更大的控制权(例如您想使用哪个数据库和如何与它们交互)。
Django,如果你专注于终的产品。特别是如果您正在做一个简单的应用程序(如一个新闻网站、电子商店,或者博客)并且希望有一个直接明了的做法。
换句话说,如果您是位初学者,Flask可能是个更好的选择,因为用到的组件比较少。如果您想要更多的定制,那么Flask也是个更好的选择。
而且,根据我的数据工程师朋友Jonathan T Ho的看法,Flask更适合创建那些所谓的REST API的东西,因为它比Django更灵活。
另一方面,如果您想构建一些简单的东西,Django会让您更快地达到目标。
好,我们接着谈谈下一个!
数据科学 —— 包括机器学习、数据分析和数据可视化
,我们来回顾一下什么是机器学习。
机器学习可实现一些算法,能自动检测给定输入中的模式。
比如,您给机器学习的算法提供1000张狗的照片和1000张桌子的照片。那么,它将会学习区别狗和桌子。当您给出一张狗或桌子的新图片时,它将能够识别出是狗还是桌子。
我认为,这和婴儿学习新事物有点类似。婴儿是如何知道一样东西看起来像狗,而另一样东西看起来像桌子呢?可能就是从大量的例子中学到的。
您也许不会明确地告诉一个婴儿:“如果一样东西是毛茸茸的,并且有着淡棕色的毛发,那么它可能是条狗。”
您可能只是说:“那是条狗。这也是条狗。这是桌子。那也是桌子。”
机器学习算法的工作方式大致相同。
您可以把同样的想法应用于:
推荐系统(像YouTube、Amazon和Netflix在用的)
面部识别
声音识别
您可能听说过的流行的机器学习算法包括:
神经网络
深度学习
支持向量机
随机森林
您可以使用任何一个上述算法来解决我刚才解释过的图片标注问题。
将Python用于机器学习
有一些流行的Python机器学习库和框架,其中流行的两个是scikit-learn和TensorFlow。
scikit-learn附带了一些更流行的内置机器学习算法。我刚才提到了其中的几个。
TensorFlow更像是个低级库,它允许您构建自定义机器学习算法。
如果您刚开始一个机器学习项目,那么我建议您先用scikit-learn。如果您开始遇到效率问题,那么我建议用TensorFlow。
脚本编写
什么是脚本编写?
通常,脚本编写是指编写小程序以让简单任务自动化。
我在这里给您举个来自我个人经验的例子。
我曾在日本的一家小型初创企业工作,我们有个电邮支持系统,用来回复客户通过电邮给我们提出的问题。
我在那里工作的时候,我的任务是计算含有特定关键字的电邮数量,这样我们才可以分析我们收到的电邮。
我们本来应该用人工统计,但是,我写了个简单的程序/简单的脚本来自动完成该任务。
事实上,那时我们是用Ruby编写脚本,但是,对于这样的任务来说,Python也是个不错的语言选择。Python适合这种类型的任务主要是因为它有相对简单的语法并且容易编写。用它来写些小程序并进行测试花不了多少时间。
那些嵌入式应用呢?
对于嵌入式应用,我不在行,但是我知道Python可以配合Rasberry Pi工作。它在那些硬件发烧友中非常流行。
那么游戏呢?
您可以用PyGame库来开发游戏,但是,它不是流行的游戏引擎。如果把游戏作为兴趣爱好,您可以用它来构建项目,但是,如果您真的要做游戏开发,我个人不建议选择它。
相反,我推荐您用Unity的C#脚本,它是流行的游戏引擎之一。它允许您在很多平台上构建游戏,这些平台包括:Mac、Windows、iOS和安卓。
那么,桌面应用呢?
您可以用Python的Tkinter来开发,但是它似乎不是流行的选择。
相反,用Java、C#和C++等语言开发桌面应用看起来更流行。
近,一些公司也已经开始使用JavaScript来创建桌面应用程序了。
比如,Slack的桌面应用程序是用Electron来构建的。它允许您用JavaScript来构建桌面应用。
就我个人来说,如果我要构建一个桌面应用,我会用JavaScript。它允许您复用web版本的某些代码(如果有的话)。
作者:YK Sugi
译者:姚佳灵
节选:infoq
【免责声明】:本内容转载于网络,转载目的在于传递信息。文章内容为作者个人意见,本平台对文中陈述、观点保持中立,不对所包含内容的准确性、可靠性与完整性提供形式地保证。请读者仅作参考。