2011-07-11 59 views
1
x=4  
def func():   

     print("HELLO WORLD")   
     y=x+2  
     x=2  
     print (y)   
     print (x) # OUTPUT IS 6,2,2 
     global x # global declaration is done here 
func() 
print (x) # outputs as 2 but why???? why not 4???? 

爲什麼它顯示輸出爲6,2,2。事實上,我在全局聲明之前創建了print(x)。但是我沒有在全局聲明之後更改x值,但爲什麼在func()之後將x值打印爲2?它不是按順序執行語句嗎?或者它讀取函數中的整個代碼,然後開始在線執行函數行?請清除以上程序。謝謝您提前爲什麼它顯示不同的輸出?

+0

請正確格式化您的代碼 –

回答

9

global關鍵字指示編譯器該變量被認爲是全局的整個的函數。只要編譯器記下它,它在函數中的顯示位置並不重要。

+0

很酷,我必須在python中學習更多的概念thenIy完全不同於其他語言如c和C++。Python似乎很有趣。 – niko

+0

6分鐘以上接受你的答案哈哈 – niko

相關問題