初识Python:全局、局部和非局部变量(带示例)(Python入门教程:全局变量、局部变量和非局部变量详解及示例)

原创
ithorizon 6个月前 (10-21) 阅读数 33 #后端开发

Python入门教程:全局变量、局部变量和非局部变量详解及示例

一、引言

在Python编程语言中,变量是存储数据的一种行为。选用变量的作用域,我们可以将变量分为全局变量、局部变量和非局部变量。本文将详细介绍这三种变量的概念、使用方法和示例。

二、全局变量

全局变量是指在函数外部定义的变量,它的作用域是整个程序。全局变量可以在程序的任何地方被访问和修改。

2.1 示例代码

# 定义全局变量

global_var = 10

def func():

# 在函数内部访问全局变量

print(global_var)

func() # 输出:10

2.2 注意事项

  • 全局变量可以在函数内部直接使用,无需声明;
  • 在函数内部修改全局变量时,需要使用 global 关键字声明;
  • 尽量避免在函数内部修改全局变量,这或许致使代码难以领会和维护。

三、局部变量

局部变量是指在函数内部定义的变量,它的作用域仅限于该函数内部。局部变量在函数执行完毕后会被销毁。

3.1 示例代码

def func():

# 定义局部变量

local_var = 5

print(local_var)

func() # 输出:5

# print(local_var) # 报错:NameError: name 'local_var' is not defined

3.2 注意事项

  • 局部变量只能在函数内部使用,不能在函数外部访问;
  • 函数内部的局部变量与全局变量同名时,局部变量会覆盖全局变量;
  • 函数执行完毕后,局部变量会被销毁,全局变量仍然存在。

四、非局部变量

非局部变量是指在嵌套函数中,位于内层函数外部、外层函数内部的变量。非局部变量不能直接在内层函数中使用,但可以通过 nonlocal 关键字声明后使用。

4.1 示例代码

def outer():

# 定义非局部变量

nonlocal_var = 10

def inner():

# 使用nonlocal关键字声明非局部变量

nonlocal nonlocal_var

nonlocal_var = 20

print(nonlocal_var)

inner() # 输出:20

print(nonlocal_var) # 输出:20

outer()

4.2 注意事项

  • 非局部变量只能在嵌套函数中使用;
  • 在内层函数中修改非局部变量时,需要使用 nonlocal 关键字声明;
  • 非局部变量在函数执行完毕后不会被销毁,但它的作用域仅限于嵌套函数内部。

五、总结

本文详细介绍了Python中的全局变量、局部变量和非局部变量的概念、使用方法和示例。领会这三种变量的作用域和生命周期对于编写明了、可维护的代码至关重要。在实际编程过程中,合理使用全局变量、局部变量和非局部变量,可以有效地管理程序的命名空间,避免命名冲突,尽或许缩减损耗代码的可读性和可维护性。


本文由IT视界版权所有,禁止未经同意的情况下转发

文章标签: 后端开发


热门