Python学习笔记--assert(断言)

为什么要用assert断言语句?

        在写代码过程中使用assert是一个非常好的习惯,在一个程序还没完善或者测试好之前,我们不知道程序那里会出错,与其让他在运行时崩溃,不如在出现错误条件时就触发异常。assert可以在条件不满足程序运行的情况下直接返回错误,而不必等待程序运行后出现崩溃的情况

assert的语法格式为:

assert expression

等价为:

if not expression:
    raise AssertionError

此处若expression为false,则会触发异常,assert的作用是用来声名某个条件为True

为assert断言语句添加异常参数:

语法为:

assert expression [, arguments]

等价为:

if not expression:
    raise AssertionError(arguments)

assert的异常参数,其实就是在expression后添加字符串信息,用来解释断言并更好知道哪里出了问题

例子

assert year in ["2007", "2012"], "year must be in ['2007', '2012']"

这个是我在读VOC数据集代码中的一行代码。意思是:若year in ["2007","2012"] 为 True,则继续运行下一行代码,若为 False,则触发异常,并显示“year must be in ['2007', '2012']”

assert os.path.exists(txt_path), "not found {} file.".format(txt_name)

上面这段代码意思为:若txt_path这个路径存在,及os.path.exists(txt_path)为True,则继续执行下面的代码,若为False,则触发异常并显示"not found txt_path file“

你可能感兴趣的:(python学习笔记,python)