python和java

【转载】:

1、区别:

  • java版本稳定,python2和python3之间不兼容;
  • java是静态类型语言,所有变量都必须声明类型,Python是动态类型语言,不需要声明类型;
  • java需要编译后才能运行,而python直接运行不需要编译;
  • java代码不需要严格对其,python同级代码需要严格对齐;
  • java中通过toString()方法实现对象序列化,而python通过str()或repr()函数实现。(序列化:将对象的状态信息转换成可以存储或传输的形式的过程)。

2、python语言的运行机制:

  • 编译型语言和解释行语言:
   计算机语言是不能识别高级语言的,所以在运行一个高级语言程序的时候,就需要一个“翻译机”来从事把高级语言转成计算机能读懂的机器语言的过程。这个过程分为两类:编译和解释:
   编译型语言在程序执行前,先会通过编译器对程序执行一个编译的过程,把程序转变成机器语言。运行时就不需要翻译直接执行,代表C;
   解释型语言就没有这个编译过程,而是在程序运行时,通过解释器对程序逐行做出解释,然后直接运行。
   随着java语言的兴起,我们又不能单纯的把语言范围编译语言和解释语言。java时首先通过编译器编程字节码文件,然后在运行时通过解释器给解释成机器文件,所以java是先编译再解释的语言。
   
   python和java一样,也是一门基于虚拟机的语言,我们先从表面上简单了解下python运行过程:
   当我们输入python hello.py时,其实是激活了“python解释器”,告诉解释器:准备工作。可是在“解释”之前,还要执行一次编译工作。所以python也是先编译再解释的语言。
   我们先了解2个概念:pycodeobject和pyc文件,
   当python程序运行时,编译的结果保存在位于pyCodeObject中,当python程序运行结束时,python解释器则将pyCodeObject写回到pyc文件。
   当python第二次运行时,程序会在硬盘中寻找pyc文件,如果找到直接载入,否则重复上面过程;

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值