您的位置:首页 > 编程语言 > Python开发

Java与Python的区别

2017-02-28 22:27 169 查看
Java原有的基础上,学习Python是一种很全新的体验,他们在开发上存在很多不一样的感觉,如果说Java是把全功能的武器,那么Python就是最轻便的AK47,在某种程度上大大优化了代码的书写,与此同时,还创造了很多不一样的特性,针对功能和业务模块更给力的开发,以下是我在学习过程比较深刻的体会。

一:Python语法更简洁

Python的HelloWorld 程序只要一行代码:

[python] view
plain copy

<span style="font-size:12px;"><span style="font-size:12px;">print("Hello World")</span></span>  

Java的HelloWorld 程序却需要多行代码:

[java] view
plain copy

<span style="font-size:12px;"><span style="font-size:12px;">public class HelloWorld {  

    public static void main(String[] args) {  

        System.out.println("Hello World");  

    }  

}</span></span>  

Python语言用一行代码就能实现Java多行代码才能实现的功能,从某种意义上看,Python比Java语言更具灵活性,而且代码简单,清晰明了,方便开发者理解,从这个层次去看,Python的优势是入门快、开发效率快,而Java语言则是强调整体性,统一性,注重模式开发,通过大量的类、接口的调用,实现功能以及业务,。

二、语言层次

Python一门强类型、动态型语言,而Java是一门强类型、静态型语言。

在这之前,我一直以为脚本语言都是弱类型的语言,直到接触Python,才真正意识到车有车道、马有马道,不同语言之间是不能以偏概全的。但是Python依然能够为开发者创建一个很灵活的语言环境。

[python] view
plain copy

<span style="font-size:12px;"><span style="font-size:12px;">>>> foo = 'kiss'  

>>> print(foo)  

kiss  

>>> foo = 3  

>>> print(foo)  

3  

>>></span></span>  

从上面可以看出Python变量无需指定类型,运行过程中可以随时改变变量的类型。

而Java定义变量时必须明确指定类型,而且指定类型后就永久就是这种类型了

[java] view
plain copy

<span style="font-size:12px;"><span style="font-size:12px;">String foo = "bar";  

System.out.println(foo);  

foo = 3.566;//编译报错  

System.out.println(foo);</span></span>  

由此可见,Python的语言特征能为开发者提供一个很灵活的开发环境,但是,类型的转换往往会损耗大部分的性能,而Java在这方面则进行了严格的规范,减少类型转换机制,提高性能。

三、语言的处理

Python属于解释型语言

Java属于编译型语言

Phython在运行过程中,直接解释源代码,同时会分析语法等等,同样,Phython解释工具里面也有很多库,这些库都是本地库,所以解释的速度非常快。

Java编译的目的是为了提高代码的紧凑性,当然还有其他一些技术,不用在解释期间再来分析语法等等的内容,java在运行期间并不是简单的解释,其实也是解释,比如调用一些java库,这些java库其实是本地的机器语言,速度非常快,但是你自己写的一些简单的算法基本上是解释运行了,但是有些可以预见性的语法编译后都会被看做调用库,这个是java编译器做的事情,目的是为了加速

四、细节上的差别

①JAVA 引入包后,调用包的方式比 Python 要简洁些,而 Python 直接 import 包则是显式的,不会出现同名模块/类冲突的问题,如果使用“from module import function”的话,在使用的时候也很简洁却要求必须有针对性地引用函数。

②JAVA 里的块用大括号对包括,Python 以冒号 + 四个空格缩进表示

③JAVA 的类型要声明,Python 的类型不需要

④JAVA 基本上是类/结构操作,也就是面向对象处理,Python 可以以独立的函数模块来处理逻辑而不需要放到类中

⑤JAVA 每行语句以分号结束,Python 可以不写分号

⑥JAVA 中的字符串以双引号括起来,Python 中单引号或双引号都可以

从以上的细节可以看出,Python相比与Java可以使用更少量的代码实现业务和功能,而且更强调灵活性,对于语法和书写的规范没有很严谨的要求,将着重点放在了功能的实现上。

四、总结
通过一段时间对Python的摸索,能够感受到Python语言的机制能够为我们书写带来一定的简便性,可以说,如果学了Python,可能就不行学Java了,因为Python的语言环境比Java轻松简单太多了,如果先学习了Java,再学习Python,可能会产生一种为什么Python语言开发者这么不注重格式规范,每种语言都有每种语言的优越性,在我看来,Java是为了大型项目而生的,多种框架的实现让Java能够轻而易举的实现模块功能的开发,而Python则是专注与小项目,小功能模块,简单的脚本语言,简单的功能实现,都可以通过Python语言来实现,各自分工,再相互结合,才是各种开发语言合理存在,合理利用的必然原因。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  python java