在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函数如何用同名全局变量”的全部内容了,希望对你有所帮助 。
推荐阅读
- 如何使用python中的else语句?python中的else有什么作用?
- python如何进行长字符串书写?python字符串如何自动换行进行书写?
- Python怎么查看对象能用哪些方法?Python数据类型所用方法怎么看
- python如何处理字符串的引号?如何让python字符串引号合理使用?
- Python循环结构中有else语句吗?Python循环怎么用else语句
- python如何获取输入的信息?python如何进行输入字符串?
- python中的两个反斜杠是什么意思?如何理解python中的两个反斜杠?
- Python怎么用循环实现冒泡排序?冒泡排序算法在Python中如何写
- Python如何快速初始化出一个数字列表?Python怎么创建数字列表
- python的布尔类型如何使用?什么是python的布尔类型?