zoukankan      html  css  js  c++  java
  • 【python3】raise,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用于全局范围内的变量



  • 相关阅读:
    DS博客作业06--图
    DS博客作业05--树
    DS博客作业03--栈和队列
    DS博客作业02-线性表
    DS博客作业01--日期抽象数据类型设计与实现
    C语言博客作业06---结构体&文件
    C语言博客作业05---指针
    C语言博客作业04--数组
    DS博客作业08--课程总结
    DS博客作业07--查找
  • 原文地址:https://www.cnblogs.com/yanshanbei/p/12258929.html
Copyright © 2011-2022 走看看