Python中global和nonlocal关键字与闭包有何区别?

2026-05-21 18:582阅读0评论SEO资讯
  • 内容介绍
  • 文章标签
  • 相关推荐

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

Python中global和nonlocal关键字与闭包有何区别?

在全局变量中不添加`global`是修改不了全局变量的,只能修改数字和字符串,例如列表、字典、集合等全局变量是可以修改的。使用`globals()`查看全局作用域中的名字,`locals()`查看当前作用域中的名字。

global

局部变量里不加global是不能更改全局变量的,只是不能改数字和字符串,像列表,字典,集合局部变量是可以更改的

  • globals() 查看全局作用域中的名字
  • locals() 查看当前作用域中的名字

全局与局部变量

在子程序中定义的变量称为局部变量,在程序的一开始定义的变量称为全局变量。

全局变量作用域是整个程序,局部变量作用域是定义该变量的子程序。

当全局变量与局部变量同名时:

  • 在定义局部变量的子程序内,局部变量起作用;在其它地方全局变量起作用。
阅读全文

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

Python中global和nonlocal关键字与闭包有何区别?

在全局变量中不添加`global`是修改不了全局变量的,只能修改数字和字符串,例如列表、字典、集合等全局变量是可以修改的。使用`globals()`查看全局作用域中的名字,`locals()`查看当前作用域中的名字。

global

局部变量里不加global是不能更改全局变量的,只是不能改数字和字符串,像列表,字典,集合局部变量是可以更改的

  • globals() 查看全局作用域中的名字
  • locals() 查看当前作用域中的名字

全局与局部变量

在子程序中定义的变量称为局部变量,在程序的一开始定义的变量称为全局变量。

全局变量作用域是整个程序,局部变量作用域是定义该变量的子程序。

当全局变量与局部变量同名时:

  • 在定义局部变量的子程序内,局部变量起作用;在其它地方全局变量起作用。
阅读全文