在Python中,全局变量和局部变量是两种不同类型的变量

简介: 【5月更文挑战第10天】Python中的全局变量在函数外部定义,作用域覆盖整个程序,生命周期从开始到结束。局部变量仅限于函数内部,生命周期从调用到返回。在函数内修改全局变量需用`global`关键字声明,否则会创建局部变量。

在Python中,全局变量和局部变量是两种不同类型的变量,它们的主要区别在于它们的作用域和生命周期。

全局变量:

全局变量定义在函数之外,通常是在程序的顶部。
它们可以在整个程序的任何地方被访问和修改,只要是在其被声明的作用域内。
它们在程序的整个运行期间都存在,即它们的生命周期是整个程序的运行时间。
例如:

python
global_var = 10

def my_function():
print(global_var) # 这里可以访问全局变量

my_function() # 输出: 10
局部变量:

局部变量定义在函数内部。
它们只能在定义它们的函数内部被访问。一旦函数执行完毕,局部变量就会被销毁,除非它们被返回或者被赋值给全局变量。
它们的生命周期是从函数被调用的那一刻开始,到函数返回的那一刻结束。
例如:

python
def my_function():
local_var = 20
print(local_var) # 这里可以访问局部变量

my_function() # 输出: 20

在这里尝试访问local_var会导致错误,因为它是一个局部变量,只在my_function()内部存在。

注意:虽然全局变量在整个程序中都是可见的,但在函数内部,如果你尝试修改一个全局变量,Python默认会认为你正在创建一个新的局部变量,除非你明确地使用global关键字声明。例如:

python
global_var = 10

def my_function():
global_var = 20 # 这里实际上创建了一个新的局部变量,而不是修改全局变量
print(global_var) # 输出: 20

my_function()
print(global_var) # 输出: 10,全局变量没有被修改
如果你想在函数内部修改全局变量,你需要使用global关键字来告诉Python你正在引用的是全局变量:

python
global_var = 10

def my_function():
global global_var # 声明我们正在引用全局变量
global_var = 20 # 现在我们修改的是全局变量
print(global_var) # 输出: 20

my_function()
print(global_var) # 输出: 20,全局变量已经被修改

相关文章
|
1月前
|
存储 索引 Python
Python散列类型(1)
【10月更文挑战第9天】
|
28天前
|
存储 数据安全/隐私保护 索引
|
17天前
|
人工智能 Python
[oeasy]python039_for循环_循环遍历_循环变量
本文回顾了上一次的内容,介绍了小写和大写字母的序号范围,并通过 `range` 函数生成了 `for` 循环。重点讲解了 `range(start, stop)` 的使用方法,解释了为什么不会输出 `stop` 值,并通过示例展示了如何遍历小写和大写字母的序号。最后总结了 `range` 函数的结构和 `for` 循环的使用技巧。
29 4
WK
|
30天前
|
存储 Python
Python内置类型名
Python 内置类型包括数字类型(int, float, complex)、序列类型(str, list, tuple, range)、集合类型(set, frozenset)、映射类型(dict)、布尔类型(bool)、二进制类型(bytes, bytearray, memoryview)、其他类型(NoneType, type, 函数类型等),提供了丰富的数据结构和操作,支持高效编程。
WK
16 2
|
1月前
|
存储 编译器 索引
Python 序列类型(2)
【10月更文挑战第8天】
Python 序列类型(2)
|
1月前
|
存储 C++ 索引
Python 序列类型(1)
【10月更文挑战第8天】
|
1月前
|
存储 程序员 Python
Python编程入门:探索变量和数据类型
【10月更文挑战第8天】本文是针对初学者的Python编程入门指南,重点介绍Python中变量的定义和使用以及不同的数据类型。我们将通过实例来理解基本概念,并展示如何在Python程序中应用这些知识。文章旨在帮助初学者建立扎实的基础,使他们能够更自信地编写Python代码。
WK
|
1月前
|
Python
Python变量命名
在Python编程中,变量命名对代码的可读性和维护性至关重要。遵循PEP 8风格指南,变量名应使用小写字母和下划线分隔单词,保持简洁明了、描述性强,避免使用单字母、Python关键字和内置函数名,采用有意义的缩写,使用英文命名,保持命名风格一致,避免魔法数字,考虑上下文。正确示例:`user_name`、`order_quantity`;不正确示例:`n`、`q`。
WK
21 0
|
3月前
|
存储 数据采集 人工智能
一:《Python基础语法汇总》— 变量与数据类型
【8月更文挑战第15天】本篇文章详细讲述了关于变量的命名规范,id()函数及Python的数据类型与强制转换
26 2
|
6月前
|
存储 Java Python
python变量、常量、数据类型
python变量、常量、数据类型