Python怎么在函数内用同名变量?Python函数如何用同名全局变量

在python之中变量是有作用域之分的,定义在外部,也就是主程序结构之中的变量可以在任意的地方被任意对象所引用 。与之相反的则是定义在函数或者是循环结构之中的局部变量,而本篇文章则是要来讲解一下如何在函数内使用同名全局变量 。
【Python怎么在函数内用同名变量?Python函数如何用同名全局变量】

Python怎么在函数内用同名变量?Python函数如何用同名全局变量

文章插图
在python程序之中变量命名是具有唯一性的,也就是变量名不能够和关键字、内置函数、标准库以及已经定好的变量相同 。所以当我们在函数之中定义一个变量时,如果名称和全局变量名相同就会出现同名局部变量覆盖了同名全局变量的情况,示例如下:
name = 'Charlie'def test ():print(name)name = ’Slote’test()print(name)在上面这段代码执行之后就会出现一种情况,那就是只会打印出来'Charlie'这个字符串然后就报错 。这是因为变量name已经被覆盖成了局部变量,在外部输出它时就会找不到这个变量了 。
而想要同时在函数内使用全局变量然后又去定义出来一个同名的局部变量的话,就需要用到一个关键字叫做global 。它的作用就是可以将一个变量声明为全局变量,示例如下:
name = 'Charlie'def test ():    global name    print(name)    name = 'Slote'test()print(name)在上面的代码示例之中先用global关键字将name变量声明成为了全局变量,然后之后给name变量赋值就相当于是更改它的值而不是重新定义一个变量了 。
以上就是关于“Python怎么在函数内用同名变量?Python函数如何用同名全局变量”的全部内容了,希望对你有所帮助 。

    推荐阅读