1.局部变量
- 局部变量,就是在 函数内部定义的变量
- 不同的函数,可以定义相同的名字的局部变量,但是各用个的不会产生影响
- 局部变量的作用域只在函数内部
- 局部变量的目的是 存储需要临时保存的数据
1.如果函数内部想要去修改形参的值,是改不了,反而是定义了一个新的句部变量
2.形参 不要和 局部变量/全局变量同名, 如果同名,函数内部优先用局部变量,外部用全部变量
def func1(): # 形参 不要和 局部变量/全局变量同名
a = 10 # 如果函数内部想要去修改形参的值,是改不了,反而是定义了一个新的句部变量
print(a)
func1()
# 函数中的两个局部变量虽然同名,但互不影响
def test1():
a = 10
print("%d" % a)
def test2():
a = 5
print("%d" % a)
test1()
test2()
2.全局变量
2.1 概念
在函数外边定义的变量叫做 全局变量
-
全局变量能够在所有的函数中进行访问
1.在函数内部赋值,默认都是定义一个新的局部变量
2.局部变量和全局变量不要同名定义全局变量
a = 100
def test1():
print(a)def test2():
print(a)调用函数
test1()
test2()
3.函数内修改全局变量
a = 10
def test():
a = 5
print("函数内a:%d" %a)
test()
print("函数外a:%d" %a)
函数内赋值变量 时,默认为定义并赋值局部变量,赋值后获取的也是局部变量的值
如果在函数中内部想要 = 给全局变量重新赋值的时候,那么就需要使用global进行声明
-
能不用global 就尽量不要去用 global
a = 10
def test():
global a
a = 5 # 修改全局变量
print("函数内a:%d" %a)test()
print("函数外a:%d" %a)a = 10
def func():global a # 如果在函数中内部想要 = 给全局变量重新赋值的时候,那么就需要使用global进行声明 a = 5
func()
print(a)