zoukankan      html  css  js  c++  java
  • python中global的作用域

    #python引用变量的顺序: 当前作用域局部变量->外层作用域变量->当前模块中的全局变量->python内置变量 。
    
    '''
    a=30 声明为全局变量
    a=20 为test()函数局部变量,并且对这个同名的变量没有修改
    可以使用这个局部变量,引用的顺序为:当前作用域局部变量
    
    '''
    a=30
    def test():
        a=20
        print(a)
    test()
    print(a)
    

    打印结果

    20

    30

    '''
    a=30 第一行定义了一个全局变量
    在test1() 函数中程序会因为“如果内部函数有引用外部函数的同名变量或者全局变量,并且对这个变量有修改.那么python会认为它是一个局部变量,
    又因为函数中没有a的定义和赋值,所以报错
    a=a+20,a是个局部变量,
    '''
    a=30
    def test1():
        a=a+20
        print(a)
    test1()
    print(a)

    报错信息:

    a=a+20

    UnboundLocalError: local variable 'a' referenced before assignment

    '''
    声明全局变量,如果在局部要对全局变量修改,需要在局部也要先声明该全局变量:
    
    '''
    a=30
    def test2():
        global a
        a=a+20
        print(a)
    test2()
    print(a)

    打印结果

    50

    50

  • 相关阅读:
    套件测试
    注解实战aftersuite和beforesuite
    注解实战Beforeclass和Afterclass
    Centos7下安装Mongodb
    java的算法实现冒泡
    注解实战BeforeMethed和afterMethed
    前端 HTML的规范
    前端 HTML标签介绍
    前端 HTML文档 详解
    前端 HTML 简介
  • 原文地址:https://www.cnblogs.com/tallme/p/11300807.html
Copyright © 2011-2022 走看看