...
#定義變數a >>> a = 0 >>> print a 0 #定義函數p() >>> def p(): ... print a ... >>> p() 0 #定義函數p2() >>> def p2(): ... print a ... a = 3 ... print a ... >>> p2() # 運行出錯,外部變數a先被引用,不能重新賦值 Traceback (most recent call last): File "<interactive input>", line 1, in <module> File "<interactive input>", line 2, in p2 UnboundLocalError: local variable 'a' referenced before assignment #定義函數p3() >>> def p3(): ... a = 3 # 不引用直接賦值 ... print a ... >>> p3() 3 >>> print a 0 # 外部變數a並未改變