Python局部变量与全局变量区别原理解析
1、局部变量
name="YangLi"
defchange_name(name):
print("beforechange:",name)
name="你好"
print("afterchange",name)
change_name(name)
print("在外面看看name改了么?",name)
输出:
beforechange:YangLi
afterchange你好
在外面看看name改了么?YangLi
2、全局变量
NAME="alex"
defyangjian():
globalNAME#已经声明,NAME就是全局的的那个变量
print('1我的名字',NAME)
NAME="land"#修改全局的变量
print('2我的名字',NAME)
defqupengfei():
name="yang"
print('3我的名字',NAME)
yangjian()
qupengfei()
输出:
1我的名字alex 2我的名字land 3我的名字yang ########全局变量变量名大写 ########局部变量变量名小写 #函数中优先读取局部变量,能读取全局变量,无法对全局变量重新赋值;但是对于可变类型,可以对内部元素进行操作;如果函数中有global关键字,变量本质上就是全局的那个变量,可读取可赋值
3、nonlocal
name="刚娘" defweihou(): name="陈卓" defweiweihou(): nonlocalname#nonlocal,指定上一级变量,如果没有就继续往上直到找到为止 name="冷静" print(name) weiweihou() print(name) print(name) weihou() print(name) #刚娘 #陈卓 #陈卓 #刚娘
全局与局部变量
在子程序中定义的变量称为局部变量,在程序的一开始定义的变量称为全局变量。
全局变量作用域是整个程序,局部变量作用域是定义该变量的子程序。
当全局变量与局部变量同名时:
在定义局部变量的子程序内,局部变量起作用;在其它地方全局变量起作用。
函数返回值
要想获取函数的执行结果,就可以用return语句把结果返回
注意:
函数在执行过程中只要遇到return语句,就会停止执行并返回结果,so也可以理解为return语句代表着函数的结束
如果未在函数中指定return,那这个函数的返回值为None
嵌套函数
name="Alex"
defchange_name():
name="Alex2"
defchange_name2():
name="Alex3"
print("第3层打印",name)
change_name2()#调用内层函数
print("第2层打印",name)
change_name()
print("最外层打印",name)
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持毛票票。