小白也能看懂的可视化教程
在写代码之前,我们先想象一个生活场景。为了不混淆,我们这里的变量名字完全不同。
就像公园里的时钟。
就像你卧室里的牙刷。
点击下方的 "下一步" 按钮,观察右侧内存的变化。注意看变量在哪里产生,又在哪里消失。
规则: game_score 是全局的,current_bonus 是局部的。
game_score)。current_bonus)。在上面的例子中,我特意使用了 game_score 和 current_bonus 两个完全不同的名字,你是不是觉得很清晰?
但在实际开发中,如果名字一样,事情就会变得很复杂。这叫变量遮蔽 (Variable Shadowing)。
x = 10 # 全局的 x
def test():
x = 5 # 这里的 x 是全新的局部变量!不是外面的那个!
print(x) # 输出 5
test()
print(x) # 输出 10 (全局的没变)
容易产生的误解: 初学者往往以为在函数里写 x=5 是修改了外面的那个全局变量,其实Python是创建了一个新的同名局部变量,它“挡住”了外面的变量。
💡 建议: 为了避免逻辑混乱,请尽量给局部变量和全局变量取不同的名字。