python学习-day15:局部变量与全局变量嵌套函数递归
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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:局部变量与全局变量嵌套函数递归的主要内容,如果未能解决你的问题,请参考以下文章