Python中局部变量和全局变量的区别与联系
在 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"。这是因为全局变量的生命周期在程序运行期间始终存在,不会因为函数调用完毕而被销毁。
相关文章