美文网首页
07 python中全局变量和局部变量

07 python中全局变量和局部变量

作者: 小码码 | 来源:发表于2018-07-02 16:03 被阅读7次

    1 全局变量

    • 自己定义:写在函数外的变量,一般为全局变量
    • 标识:全局变量一般用大写来定义
    • 全局变量可用global关键字来声明

    2 局部变量

    • 自己定义:写在函数内的变量为局部变量
    • 标识:局部变量一般用正常的标识符,即字母、数字、_组成,字符一般小写
    • 局部变量可用nonlocal关键字来声明,用于指定上一级变量
    name = 'lucy'
    
    def chang_name():
        name = 'lili'
        def test():
            nonlocal name
            name = 'bibi'
        test()
        print(name)
    
    print(name)     #lucy
    chang_name()     #bibi
    print(name)   #lucy
    

    3 使用示例

    示例1:

    NAME = 'lucy'
    
    def chang_name():
        global NAME  #声明为全局变量
        print(NAME)   # lucy
        
        NAME = 'lili'
        print(NAME)   #lili
    

    示例2:

    NAME = 'lucy'    //全局变量
    
    def chang_name():
        NAME = 'mimi'     //局部变量
        global NAME  #声明为全局变量
        print(NAME)   
    
    chang_name()      //报错 SyntaxWarning: name 'NAME' is assigned to before global declaration 函数中调用时不知道调用的是哪个NAME
    

    示例3:

    NAME = ['lucy', 'lili']
    
    def chang_name():
        global NAME     #声明为全局变量
        NAME = ['mimi']   #修改
        NAME.append('gg')   #修改
        print(NAME)
    
    chang_name()     #输出为:['mimi', 'gg']
    

    相关文章

      网友评论

          本文标题:07 python中全局变量和局部变量

          本文链接:https://www.haomeiwen.com/subject/vqrluftx.html