Python中的全局变量

1 投票
1 回答
531 浏览
提问于 2025-04-16 14:38

你好,我试了以下这个例子(我在全局范围内没有定义im),结果发现程序实际上运行了,并且输出了10。

那Python是动态作用域吗?

def useGlobal():
    def inSide():
        print 'inside',
        print b
    b = 5
    print im
    inSide()

if __name__ == '__main__':

    im = 10
    useGlobal()

1 个回答

9

在Python中,if语句并不会创建一个新的作用域,所以“im”这个变量是在模块级别,也就是全局作用域中。

撰写回答