Python之is与==的区别

发布时间:2019-08-31 09:40:46编辑:auto阅读(1562)

    首先看几个例子:

    # -*-coding=utf-8 -*-
    a="Hello Python"
    b="Hello Python"
    print (a is b)    #结果是:True
    print (a == b)    #结果是:True
    a=[1,2,3]
    b=[1,2,3]
    print (a is b)    #结果是:False
    print (a == b)    #结果是:True
    a=[1,2,3]
    b=a
    print (a is b)    #结果是:True
    print (a == b)    #结果是:True

    运行结果:

    True
    True
    False
    True
    True
    True

    is     表示同一性测试

    ==  表示比较

    程序在查检a is b时,表示id(a)==id(b),而检查a==b时,调用对象__eq__()方法,相当于a.__eq__(b)

    a="Hello Python"
    b="Hello Python"
    print (id(a),id(b))
    a=[1,2,3]
    b=[1,2,3]
    print (id(a),id(b))
    a=[1,2,3]
    b=a
    print (id(a),id(b))

    运行结果:

    (82999696L, 82999696L)
    (83640456L, 83756168L)
    (83757576L, 83757576L)


关键字

上一篇: 学习笔记3

下一篇: Python简介———JJ