1. 函數是能夠訪問所有變量的python
a = 9527函數
def modify() :spa
print autf-8
if __name__ == ‘__main__’ :變量
modify()coding
執行結果,就是打印出 9527引用
2. 若是在函數裏 對全局變量進行修改,就會報錯di
#!/usr/bin/env pythonco
# -*- coding: utf-8 -*-錯誤
a = 9527
def modify() :
a += 1
print a
if __name__ == ‘__main__’ :
modify()
報錯:
a += 1
UnboundLocalError: local variable ‘a’ referenced before assignment
3) 在函數裏 能夠用 global 來聲明這個變量,避免報錯
a = 9527
def modify() :
global a
a += 1
print a
if __name__ == ‘__main__’ :
modify()
打印出
9528
請參考:
http://www.krisd.org/?p=645
在函數內進行賦值操做時,會產生一個局部變量a,而等式右邊又引用了這個未初始化的變量,所以產生了UnboundLocalError錯誤,若是要引用外部的變量,必須利用global關鍵字進行顯式的聲明