Python中局部变量与全局变量有何本质区别及解析?

2026-05-22 04:261阅读0评论SEO问题
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计666个文字,预计阅读时间需要3分钟。

Python中局部变量与全局变量有何本质区别及解析?

python1. 局部变量 name=Yang Lidef change_name(name): print(before change:, name) name=你好 print(after change, name)

change_name(name)print(在外部看看name变了没有, name)

1、局部变量

name = "Yang Li" def change_name(name): print("before change:",name) name = "你好" print("after change", name) change_name(name) print("在外面看看name改了么?",name)

输出:

before change: Yang Li
after change 你好
在外面看看name改了么? Yang Li

2、全局变量

NAME = "alex" def yangjian(): global NAME # 已经声明,NAME就是全局的的那个变量 print('1我的名字', NAME) NAME = "land" # 修改 全局的变量 print('2我的名字', NAME) def qupengfei(): name = "yang" print('3我的名字', NAME) yangjian() qupengfei()

输出:

Python中局部变量与全局变量有何本质区别及解析?

1我的名字 alex 2我的名字 land 3我的名字 yang ######## 全局变量变量名大写 ######## 局部变量变量名小写 #函数中 优先读取局部变量,能读取全局变量,无法对全局变量重新赋值;但是对于可变类型,可以对内部元素进行操作;如果函数中有global关键字,变量本质上就是全局的那个变量,可读取可赋值

3、nonlocal

name = "刚娘" def weihou(): name = "陈卓" def weiweihou(): nonlocal name # nonlocal,指定上一级变量,如果没有就继续往上直到找到为止 name = "冷静" print(name) weiweihou() print(name) print(name) weihou() print(name) # 刚娘 # 陈卓 # 陈卓 # 刚娘

全局与局部变量

在子程序中定义的变量称为局部变量,在程序的一开始定义的变量称为全局变量。
全局变量作用域是整个程序,局部变量作用域是定义该变量的子程序。
当全局变量与局部变量同名时:
在定义局部变量的子程序内,局部变量起作用;在其它地方全局变量起作用。

函数返回值

要想获取函数的执行结果,就可以用return语句把结果返回

注意:

函数在执行过程中只要遇到return语句,就会停止执行并返回结果,so 也可以理解为 return 语句代表着函数的结束
如果未在函数中指定return,那这个函数的返回值为None

嵌套函数

name = "Alex" def change_name(): name = "Alex2" def change_name2(): name = "Alex3" print("第3层打印",name) change_name2() #调用内层函数 print("第2层打印",name) change_name() print("最外层打印",name)

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持易盾网络。

本文共计666个文字,预计阅读时间需要3分钟。

Python中局部变量与全局变量有何本质区别及解析?

python1. 局部变量 name=Yang Lidef change_name(name): print(before change:, name) name=你好 print(after change, name)

change_name(name)print(在外部看看name变了没有, name)

1、局部变量

name = "Yang Li" def change_name(name): print("before change:",name) name = "你好" print("after change", name) change_name(name) print("在外面看看name改了么?",name)

输出:

before change: Yang Li
after change 你好
在外面看看name改了么? Yang Li

2、全局变量

NAME = "alex" def yangjian(): global NAME # 已经声明,NAME就是全局的的那个变量 print('1我的名字', NAME) NAME = "land" # 修改 全局的变量 print('2我的名字', NAME) def qupengfei(): name = "yang" print('3我的名字', NAME) yangjian() qupengfei()

输出:

Python中局部变量与全局变量有何本质区别及解析?

1我的名字 alex 2我的名字 land 3我的名字 yang ######## 全局变量变量名大写 ######## 局部变量变量名小写 #函数中 优先读取局部变量,能读取全局变量,无法对全局变量重新赋值;但是对于可变类型,可以对内部元素进行操作;如果函数中有global关键字,变量本质上就是全局的那个变量,可读取可赋值

3、nonlocal

name = "刚娘" def weihou(): name = "陈卓" def weiweihou(): nonlocal name # nonlocal,指定上一级变量,如果没有就继续往上直到找到为止 name = "冷静" print(name) weiweihou() print(name) print(name) weihou() print(name) # 刚娘 # 陈卓 # 陈卓 # 刚娘

全局与局部变量

在子程序中定义的变量称为局部变量,在程序的一开始定义的变量称为全局变量。
全局变量作用域是整个程序,局部变量作用域是定义该变量的子程序。
当全局变量与局部变量同名时:
在定义局部变量的子程序内,局部变量起作用;在其它地方全局变量起作用。

函数返回值

要想获取函数的执行结果,就可以用return语句把结果返回

注意:

函数在执行过程中只要遇到return语句,就会停止执行并返回结果,so 也可以理解为 return 语句代表着函数的结束
如果未在函数中指定return,那这个函数的返回值为None

嵌套函数

name = "Alex" def change_name(): name = "Alex2" def change_name2(): name = "Alex3" print("第3层打印",name) change_name2() #调用内层函数 print("第2层打印",name) change_name() print("最外层打印",name)

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持易盾网络。