Python和Java的区别

个人的一些小总结,也有参考别人的,谢谢

区别:

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 多。

一些细节区别:

  1. python只有四种数据:整数,长整数、浮点数和复数
    java则有char,short,byte,int,long,float,double类型

  2. 字符串

    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传递)。

  1. 操作符

    Python中**表示幂计算,如果 X**y表示 Xy
    Python中//表示整除,即商的整数部分
    Python中表示按位翻转,x就是-(x+1)

  2. 对象的序列化表示

    Python中可以使用str()或repr()函数来实现对象的序列化
    Java中通过toString()方法来实现对象的序列化

注意:序列化 (Serialization)将对象的状态信息转换为可以存储或传输的形式的过程。


关于变量:

  1. 定义:无需声明类型,且必须赋值;

  2. 使用范围:在变量前加两个下划线如:__content = “haha”代表该类变量私有,不加则默认公有;

关于列表:

  1. 列表:有序且可以修改,用[ ] 来定义,和java数组类似;

  2. 元组:无序且无法修改,用 ( ) 来定义,只有一个元素时,需要在元素后面加逗号 “,”;

  3. 字典:用 { } 来定义,和java的Map类似,需要键值对且键不可重复,值可以是任何类型,一个字典的所有值可以类型都不同;

关于面向对象:

  1. 定义方法用def +方法名,且类里面的每个方法必须含有入参且必须是第一个入参self;

  2. def__init__(self): 是一个类的构造方法或初始化方法;

  3. 和java相比调用方法无需new;

  4. 实现继承例:class Child ( Parent ): Child类继承Parent类,可继承多个类,在Parent后用“,”隔开;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值