某同学问小优:“小优小优,学Java好还是学Python好?”

小优跑去问大神(90度鞠躬):“大神,大神,学Java好还是学Python好?”

大神嫌弃的看了我一眼,继续妙手生花的敲代码,良久,飘过来一句:

“初学者才争论语言,我们只看心情。”

我……

“那他们的区别是什么?”

“区别就是他们是否适合你们这些小白。”

OK,不愧是大神,那就让我们初学者,

自生自灭吧!不,自力更生吧!

下面小优就带着大家一起来看一下“Python和Java的区别!”

Python

>>>优点 :

语法简洁优美, 功能强大,

标准库跟第三方库灰常强大,

应用领域非常广,跟PHP形成了鲜明的对比!

语言方面, 举几个例子:

一切都是对象!!!

类(class本身)/函数/类方法是callable的对象

因为是对象,所以你当然可以传来传去啦. 比如:

List表达式(其他好多语言也有,但是我最喜欢python的写法):

把”1023″变成 [1, 2, 3]

(当前你可以用Lisp风格的: map(int, filter(lambda x: x != “0”, “1024”)))

对dict也是类似:

yield关键字:

当你需要返回很多东西然后一个一个用的时候, 你可以一次返回一个

装饰器@:

把something_heavy()返回的结果缓存起来(以函数名+args为缓存的键值,只缓存最近使用的10条)

运算符重载:

试试numpy, 你会惊呆的, 操作向量/矩阵跟基本类型一样方便

>>>缺点:

慢!

目测python是最慢的脚本语言,比V8上的JS还慢不少。 (研究一下描述符,你会发现python调用对象方法的开销好大!)

但是python创始人说了, 一般程序的瓶颈在于20%的代码, 所以你可以把那20%的代码用C重写(因为python是胶水语言,顾名思义,在多个语言之间左右逢源,游刃有余,用C重写部分代码当然很easy啦)

同时,你可以试试PyPy, 引入了JIT技术。

动态类型

有人说: 动态类型写时爽, 重构起来是灾难。

对于不写unittest, 不做代码覆盖率测试的人来说, 动态语言当然是危险的, 拼写错误都可能被隐藏, 重构?别捣乱!

python创始人有话说: “如果你认为编译器可以帮你解决所有问题,那你一定干编程没多久,不管什么程序,都需要写testcase, 既然要写testcase, 那么动态类型不是问题!”

Java

>>>优点 :

用几个词形容一下Java语言:优美,严谨,健壮,不易出错。

当然,使用也非常的广泛: 常年盘踞编程人员数量排行榜第一名!

各种库也非常多: akullpp/awesome-java · GitHub

同样的代码, 相比C++(甚至python), Java代码出BUG的概率要小点(当然,写的时候一般会比python长)

Java从语言设计上尽量避免了程序员犯错,比如自动垃圾回收, 抛弃无符号类型, 安全的枚举,编译期泛型检查(Java1.5之后加入的泛型,但是只是用来做编译器检查,运行时跟以前一样),强制的异常处理(遇到异常必须catch或者申明throws) 等等(当然,某些特性python也有)

Java标准库和好多第三方代码都充斥着浓浓的设计感!!!

各种设计模式到处可见。

从下面的语句可以看出一点来:

好多字, 看它们的:

C:

Python:

Java代码多,但是API可复用行更强,选择更多(我想一次读完文件,不要buffer呢?)

因为健壮安全,所以Java成了企业级后台的标准。想想银行后台, 关键地方出点bug可不得了。

>>>缺点 :

要敲好多代码, 参考上面的例子…

没有Python那些奇葩特性,灵活性不足,怎么写你还是Java, 而Python可以写的像Javascript/Lisp/Matlab…..

简单来说, Python是给人设计的(人生苦短,请用Python), C/C++更像是为机器设计的,而Java则介于两者之间。

如果你是高手,写出的代码没什么bug,也不用怎么调试, 那推荐你用python(前提是他的慢你能忍受。 当然,高手眼里, 他会的就是最好的….)

如果你写的代码bug多,大部分时间在调试代码,你可能需要了解一下Java, 或者写足够多的testcase。

以上就是小优分享给大家的

Python or Java

对于Java和Python,更多疑问or兴趣

欢迎扫码参加免费体验课

IT行业大咖现场为你解答

python下载哪个好_Python和Java到底哪个更好?相关推荐

  1. python跟谁学_Python和Java学哪个更好?

    "呵,区区三人,真不把我放在眼里." 代码山,巴哥峰,三位凶神恶煞的蒙面者正围着一位站在亭中赏云看雾的男子,这四人均抱着一个闪烁着光彩的键盘,看样子,应是这武功高强的"键 ...

  2. python下载电影天堂_Python爬虫初学:爬取电影天堂数据

    本文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,如有问题请及时联系我们以作处理. 以下文章来源于IT共享之家,作者:IT共享者 [一.项目背景] 相信大家都有一种头疼的体验,要下载 ...

  3. 为什么python下载视频失败_Python帮你把B站上喜欢的视频下载下来

    5月3日晚,央视在<新闻联播>前播放了B站青年宣言片<后浪>,这是B站首次登陆央视黄金时段,今天在朋友圈陆续看到相关的视频.最早用B站的同学都知道,B站是和A站以异曲同工的鬼畜 ...

  4. python跟java 效率_Python与Java:哪个更好,如何选择?

    Python与Java新手应该选哪个?应该是当今讨论最为热门的话题了. 在过去的几年中,Python的普及速度令人惊叹,Java的王者地位也常年不衰.目前两者的竞争愈发激烈,怎么选择成为了许多初学者萦 ...

  5. js和python前景比较好_Python,Java和JavaScript这3个编程语言未来哪个更有前景?

    编程语言未来哪个更有前景?哪个会被淘汰?这些都是初入IT行业的小白比较关心的问题.今天就借此机会,来谈谈:Python,Java和JavaScript这三门语言,到底哪个更具发展前景? 谈论这个问题之 ...

  6. python下载文件保存_python 3.3 下载固定链接文件并保存的方法

    python 3.3 下载固定链接文件并保存. import urllib.request print ("downloading with urllib") url = 'htt ...

  7. python和java哪个-Python和Java到底哪个更好?

    某同学问小优:"小优小优,学Java好还是学Python好?" 小优跑去问大神(90度鞠躬):"大神,大神,学Java好还是学Python好?" 大神嫌弃的看了 ...

  8. python结课报告_Python数据分析课程到底是学什么内容的?

    2020年12月4日,博为峰旗下学掌门召开了<Python 商业(大)数据分析师>新课程发布会.据悉,此次发布会上发布的<Python 商业(大)数据分析师>课程是在原< ...

  9. python redis 集群_python与java中使用redis集群

    1.python使用 from rediscluster import StrictRedisCluster redis_nodes = [{'host':'192.168.78.62','port' ...

最新文章

  1. mysql sleep详解_mysql sleep链接过多的原因及解决办法
  2. Kattis-What does the fox say 字符串处理+STL
  3. 一招搞定高等数学! | 今日最佳
  4. 模型预测控制 索引超出数组元素的数目(0)。_C++基础总结(二):C++基本数据类型及流控制语句详解...
  5. 【opencv】人脸检测(图片实时)
  6. 【java笔记】常用函数式接口(3):Predicate接口
  7. Xcode 7制作动态Framework
  8. 大学生论文查重软件都有哪些?
  9. Altium Designer 10 安装破解教程
  10. vue word 转换html渲染页面(mammoth)
  11. LaTex 表格的单元格划横线,分成两部分
  12. Day28.C++02
  13. PPT文件不能编辑的情况总结
  14. k线顶分型 python_顶底分型K线
  15. 【bzoj3687】简单题
  16. Android ble开发详解
  17. Java面试——多线程高并发
  18. performance的使用
  19. 前端基础 CSS 第十一章 使用CSS样式表 特效属性部分 ----暑假学习第九天
  20. 北京积分落户需要多少年才能上岸

热门文章

  1. 做美食类短视频要注意什么?配音、内容的细节不能忽略
  2. 使用Tortoise SVN Merge版本合并时遇到的合并失败
  3. 获取Spring IOC容器对象:
  4. 微信小程序获取微信运动数据并解密
  5. 计算机术语 写的意思,计算机术语简写-全称对照表
  6. 仿微博发现页吸顶效果
  7. php apk 签名验证,Android_如何安装系统认证签名过的APK,解决方法有如下两种: 第一 - phpStudy...
  8. 申请专利的流程及步骤
  9. 极客日报第79期:腾讯回应两块八卖《鬼谷八荒》:已下架并退款;iMac Pro 售完即停产;iCloud 识别姓氏闹乌龙
  10. 微服务架构下的自动化测试全链路设计思路分析