2015-03-13 60 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