0
def func_print_x():
## x += 1 ## if uncomment this line, it will raise UnboundLocalError: local variable 'x' referenced before assignment
print x
if __name__ = '__main__':
x = 4
func_print_x()
更多 '特權' 在功能func_print_x(),有兩個規則:是否打印功能具有在python
- 爲 '線X + = 1',可變x被視爲局部變量;
- 當來到'打印x'時,變量x似乎是全局變量。
是否print函數有更多'特權'?
不,'x'成爲一個局部變量*當你嘗試將功能*內分配給它,如同你'+ ='這裏。你可以在函數中使用全局變量'x',只要你不想在其他地方分配它。 – Marius 2015-03-25 04:19:48
@Marius哦,我明白了。 '**不要嘗試分配給它**'就行了! 'print x + 1'正常工作。非常感謝! – 2015-03-25 04:26:28