博文配套视频课程:24小时实现从零到AI人工智能
回顾变量作用域
在Python中条件、循环、异常捕获中声明的变量在外部是可以访问的,只有模块、类、函数等才会有变量作用域的概念
# if for中定义的变量外部是可以直接访问
if True:
i = 10
else:
i = 20
print(i)
global访问全局变量
函数定义了本地作用域,而模块定义的是全局作用域。如果想要在函数内定义全局作用域,需要加上global修饰符
# 函数变量声明周期
a = 5 # 外部定义变量
def func1():
# 外面定义变量,在函数内部可以显示
print('fun1 a = ', a)
def func2():
a = 10 # 内部定义局部变量, 采用就近原则
print('fun2 a = ', a)
b = 100
def func3():
global a # 当前操作a是外部变量
a = a + 20
print('fun2 a = ', a)
func1()
func2()
func3()
# print(b)
Lambda表达式
Lambda函数将函数名作为函数结果返回,一般用于定义简单的、能够在一行内表示的函数
# lambda表达式就是为了取代单行函数
# def add(x,y):
# return x + y
# 函数也是一个对象
add = lambda x=5,y=10:x+y
print('函数地址为',add)
print(add())
print(add(2,3))