打印
[经验分享]

演示局部变量和全局变量重名的情况

[复制链接]
511|13
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
qsrg51|  楼主 | 2023-8-20 15:54 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
当局部变量和全局变量重名时,程序中的作用域规则会决定哪个变量会被访问或修改。作用域是指变量在程序中可见和可访问的区域。通常情况下,局部变量和全局变量具有不同的作用域,因此可以使用相同的名称,但在不同的上下文中引用它们。

使用特权

评论回复
沙发
qsrg51|  楼主 | 2023-8-20 15:54 | 只看该作者
局部变量:局部变量是在函数内部声明的变量,它们只在声明它们的函数内部可见。当函数被调用时,局部变量会被创建,当函数执行完毕时,这些变量的作用域也就结束了。如果在函数内部声明了与全局变量同名的局部变量,那么在函数内部,局部变量会覆盖全局变量的值。

使用特权

评论回复
板凳
qsrg51|  楼主 | 2023-8-20 15:54 | 只看该作者
全局变量:全局变量是在整个程序中都可见和访问的变量,它们通常在函数外部声明。全局变量在程序启动时创建,在程序结束时销毁。如果函数内部有一个与全局变量同名的局部变量,函数内部的代码将使用局部变量而不是全局变量。

使用特权

评论回复
地板
qsrg51|  楼主 | 2023-8-20 15:54 | 只看该作者
下面是一个示例,演示了局部变量和全局变量重名的情况:

使用特权

评论回复
5
qsrg51|  楼主 | 2023-8-20 15:54 | 只看该作者
global_variable = 10  # 全局变量

def example_function():
    local_variable = 5  # 局部变量,与全局变量同名
    print("Inside function - local_variable:", local_variable)  # 输出局部变量的值

example_function()
print("Outside function - global_variable:", global_variable)  # 输出全局变量的值

使用特权

评论回复
6
qsrg51|  楼主 | 2023-8-20 15:54 | 只看该作者
在这个示例中,example_function 内部声明了一个名为 local_variable 的局部变量,它与外部的 global_variable 同名。在函数内部,局部变量的值会被打印出来,而在函数外部,全局变量的值会被打印出来。

使用特权

评论回复
7
qsrg51|  楼主 | 2023-8-20 15:54 | 只看该作者
总之,当局部变量和全局变量重名时,函数内部将优先使用局部变量,而不会影响到全局变量的值。

使用特权

评论回复
8
tpgf| | 2023-9-11 10:02 | 只看该作者
他们的作用域不同 在内部应该局部变量会掩盖全局变量

使用特权

评论回复
9
磨砂| | 2023-9-11 10:16 | 只看该作者
他们的作用域以及生存空间是不一样的

使用特权

评论回复
10
八层楼| | 2023-9-11 10:43 | 只看该作者
我们最好不要让这种情况发生 不好控制 容易出错

使用特权

评论回复
11
观海| | 2023-9-11 11:29 | 只看该作者
这种操作是非常不好的  最好要避免

使用特权

评论回复
12
guanjiaer| | 2023-9-11 12:02 | 只看该作者
这种错误是非常不容易排查的  编写代码的时候就要注意不要犯这种错误

使用特权

评论回复
13
晓伍| | 2023-9-11 18:06 | 只看该作者
现在的编译器会对这种情况报错吗

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

53

主题

395

帖子

2

粉丝