Python - 函数中的本地和全局范围

时间:2017-09-12 12:56:31

标签: python function

我编写了一个简单的函数来理解Python中的本地和全局范围。

x = 50


def func(x):
    print('x is', x)
    x = 2
    print('Changed local x to', x)


func(x)
print('x is still', x)

我想要理解的是在x = 2赋值期间的函数内部是否创建了任何新变量作为全局变量x仍然保持值50。这个过程在Python中是如何发生的?

1 个答案:

答案 0 :(得分:0)

是的,创建了一个新变量。 Python的范围规则意味着不同范围内的同名变量是不相关的 - 变量引用始终是包含具有该名称的变量的最内部范围,除非使用全局语句覆盖它。