Python的定位?
时间:2021-07-01 10:21:17
帮助过:3人阅读
Python与Java各自适合的场景是什么样的?有什么不同定位?
回复内容:
python能做什么?
1, 网站业务逻辑的开发
python有一个优良的网页开发框架django, django支持各种主流数据库,有好用的orm系统和模板系统,完善的第三方库能帮助解决遇到的大部分问题。 并且支持各种操作系统。
2, 数据分析和科学计算
python有numpy,scipy等一大批科学计算库,有pandas数据分析库 还有matplotlib等绘图库,在科学计算和数据分析领域已经成为主流语言
3, 网络爬虫
scrapy做为python实现的爬虫库,被广泛使用,同时python还拥有beatifulsoup, pyquery等html解析库 requests网络库可以用来做爬取和分析用途。
4, 自动化运维
主流的操作系统都集成有python, 同时自动化运维领域主流技术栈 saltstack和ansible也是基于python技术开发。可以使用python打造强大的自动化运维工具。
java能做什么?
1 大数据分析
java拥有完整的大数据技术体系,包括但不限于hadoop, hbase, spark, storm 用来处理海量数据。
2 分布式集群
java有大量功能完善的分布式服务中间件,避免重新开发此类服务。 这些中间件包括zookeeper, kafka, hdfs等等
3 搜索引擎
搜索引擎目前也是java一家独霸, java 的elasticsearch是目前最好的开源搜索引擎,此外围绕elasticsearch的elk日志分析工具也已经形成了生态链 发挥着越来越多的用途。
所以从上述分析可以看出,python更适合用在创业开发或者对业务变化需求非常高的公司。
而java更适合对业务要求稳定, 并且有海量数据需要处理的公司!
我以我的用Python做出来的东西来说吧
##搭建网站后台
我曾经使用JSP写网站后台,非常痛苦难受,总之感觉继续学下去我就要转行那种感觉,然后我接触了Python,因为其他的大项目还没推出,附上自己建的个人博客吧,基于Python
http://aljun.me
##写爬虫
Python写爬虫的酸爽简直难以置信,首先本来他对网络访问支持就非常好,然后爬虫库如scrapy,pyspider,requests(这个好像不能算爬虫库)之类的写爬虫溜得飞起啊
##科学计算
当时我是要做数学建模大赛,除了我以外基本上所有人都选择使用MATLAB,但我还是使用Python那三件套(matplotlib,nunpy,scipy),加上使用Python读取题目给的excel数据,然后Python代码又非常直观,读起来和英文一样,我两个不懂计算基的队友都能很快看懂我是不是用代码表达了他们的想法
Python 和 Java都是 通用语言 (general purpose) 就是说干啥都干的了。它俩最大的区别是:python 是动态类,Java是静态类。
动态类的好处是写的爽,但是跑到慢。而且项目大了容易把自己搞糊涂。适用于:scripts, (因为小) 网络应用(因为速度无所谓网速慢多了)
静态类安全快,但是写的蛋疼。适用与大型网站或服务。
机器学习和数据挖掘的全栈语言。有人答java有分布式平台。其实这些分布式平台在应用上同样支持Python 。
额...其他方面的应用我不太清楚。但是作为科技研发用的simulation工具,python是很理想的。很大程度上可以替代matlab等传统工具(当然simulink, auto code generation这种是不行的...)。另外python可以支持functional programming,所以作为ai/algorithm研究的工具也可以。语法简单,数学库比较成熟,免费,实现快是优点。
我的建议是,任何把科研作为以后方向的同学,都可以把python作为第一计算语言来掌握。其他方面我不了解,所以不予置评。
几乎是万能的,创业公司的首选
小网站有ASP和PHP,大网站有Java和.net,Python只夹在中间寻求发展,不过天下之大,应用软件和网站那么多,谁也不肯能独霸市场!
其实python什么都能干,但是主要集中在web、服务端、数据分析、科学计算、数据服务等领域。方向还是比较多的,题主一定要选好方向,不喜欢的方向做起来其实也是痛苦的。
搞原型的最佳选择,特别是网络和科学方面,要知道美国很多大学非计算机专业教python而不是谭浩强,所以各种稀奇古怪的库都有,现在很火的人脸识别,机器学习,神经网络都有成品
因为简单,上手快,所以新手生产率也不错,想玩好就是另外一回事了。