python变量的作用域一

发布时间:2019-07-15 10:49:39编辑:auto阅读(1177)

    #6.2变量的作用域,是变量的可访问范围,也称为命名空间。在第一次
    #给变量赋值时,python创建变量。第一次给变量赋值的位置决定了变量的作用域。
    #作用域类型
    #一个程序通常包含了变量、函数和其他语句。变量和函数涉及可访问范围。一个程序中的变量和函数
    #要么在当前文件中定义,要么就是python预先定义好。函数和程序文件划分了不同的作用域。
    #在同一个作用域中。变量名是唯一的。在不同的作用域中,相同的变量名也表示了不同的变量。
    #在pyton中作用域范围可以分为内置作用域、文件作用域、函数嵌套作用域和本地作用域。
    #内置作用域和文件作用域被称为全局作用域。
    #函数嵌套作用域有时,也称为本地作用域。
    #根据作用域的范围大小,作用域外部的变量和函数,可以直接作用在作用域内使用;相反,作用域内的变量
    #不能在作用域外直接使用。
    #根据作用域范围,通常将变量名分为两种:全局变量和本地变量。
    #a 全局变量;
    a =10
    #参数b,是函数add内的本地变量。
    def add(b):
    #c是函数add内的本地变量,a是函数外部的全局变量。
    c=a+b
    return c
    #调用函数;
    print(add(5))
    #在函数运行的过程中,a add,是全局变量。b c是局部变量。内置函数print()
    #作用域外的变量和作用域内的变量名称相同时,遵循本地“优先”原则,此时外部的作用域被屏蔽
    #---作用域隔离原则。
    #例如:
    a=10
    def show():
    #赋值,创建本地变量a
    a=1000
    print('int show():a=',a)
    #调用函数,观察输出结果会发现,本地变量屏蔽了全局变量.
    show()

    #将上面的函数稍作修改:
    #赋值,创建全局变量a
    a=10
    def show():
    #在此先打印a的值,看是否会使用全局变量。
    global a
    print("a=",a)
    #赋值,创建本地变量.
    a=100
    print("a=",a)
    #调用函数;
    show()

关键字