美文网首页
面试官:全局变量和局部变量变量名能否一样?

面试官:全局变量和局部变量变量名能否一样?

作者: 程序员臻叔 | 来源:发表于2020-07-22 18:43 被阅读0次

问:全局变量和局部变量变量名能否一样?

答:全局变量和局部变量变量名可以一样

  1. 在函数内可以访问全局变量(foo0),但无法直接修改全局变量(foo3

  2. 函数内重新定义一个和全局变量同名的局部变量(foo1)也是可以的,但是局部变量和全局变量的作用域不同,不互相影响。

  3. 假如想要修改全局变量,需要用到global关键字(foo2

  4. 对于list这种数据类型,情况和string又不太一样,函数内可以控制全局变量的元素(foo4

a = 2
b = [1, 2, 3, 4, 5]

def foo0():
    print(a)


def foo1():
    a = 1
    print(a)


def foo2():
    global a
    a += 1
    print(a)
    
def foo3():
    a += 1
    print(a)

def foo4():
    b.append(6)
    print(b)

if __name__ == '__main__':
    foo0()  // 结果:2
    foo1()  // 结果:1
    foo2()  // 结果:3
    foo3()  // 结果:UnboundLocalError: local variable 'a' referenced before assignment
    
    print(b) // 结果:[1, 2, 3, 4, 5]
    foo4()   // 结果:[1, 2, 3, 4, 5, 6]
    print(b) // 结果:[1, 2, 3, 4, 5, 6]

本篇文章由一文多发平台ArtiPub自动发布

相关文章

  • 面试官:全局变量和局部变量变量名能否一样?

    问:全局变量和局部变量变量名能否一样? 答:全局变量和局部变量变量名可以一样 在函数内可以访问全局变量(foo0)...

  • python

    函数内全局变量赋值 Python中有局部变量和全局变量,当局部变量名字和全局变量名字重复时,局部变量会覆盖掉全局变...

  • 局部变量 全局变量

    局部变量名和全局变量名冲突时,系统默认优先使用局部变量

  • 9道常见C语言面试题

    1、局部变量能否和全局变量重名? 答:能,局部会屏蔽全局。要用全局变量,需要使用"::" ;局部变量可以与全局变量...

  • C/C++知识点(1)

    1. 局部变量能否和全局变量重名? 解析:能,局部会屏蔽全局。要用全局变量,需要使用"::" 局部变量可以与全局变...

  • 网易云课堂(Boolan)C++ 第一周笔记

    1、局部变量的作用域(局部变量名与全局变量相同时,可使用::访问全局变量) C:不可重复定义,必须在函数体前面定义...

  • C++ 语言基础

    C++ 语言基础 1. 局部变量和全局变量能否重名? 局部变量是定义在函数内部的变量。全局变量是定义在函数之外的变...

  • lua语法-变量的定义与使用

    lua语法-变量(全局变量与局部变量) 全局变量:直接定义变量名,并赋值 例如,a = 1;注:用;结束当前语句(...

  • python基础

    1.局部变量、全局变量 在函数内部修改全局变量时局部变量会创建一个和全局变量一样名称的局部变量,在更改的时候只会更...

  • c++新特性

    一元作用域解析运算符 局部变量名与全局变量名相同时,可使用 ::访问全局变量,::这个运算符被称为一元作用域解析运...

网友评论

      本文标题:面试官:全局变量和局部变量变量名能否一样?

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