Python中局部变量和全局变量的区别与联系

2023-03-22 00:00:00 变量 局部 区别

在 Python 中,局部变量和全局变量是有区别的,主要区别在于它们的作用域和生命周期。

作用域:

局部变量的作用域只在定义它的函数内部,函数执行完毕后,变量就会被销毁。在函数外部无法访问局部变量。

全局变量的作用域则是整个程序,即在程序的任何地方都可以访问全局变量。

生命周期:

局部变量的生命周期是在函数被调用时创建,函数执行完毕后销毁。

全局变量的生命周期则是在程序运行期间始终存在,直到程序结束时销毁。

下面是一个使用字符串 "pidancode.com" 的示例,展示局部变量和全局变量的区别:

# 定义全局变量
website = "pidancode.com"

# 定义函数并使用局部变量和全局变量
def print_website():
    # 定义局部变量
    website = "皮蛋编程"
    print("局部变量: ", website)
    print("全局变量: ", globals()['website'])  # 使用globals()函数获取全局变量

# 调用函数
print_website()

# 打印全局变量
print("全局变量: ", website)

输出:

局部变量: 皮蛋编程
全局变量: pidancode.com
全局变量: pidancode.com

在这个示例中,我们首先定义了全局变量 website,然后定义了一个函数 print_website 来演示局部变量和全局变量的区别。在函数内部,我们定义了一个局部变量 website,它的值为 "皮蛋编程"。然后我们打印出局部变量和全局变量的值,发现局部变量的值是 "皮蛋编程",而全局变量的值是 "pidancode.com"。在函数调用完毕后,局部变量 website 就被销毁了。

最后,我们再次打印全局变量 website,它的值还是 "pidancode.com"。这是因为全局变量的生命周期在程序运行期间始终存在,不会因为函数调用完毕而被销毁。

相关文章