首页 > 数据库 > 数据库开发技术 > 一文了解Python中全局变量和局部变量
在Python编程中,变量的作用域是一个重要的概念,它决定了变量在程序中的可见性和生命周期。变量的作用域主要分为两种:全局变量和局部变量。

全局变量是在所有函数外部定义的变量,它们可以在整个程序的任何地方被访问和修改。
局部变量是在函数内部定义的变量,它们只能在该函数内部被访问。
为了更好地理解全局变量和局部变量,我们来看一个具体的案例:一个简单的工资管理系统。
# 定义全局变量,存储基本工资
base_salary = 5000
# 计算员工工资的函数,使用全局变量
def calculate_salary(employee_id, bonus):
"""
根据员工ID和奖金计算工资。
参数:
employee_id: int, 员工的ID
bonus: int, 员工的奖金
返回:
total_salary: int, 员工的总工资
"""
global base_salary # 声明base_salary为全局变量
total_salary = base_salary + bonus
print(f"Employee {employee_id}'s total salary is: {total_salary}")
return total_salary
# 修改基本工资的函数
def update_base_salary(new_salary):
"""
更新全局变量中的基本工资。
参数:
new_salary: int, 新的基本工资
"""
global base_salary # 声明base_salary为全局变量
base_salary = new_salary
print(f"Base salary has been updated to: {base_salary}")
# 使用案例
calculate_salary(1, 3000) # 计算员工1的工资
update_base_salary(6000) # 更新基本工资
calculate_salary(2, 4000) # 再次计算员工2的工资
base_salary 是一个全局变量,初始值为 5000。calculate_salary 函数接受员工 ID 和奖金作为参数,使用 global 关键字声明 base_salary 为全局变量,然后计算并打印员工的总工资。update_base_salary 函数同样使用 global 关键字来更新全局变量 base_salary 的值,并打印更新后的基本工资。Employee 1's total salary is: 8000
Base salary has been updated to: 6000
Employee 2's total salary is: 10000
通过这个案例,我们可以看到全局变量如何在函数之间共享数据,以及如何在函数内部修改这些数据。同时,我们也看到了局部变量(如函数参数)如何在函数内部使用,而不会影响全局作用域。
原文作者:Python学习杂记;如有侵权,请联系管理员删除。