概述
笔者由于自学Python,很多知识点较为散乱。
近日在整理中发现Python中还有三个笔者一知半解的保留字:exec,assert,lambda。
在此梳理如下。
exec
exec语句用来执行储存在字符串或文件中的Python语句。
一段示例代码:
if __name__ == '__main__':
exec "print('hello world')"
运行输出:hello world
assert
assert也称断言,用来声明某一个判断的结果为真。如果在运行中,该判断的结果不为真,则会抛出一个AssertionError。
一段示例代码:
if __name__ == '__main__':
assert 2 > 3
抛出错误异常:AssertionError
assert 主要用于验证前提,确保代码的正确性。
当你肯定代码执行的前提能够满足但又不能完全肯定时,使用断言的运行时检查能帮你确保错误能被尽早地捕捉到。
lambda
lambda表达式也称匿名函数,是对函数的再分类。
一段示例代码:
if __name__ == '__main__':
a = ['three', 'two', 'four']
a.sort(lambda x, y: cmp(len(x), len(y)))
print(a)
输出结果['two', 'four', 'three']
当一个函数只在部分区域被重用时,使用匿名函数可以形成闭包,使代码更加安全与优雅。