个人的一些小总结,也有参考别人的,谢谢
区别:
1.Python比Java简单,学习成本低,开发效率高
2.Java运行效率高于Python,尤其是纯Python开发的程序,效率极低
3.Java相关资料多,尤其是中文资料
4.Java版本比较稳定,Python2和3不兼容导致大量类库失效
5.Java开发偏向于软件工程,团队协同,Python更适合小型开发
6.Java偏向于商业开发,Python适合于数据分析
7.Java是一种静态类型语言,Python是一种动态类型语言
8.Java中的所有变量需要先声明(类型)才能使用,Python中的变量不需要声明类型
9.Java编译以后才能运行,Python直接就可以运行;
10.JAVA 里的块用大括号对包括,Python 以冒号 + 四个空格缩进表示。
11.JAVA 的类型要声明,Python 的类型不需要。
12.JAVA 每行语句以分号结束,Python 可以不写分号。
13.实现同一功能时,JAVA 要敲的键盘次数一般要比 Python 多。
一些细节区别:
-
数
python只有四种数据:整数,长整数、浮点数和复数
java则有char,short,byte,int,long,float,double类型 -
字符串
2.1. 字符串表示
Python中没有表示单个常量字符串类型的char类型,其可以用单引号‘ ’或双引号“ ”来表示一个字符串,也可以用三引号来表示一个多行字符串
Java中char表示单个字符,String表示一个字符串,常量字符或字符串用双引号“ ”表示2.2. 多行字符串
Python在字符串末尾加上反斜杠(/)表示字符串在下一行继续
Java用加号(+)表示字符串在下一行继续2.3. Python中其它的表示方法
Python中还有可以在字符串前加前缀r或R:表示自然字符串,即不对字符串做转移处理比java方便
Python可以加前缀u或U:表示unicode字符串
注意: Python 中的__init__()方法类似与Java中的构造函数,Java构造函数中的self默认存在,不需要在构造函数声明的时候进行显示指明,但是Python需要在__init__()函数中显示指明(但是ID调用时不用显示进行self传递)。
-
操作符
Python中**表示幂计算,如果 X**y表示 Xy
Python中//表示整除,即商的整数部分
Python中表示按位翻转,x就是-(x+1) -
对象的序列化表示
Python中可以使用str()或repr()函数来实现对象的序列化
Java中通过toString()方法来实现对象的序列化
注意:序列化 (Serialization)将对象的状态信息转换为可以存储或传输的形式的过程。
关于变量:
-
定义:无需声明类型,且必须赋值;
-
使用范围:在变量前加两个下划线如:__content = “haha”代表该类变量私有,不加则默认公有;
关于列表:
-
列表:有序且可以修改,用[ ] 来定义,和java数组类似;
-
元组:无序且无法修改,用 ( ) 来定义,只有一个元素时,需要在元素后面加逗号 “,”;
-
字典:用 { } 来定义,和java的Map类似,需要键值对且键不可重复,值可以是任何类型,一个字典的所有值可以类型都不同;
关于面向对象:
-
定义方法用def +方法名,且类里面的每个方法必须含有入参且必须是第一个入参self;
-
def__init__(self): 是一个类的构造方法或初始化方法;
-
和java相比调用方法无需new;
-
实现继承例:class Child ( Parent ): Child类继承Parent类,可继承多个类,在Parent后用“,”隔开;