python3raise,assert,nonlocal 关键字解读

Posted 燕山北

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python3raise,assert,nonlocal 关键字解读相关的知识,希望对你有一定的参考价值。

raise

Python 使用 raise 语句抛出一个指定的异常。

raise语法格式如下:

raise [Exception [, args [, traceback]]]


## try……finally

try-finally 语句无论是否发生异常都将执行最后的代码。

assert

Python assert(断言)用于判断一个表达式,在表达式条件为 false 的时候触发异常。

断言可以在条件不满足程序运行的情况下直接返回错误,而不必等待程序运行后出现崩溃的情况,例如我们的代码只能在 Linux 系统下运行,可以先判断当前系统是否符合条件。
语法格式如下:

assert expression
等价于:

if not expression:
    raise AssertionError
assert 

后面也可以紧跟参数:
assert expression [, arguments]
等价于:

if not expression:
    raise AssertionError(arguments)

以下实例判断当前系统是否为 Linux,如果不满足条件则直接触发异常,不必执行接下来的代码:

实例

import sys
assert (\'linux\' in sys.platform), "该代码只能在 Linux 下执行"

# 接下来要执行的代码

nonlocal

nonlocal跟global 这两个关键字非常像,不同之处在于nonlocal用于外部函数作用域的变量,而global用于全局范围内的变量



以上是关于python3raise,assert,nonlocal 关键字解读的主要内容,如果未能解决你的问题,请参考以下文章

assert函数应用

assert用法

Junit——Assert断言

在 Chai 断言库中,当我们已经有“assert.deepEqual()”和“assert.strictEqual()”时,“assert.equal()”有啥用?

[PHP] assert()断言检测函数

C++中的assert