2015-03-13 29 views
-4

是否可以通過函數傳遞全局變量?例如通過Python中的函數傳遞變量3

def start(): 
    global var 

    if var == 0: 
     print("Error") 
    else: 
     while var> -1: 
      print(var) 
      var = var - 1 
+0

你是什麼意思*通過函數傳遞全局變量*? – 2015-03-13 18:41:10

+0

那麼代碼有什麼問題?我看起來很好。你並沒有真正通過,就像你明確允許全球訪問一樣。 – 2015-03-13 18:42:19

+0

所以,如果你有一個全局的功能,你可以在一個函數中訪問它。 – 2015-03-13 18:42:35

回答

0

您的啓動函數明確允許訪問名爲var的全局變量。正如你的錯誤所證明的那樣,你沒有定義這樣的變量。請在函數前初始化變量:

var = 25 

def start(): 
    global var 

    # the rest of your function 
    # goes here after global var 
+0

它說var(在函數中)沒有定義? – 2015-03-13 19:07:04

+0

底線是你需要'var'在函數之前定義在函數之外。 – 2015-03-13 19:09:20

+0

另一方面,你真的應該嘗試編寫你的代碼而不使用'global'。 – Matthias 2015-03-13 20:52:39