发布网友 发布时间:2022-04-07 07:05
共4个回答
懂视网 时间:2022-04-07 11:26
python全局变量和局部变量的区别
全局变量和局部变量的区别在于作用域,全局变量在整个py文件中声明,全局范围内可以使用;局部变量是在某个函数内部声明的,只能在函数内部使用,如果超出使用范围(函数外部),则会报错。
推荐:Python教程
#!/usr/bin/python3 # -*- coding: utf-8 -*- A = 100 # 全局变量一般用大写字母表示 def func(): a = 50 # 局部变量一般用小写字母表示 print(a+A) func() print(A) print(a) # 报错信息NameError: name 'a' is not defined
#!/usr/bin/python3 # -*- coding: utf-8 -*- A = 100 def func(): A=250 print(A) print(A) # 打印全部变量 func() # 局部变量
如果想在函数内部改变全局变量,需要在前面加上global关键字,在执行函数之后,全局变量值也会改变。
#!/usr/bin/python3 # -*- coding: utf-8 -*- A = 100 def func(): global A A = 200 print(A) print(A) # 打印全局变量 func() # 局部变量 print(A) # 改变后的全局变量
如果全局变量是列表类型,可以通过list的列表方法去对列表进行修改,并且可以不用global来声明。
list_1 = [1,2,56,"list"] def changeList(): list_1.append("over") print(list_1) changeList() print(list_1)
在函数内部,如果局部变量与全局变量变量名一样,则优先调用局部变量。
众多python视频教程,尽在PHP中文网,欢迎在线学习!
热心网友 时间:2022-04-07 08:34
如下:
1、作用域不同:全局变量的作用域为整个程序,而局部变量的作用域为当前函数或循环等。
2、 内存存储方式不同:全局变量存储在全局数据区中,局部变量存储在栈区。
3、生命期不同:全局变量的生命期和主程序一样,随程序的销毁而销毁,局部变量在函数内部或循环内部,随函数的退出或循环退出就不存在了。
4、使用方式不同:全局变量在声明后程序的各个部分都可以用到,但是局部变量只能在局部使用。函数内部会优先使用局部变量再使用全局变量需要注意一点的是,局部变量不能赋值为同名全局变量的值。
热心网友 时间:2022-04-07 09:52
它们的区别在于变量作用范围的不同。一般来说,全局变量的影响范围是要大于局部变量的,而局部变量一般只作用于一个块级作用域,比如循环体、函数体之类的。热心网友 时间:2022-04-07 11:27
全局变量:其作用范围是“整个项目”,只需在一个源文件中定义,就可以作用于所有的源文件。当然,其他不包含全局变量定义的源文件需要用extern 关键字再次声明这个全局变量,作用域大
局部变量:仅仅从定义的位置开始,到定义它的右花括号结束,只在函数执行期间存在,函数的一次调用执行结束后,变量被撤销,其所占用的内存也被收回,作用域小