前言:
作者简介:短尾巴小鳄鱼 ,一位不放弃自己的上进卷妹
💬 如果文章知识点有错误的地方,请留言指正~和大家一起学习,一起进步
💬 人生格言:昨日种种,皆成今我。今日种种,方成新我。切莫踌躇,莫停留,莫沉溺💬
如果感觉博主的文章还不错的话,还请关注、点赞、收藏三连支持一下博主哦
文章目录
- python中的全局变量与局部变量
- 全局变量
- 局部变量
- global关键字
- 递归函数
- 什么是递归函数
- 匿名函数lambda
python中的全局变量与局部变量
全局变量
全局变量:在 python脚本最上层代码块的变量
全局变量可以在函数内被读取使用
函数体内只能使用全局变量,无法修改。如果在函数体内修改了这个变量,相当于这个变量变成了这个函数体内的局部变量。
局部变量
局部变量:只在局部使用的变量。
如果在外部使用会报错:
global关键字
将一个变量定义(声明)为全局变量。
在使用这个变量之前,要先将这个变量声明为全局变量才可以进行修改。
在本函数中用global声明的全局变量,只能在本函数内修改。想要在其他函数内修改这个变量,还需要再次声明。
# coding:utf-8
name = 'xiaoming' # 定义一个全局变量
def test():
global name # global+全局变量名,可以将全局变量导入到函数提内使用。这是可以给全局变量重新赋值
注意!在工作中不建议使用global对全局变量进行重新定义
例子:
需要通过global声明为全局变量的类型只有数字、字符串、布尔及空类型。而字典和列表类型是不需要global进行声明的:
递归函数
什么是递归函数
通过返回值,直接执行自身函数就达到了递归的效果
def test(a):
print(a)
return test(a) # 通过返回值,直接执行自身函数
注意,编写代码是一定要避免滥用递归,如果出现无限递归,可能会导致内存溢出导致死机
例子:
匿名函数lambda
匿名函数lambda用来定义一个轻量化的函数
即用即删除,很适合需要完成一项功能,但是此功能只在此一处使用
# 无参数的匿名函数:
f = lambda:value
f()
# 有参数的匿名函数
f = lambda x,y:x*y
f(3,4)
例子:
lambda的应用小实例:
对列表按照某个元素进行排序: