基本语法不同
语句结束 分号/换行
代码块 大括号/缩进
注释 // #,以及多行注释的不同
java所有代码都定义在类中,python没有强制要求
python:是面向过程和面向对象的综合
java:是面向对象
三目运算符
java:
x ? y : z;
python:
y if x else z
定义
类型系统
python不需要定义类型,这种变量本身类型不固定的语言称之为动态语言,与之对应的是静态语言
- Java:Java是一种静态类型语言,所有的变量在使用前都需要声明类型,并且在程序运行期间类型不能改变。
- Python:Python是一种动态类型语言,变量的类型在运行时确定,可以在程序运行期间改变
作用范围:
定义开始到定义它的代码块结束,python没有代码块的范围限制
其他不同范围
python:
L (Local) 局部作用域 和java里的局部变量类似 E (Enclosing) 闭包函数外的函数中 G (Global) 全局作用域 B (Built-in) 内建作用域
布尔型值的表示不同
方法定义
java
[修饰符] 返回值类型 方法名([参数类型 形式参数 1,参数类型 形式参数 2,……]) {
执行语句; [return 返回值;]//需要的话
}
参数列表(参数的类型 ,参数的个数,参数的顺序)
只要上述有一个不一样,那么这个参数列表就不一样!对于方法而言,即使同 名也不是同一个方法,也就是下面讲的方法签名。
返回值类型:事先约定的返回值的数据类型,如无返回值,必须给出返回类型 void。
java 语言中调用方法:对象名.方法名(实参列表)。
python
python调用,若是类中的需要对象名.方法名(实参列表),否则导入模块后直接可以使用
编译器与解释器
编译器/解释器:高级语言与机器之间的翻译官
都是将代码翻译成机器可以执行的二进制机器码,只不过在运行原理和翻译过程有不同而已。
那么两者有什么区别呢?
用一个通俗的例子进行比喻:我们去饭馆吃饭,点了八菜一汤。编译器的方式就是厨师把所有的菜给你全做好了,一起给你端上来,至于你在哪吃,怎么吃,随便。解释器的方式就是厨师做好一个菜给你上一个菜,你就吃这个菜,而且必须在饭店里吃。