博客信息

Python基础 VS JAVA基础

发布时间:『 2019-07-03 23:45』  博客类别:Python  阅读(754)

Python基础 VS JAVA基础

由于Python与Java都属于面向对象的编程语言,所以这两种语言在很多方面有共通之处;

但是Python属于弱语言,Java属于强语言,这也造成了两种语言在有些地方又存在差异性;

接下来,我们来盘点Java与Python两种语言异同之处:

1、变量:

Java:八大基本类型及引用数据类型

Python:基本类型(int、float)及引用数据类型

2、运算符:

java:很多(这里用******代替)

Python:******、**(幂运算)、//(整除)

注意:在这里Python中*,可以代表重复运算

支持Python语句同步运算

3、引用类型

Java:List、set、map

Python:List(列表)、tuple(元组)、dict(字典)

4、函数

Java:

1.1、语法

public(修饰符) static(修饰符) void(返回值类型) add(方法名) (String(参数类型) s(形参))

1.2、可变参数

可变参数(*args,**kwargs)

1、Xxx是类型,一旦确定,里面只能填写一种类型的参数,当然个数也可变

Python:

1.2、语法

def add(方法名)(s(形参))

1.2、可变参数

可变参数(*args,**kwargs)

1、支持基本类型的可变

2、支持引用类型字典的可变

3、可同时支持两种

5、文件

Python:

分两块

1、文件内容的操作(交给文件对象完成)

2、文件本身的操作(交给系统的模块去完成)

Java:

文件内容和本身相关的操作,都交给创建的文件对象去完成


6、面向对象(封装)

Python:

0、通过内置的__new__()方法,进行对象的内存分配

1、通过内置的__init__()方法,进行对象的初始化

2、私有属性的定义(__属性名)

3、魔法方法(Python解析器编译时默认加上的方法) __str__()

Java:

1、通过构造方法,进行对象的初始化

2、私有属性的定义(Private修饰属性名)

3、Object的方法 toString()

7、面向对象(继承)

Python:

1、支持单继承、多继承

2、方法重写的概念(只要方法名相同,那就是方法重写)

注意:子类重新定义了__init__()方法后,父类的初始化方法就失效了;

如果想调用父类的方法可以使用super().__init__()

Java:

1、只支持单继承,但是有多实现

2、方法重写和方法重载那是两个不同的概念

注意:子类重写父类的构造方法时,会默认在第一行加上Super(0,自动调用了父类构造方法

8、面向对象(多态)

Python:

isinstance() 判断当前对象的类型

issubclass() 判断当前对象是不是某个类的子类

java:

instanceof 判断当前对象是不是某个类或者某个类的子类

9、异常

Python:

语法:

Exception

try{

...

}catch(Exception e){

...

}finally{

...

}

java:

语法:

Exception

Error

try:

...

except Exception as e:

...

finally:

...

 

表格形式体现:

这里只总结不同之处,相同之处忽略,语法的不同这里也忽略


 

Python

Java

基本变量

主要intfloat

八大基本数据类型

运算符

**(幂运算)、//(整除)

省略....

引用类型

List(列表)、tuple(元组)、dict(字典)

Listsetmap

函数

可变参数(*args,**kwargs)
1、支持基本类型的可变

2、支持引用类型字典的可变

3、可同时支持两种

可变参数(xxx ...args)

Xxx是类型,一旦确定,里面只能填写一种类型的参数,当然个数也可变

文件

分两块

1、文件内容的操作(交给文件对象完成)

2、文件本身的操作(交给系统的模块去完成)

文件内容和本身相关的操作,都交给创建的文件对象去完成

面向对象(封装)

1、通过内置的__init__()方法,进行对象的初始化

2、私有属性的定义(__属性名)

3、魔法方法(Python解析器编译时默认加上的方法)

1、通过构造方法,进行对象的初始化

2、私有属性的定义(Private修饰属性名)

3、Object的方法

面向对象(继承)

1、支持单继承、多继承

2、方法重写的概念(只要方法名相同,那就是方法重写)

1、只支持单继承

2、方法重写和方法重载那是两个不同的概念


Java面向对象的封装代码

package com.javaxl.p1;

/**
 * @author 小李飞刀
 * @site www.javaxl.com
 * @company
 * @create  2019-07-04 11:05
 */
public class Demo {
    public static void main(String[] args) {
        new A();
        new B();
        new C();
        new D();
    }
}

class A{
    A(){
        System.out.println("A");
    }
}

class B extends A{

}

class C extends A{
    C(){
        System.out.println("C");
    }
}

class D extends A{
    D(){
        super();
        System.out.println("D");
    }
}


结果:AAACAD

 

Python面向对象的封装代码

class A:
    def __init__(self):
        print('A')

class B(A):
    pass

class C(A):
    def __init__(self):
        print('C')

class D(A):
    def __init__(self):
        super().__init__()
        print('D')

A()
B()
C()
D()


结果:

A、ACAD

 

说明:Python的子类__init__方法重写时,不会默认在第一行调用父类的__init__方法


over......


关键字:     Python基础  

备案号:湘ICP备19000029号

Copyright © 2018-2019 javaxl晓码阁 版权所有