Python入门 -- 比较

1、类型比较

1.1、python

python中提供了type()和isinstance()两个函数用于类型比较,即判断两个对象实例是否来自同一个类。

type和isinstance的差别:

  • type()不会认为子类是一种父类类型。
  • isinstance()会认为子类是一种父类类型(和java中的instanceof效果相同)。

1.2、Java

Java中提供了instanceof运算符进行类型比较。例如:

//如果a和b是同一个类,或者a是b的子类或者实现类时,返回true
a instanceof b

 2、值比较与引用比较

2.1、python

python中:

  • ==:与Java中不同,python中的==不用于比较引用,而用于比较两个对象的“值”是否相等
  • is/is not效果和Java中的==相同,用于判断两个引用是否指向同一个对象。

2.2、Java

Java中:

  • ==比较引用,只有两个引用指向同一个对象时,才返回true
  • Java中没有直接的可以用于比较值的方法。equals()方法默认比较引用,但是可以通过重写来实现值比较。其中String类默认重写了equals()方法。由于String是不可变类,所以比较两个两个字符串的值是否相等时,使用a.equals(b)

 

 

    原文作者:python入门
    原文地址: https://my.oschina.net/pierrecai/blog/978944
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞