Python vs Java最直观比较

  从毕业开始做Java开发,至今差不多有十年了,相信很多朋友应该跟我一样也是做Java出身,刚学Python时候一直想知道Python和Java到底有哪些区别,搜索半天结果要么不够全面,要么不够直观,所以我就想怎样才能一目了然且全面的展示Java和Python的异同,最终通过查询各种资料,做了下面的表格分享给大家,这样通过对比可以更直观的了解。

  • 基本信息对比
Python Java
发布年份 1991年 1995年
是否开源 是,完全开源 是,OpenJDK开源
编译/解释 解释型 解释型,需要预编译
虚拟机 有,但没JVM成熟 有,比较成熟
运行效率 标准Python较低 相对较高
多线程支持 支持 支持很好,并实现多核计算
变量类型 动态变量 静态变量
语言类型 强类型(对!你没有看错) 强类型
设计方法 面向对象&面向过程 面向对象
变量声明 不需要声明 需要提前声明
类库支持 强大的标准库,支持第三方高质量库 支持大量类库
扩展性 很强,并可直接调用C/C++编写的代码 强,主要通过接口方式扩展
兼容性 Python2和Python3不兼容 整体兼容较好
开发速度 非常快 相对较慢
主要用途 数据分析,科学计算,图像算法等 商业逻辑较强,对事务支持较好等
支持者们 多为开源组织 多为商业化大公司
学习成本 较低,但额外还需学习各种类库 相对较高
  • 基本语法对比
Python Java
变量定义 a=0;
b='apple';
List = []
int a=0;
String b="apple";
List<String> list=new ArrayList<String>();
权限修饰符 双下划线"__"表示“私有”,不显示声明默认为“公共” public , protected, private
数据类型 Python2: Numbers, String, List, Tuple, Dictionary
Python3: Numbers, String, List, Tuple, Dictionary, Set
byte, short, int, long, float, double, char, boolean
算术运算符 + 、- 、* 、/ 、% 、**(幂运算) 、//(整除) + 、- 、* 、/ 、% 、++ 、--
比较运算符 == 、 != 、 > 、 < 、 >= 、 <= == 、 != 、 > 、 < 、 >= 、 <=
位运算符 & 、 | 、 ^ 、 ~ 、 >> 、 << & 、 | 、 ^ 、 ~ 、>> 、 <<
逻辑运算符 and 、 or 、 not && 、 || 、 !
成员运算符 in 、 not in 、 is 、 is not 不支持
关于null值 test = None String test = null;
循环支持 while 、 for...in while 、 do...while 、 for
类库支持 if...elif...else if...else if...else 、 switch...case
异常处理 try…except…else 、try…except…finally try…catch…finally
关于继承 可多重继承父类 只能继承一个父类
代码块 按缩进区分代码块 使用{ }来区分代码块
参数传递 引用传递 值传递
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。