首页 > 代码库 > python学习-day15:局部变量与全局变量、嵌套函数、递归
python学习-day15:局部变量与全局变量、嵌套函数、递归
一、全局变量与局部变量
在子程序中定义的变量称为局部变量,
在程序的一开始定义的变量称为全局变量。
全局变量作用域是整个程序,局部变量作用域是定义该变量的子程序。当全局变量与局部变量同名时:在定义局部变量的子程序内,局部变量起作用;在其它地方全局变量起作用。
通过在函数内部,先添加一个 global name 相当于在子模块定义了一个全局变量。把局部的name扩到到全局变脸,后续name的变化,也是全局的!
name=‘lhf‘ def change_name(): #global name name=‘帅了一比‘ print(‘change_name‘,name) change_name() print(name) >>> change_name 帅了一比 lhf
name=‘lhf‘ def change_name(): global name name=‘帅了一比‘ print(‘change_name‘,name) change_name() print(name) >>> change_name 帅了一比 帅了一比
局部变量:在私人的小圈子内才可以被引用到。
全局变量:所有人都可以获得值,
NAME = "杠娘" def yangjian(): # NAME = "史正文" global NAME #NAME = "小东北" print(‘我要搞‘, NAME) def qupengfei(): NAME = "基" print(‘我要搞‘, NAME) yangjian() qupengfei() >>>> 我要搞 杠娘 我要搞 基
NAME = "杠娘" def yangjian(): # NAME = "史正文" global NAME NAME变为全局变量 NAME = "小东北" print(‘我要搞‘, NAME) def qupengfei(): #NAME = "基" print(‘我要搞‘, NAME) yangjian() qupengfei() >>>> 我要搞 小东北 我要搞 小东北
NAME = ["产品经理", "廖波湿"] def qupengfei(): global NAME NAME = ["阿毛"] NAME.append(‘XXOO‘) print(‘我要搞‘, NAME) qupengfei() >>> 我要搞 [‘阿毛‘, ‘XXOO‘]
总结:
全局变量变量名大写
局部变量变量名小写
优先读取局部变量,能读取全局变量,无法对全局变量重新赋值 NAME=“fff”,
# 但是对于可变类型,可以对内部元素进行操作
# 如果函数中有global关键字,变量本质上就是全局的那个变量,可读取可赋值 NAME=“fff”
二、函数的嵌套
python学习-day15:局部变量与全局变量、嵌套函数、递归
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。