五、函数_5.变量的作用域

发布时间:2022-07-02 发布网站:脚本宝典
脚本宝典收集整理的这篇文章主要介绍了五、函数_5.变量的作用域脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。

变量的作用域

全局变量
    在函数外定义,任意函数都可以访问,但不能更改变
        global关键字
        函数内使用global定义的变量是全局变量
        函数内使用global引用一个已定义的全局变量后,可对该全局变量进行更改等操作

局部变量
    在函数内定义,函数外不可以访问

函数中变量的类型
    可变数据类型:list,dict 在函数外定义后,函数内仍然可以更改
    不可变数据类型:其他类型的数据在函数外定义后,函数内只能访问,不能更改

globals()   获取全局的变量数据
locals()    获取当前作用域的变量数据
num = 10
N = 100
VARlist = ['a','b','c','d']
vardict = {'1':11,'2':'22','f':'F'}
n = 0
def ScoPEOfVariable() :
    PRint(num)
    # num += 1     函数内不可改变

    global N
    N = 200
    print(N)

    varlist[0] = 15
    vardict['1'] = 111

    local = 'local variable'

    global A
    A = 'global variable'

    global n
    n = 'statement'

    print(globals())
    print(locals())

ScopeOfVariable()

print(varlist)
print(vardict)
# print(local)    函数外不可访问局部变量
print(A)
A = 'Global Variable'
print(A)
print(n)

# 此时当前作用域的范围就是全局
print(globals())
print(locals())


10
200
{'__name__': '__main__', '__doc__': 'n全局变量n......
{'local': 'local variable'}
[15, 'b', 'c', 'd']
{'1': 111, '2': '22', 'f': 'F'}
global variable
Global Variable
statement
{'__name__': '__main__', '__doc__': 'n全局变量n......
{'__name__': '__main__', '__doc__': 'n全局变量n......
在函数内部定义的函数叫做局部函数,局部函数只能在函数内被调用
def outer() :
    print('outer')
    A = 1
    global B
    B = 2

    def inner():
        print('inner')
        # print(A)
        # A += 1    不可修改
        global A
        A = 2
        print(A)

        # print(B)

        global B
        B += 1
        print(B)

        global C
        C = 10

    # print(C)
    inner()
    print(A)


outer()
# inner()    不可调用
print(A)
C += 10
print(C)
print(B)


outer
inner
2
3
1
2
20
3

脚本宝典总结

以上是脚本宝典为你收集整理的五、函数_5.变量的作用域全部内容,希望文章能够帮你解决五、函数_5.变量的作用域所遇到的问题。

如果觉得脚本宝典网站内容还不错,欢迎将脚本宝典推荐好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。