Python中Is和==的区别是什么?

158 阅读1分钟

Python 有两个用于平等比较的操作符,"is"和"=="(等于)。在这篇文章中,我将教你它们之间的区别,并通过几个简单的例子说明何时使用它们。

1.在Python中is和==的区别

  1. ==:检测两个 Python 对象的值是否相等。
  2. is:比较两个Python对象是否相同。

2.Python is & == 例子

  1. 在这个例子中,列表变量a和列表变量b是一样的,两个变量的值是一样的,而且两个变量也指向同一个Python对象。

    >>> a = [1, 2, 3]
    >>> b = a
    >>>
    >>> a
    [1, 2, 3]
    >>> b
    [1, 2, 3]
    >>>
    # a and b has the same value.
    >>> a == b
    True
    # a and b point to the same python list object.
    >>> a is b
    True
    >>>
    
  2. 如果我们在列表变量a的基础上创建另一个列表变量c,那么变量ac的值是一样的,但是它们指向不同的python对象。

    >>> a = [1, 2, 3]
    >>>
    >>> c = list(a)
    >>>
    # variable a and c's value is equal.
    >>> a == c
    True
    
    # but they point to different python list objects.
    >>> a is c
    False
    >>> a
    [1, 2, 3]
    >>> c
    [1, 2, 3]
    >>>