b = 1 #全局变量 def foo1(): global b # 申明使用全局b a = 0 for i in range(1,3): a = 2 # a是本地变量 b = 2 # b是全局变量
print(a)
在函数里面的话,都是局部变量,不过会提示local variable might be referenced before assigned
#! /usr/bin/env python # -*- coding: utf-8 -*- a = 1 b = 1 def foo1(): global b # 申明使用全局b for i in range(1,3): a = 2 # a是本地变量 b = 2 # b是全局变量 foo1() print(a) print(b)此时的a不是全局变量,函数里面的a是局部变量,但是print(a)是外面的a,所以a还是1