每天一点python——day80

#每天一点Python——80
#变量的作用域
'''
变量的作用域:
程序代码能访问该变量的区域。
根据变量的有效范围可分为:
①局部变量:
在函数内定义并使用的变量,只在函数内部有效
②全局变量:
在函数外定义的变量,在函数内外都有效
'''
#演示如下:
def h1(a,b):#定义函数h1,并传参a,b
    c=a+b
    print(c)
#c称为局部变量。a和b是形参,作用与函数内部,也相当于局部变量
'''
在函数体外:
print(a)
print(c)
程序报错【为了方便,我注释了】
为什么报错:因为a和c超出了起作用的范围【也就是作用域】
'''
#现在我在函数体外,定义一个变量:
name='海'
print(name)
#输出1name,程序没问题
#定义一个函数h2
def h2():
    print(name)
#在这个函数里面依然输出name的值:
#调用:
h2()
#运行结果也会输出海
'''
name作用于函数内部和外部都行
这样的变量称为全局变量
'''
#如果想把局部变量变成全局变量:只需要在局部变量前加上global声明即可
#例
def h3():
    age=20
    print(age)
#创建一个函数h3,局部变量age
#调用:
h3()
#直接输出print(age)会报错
#print(age)显示NameError: name 'age' is not defined【为了方便我注释掉了】
#因为age是局部变量
#然后我把他变为全局变量,为了和上述区分,我将其age换成age1
def h4():
    global age1
    age1=20
    print(age1)
#你在定义变量前加入global,再输出print(age1)
h4()
#记得一定要先运行h4(),否则这个函数定义了还没有执行过,直接输出print(age1)的话,会报错
print(age1)
#这样局部变量age1就变成了全局变量了

你可能感兴趣的:(每天一点Python,python)