变量定义方式不同:
Java
// 在java和绝大多数常用高级语言中,都需要类型描述符来描述类型
int num = 10;
String name = "Hello";
Python
# Python不需要预先声明类型,它会自动判断
num = 10
name = 'Hello'
语句不同
Java
// Java语句必须以;结尾
int a = 10;
Python
# Python不需要加分号
a = 10
函数/方法的定义方式不同
Java
String getName(int id){
...
return "Hello";
}
Python
# python不需要使用{}来声明函数体的范围,但严格的审查缩进,因此必须保证缩进的准确性
# python不需要声明返回值类型
def getName(id): # 没有进行缩进
... # 进行了一次Tab缩进
return "Hello"
注释方法不同
Java
// 单行注释
/* 多行注释
* ...
*/
Python
# 单行注释,Python解释器会忽略该字符串
"""
注意,这种方式被包括的代码会被视为字符串,解释器并不会忽略该注释
"""
For循环不同
Java
for(int i = 0; i < 10 ; i++){
System.out.println(i);
}
Python
# Python的for更像是java中的for each
# 含义是遍历rows中的所有数据
for cell in rows:
print(cell)
异常捕获不同
Java
try{
...
}catch(Exception e){
...
}finally{
...
}
Python
try:
...
# 相当于catch
except:
...
# finally的作用是一样的
finally:
...
自增自减不同
Java
// Java如果想要为数字加一,可以使用++的方法
int a = 10;
a++;
Python
# Python不能使用++的方法,但可以使用+=的方法
a = 10
a += 1
字符串的表示不同
Java
// Java中通过''表示字符,通过""表示字符串
char c = 'a';
String s = "str"
Python
# Python中没有字符和字符串的区别,''和""都代表字符串
name = "aaa"
name = 'aaa'
主函数不同
Java
public static void main(String[] args){
...
}
Python
# Python 更像脚本,因此自己启动时__name__就是__main__,其他脚本调用自己时,
# __name__的值就是自己的名称,比如你一般都会自称我(main),但别人叫你就得叫你的名字
# 如果说你自称我的时候,那就是你自己在调用自己
if __name__ == "__main__":
...
空语句不同
Java
// 如果想声明一个空函数,直接留空就可以
int func(){
}
Python
# 如果想声明一个空语句,必须使用特定的关键字
# 之所以有这个关键字,原因就是Python必须遵循缩进原则
def func():
pass
类保护机制不同
Java
// 私有
private int aaa = 10;
// 保护
protected int bbb = 20;
// 默认
default int ccc = 30;
// 公开
public int ddd = 40;
Python
# 相当于private
__aaa = 10
# 相当于protected
_bbb = 20
# 相当于public
ccc = 30
键值对存储结构不同
Java
// 定义一个map
Map map = new HashMap()
Python
# Python中键值对不是map,而被字典替代
# 定义一个空字典
myDict1 = {}
# 定义一个字典,规则和Java类似,通过Key取Value
myDict2 = {"key": "value"}