python的重要细节

is与==

is身份运算符用于比较两个对象的存储单元,判断两个标识符是不是引用自一个对象。

x is y, 类似 id(x) == id(y) , 如果引用的是同一个对象则返回 True,否则返回 False。

is与==的区别: is 用于判断两个变量引用对象是否为同一个, == 用于判断引用变量的值是否相等。

多重继承下异常的先后捕获

捕获父类异常,子类异常可以正常抛出

class ParentException(Exception):
    def __init__(self):
        Exception.__init__(self, "Parent Exception")


class ChildException(ParentException):
    def __init__(self):
        Exception.__init__(self, "Child Exception")


def test_Exception():
    """
    捕获父类异常,子类异常可以正常抛出
    :return: 
    """
    try:
        raise ParentException
    except ParentException as e:
        print("catch Exception:%s" % e)
    try:
        raise ChildException
    except ParentException as e:
        print("catch Exception:%s" % e)
    try:
        raise ParentException
    except ChildException as e:
        print("catch Exception:%s" % e)

results matching ""

    No results matching ""