python中的变量范围

时间:2012-06-09 13:34:54

标签: python variables scope

我的问题可能很简单,但我真的无法弄清楚我哪里出错了。 我想将一个变量从一个函数传递给另一个函数。我之所以使用return,但我总是收到一条错误消息,我的变量未定义。

我的代码是:

url = "http://www.419scam.org/emails/2004-01/30/001378.7.htm"

def FirstStrike(url):
    ...
    return tokens

def analyze(tokens):
    ...

if __name__ == "__main__":
    FirstStrike(url)
    analyze(tokens)

如果我运行这个,我收到一条错误消息:NameError:name'tnkens'未定义。

2 个答案:

答案 0 :(得分:9)

运行代码时,尚未将FirstStrike的结果分配给变量:

if __name__ == "__main__":
    tokens = FirstStrike(url)
    analyze(tokens)

这是必要的,因为否则在您致电tokens时未定义analyze

答案 1 :(得分:4)

tokens = FirstStrike(url)

在调用analyze(令牌)

之前,必须将FirstStrike返回值分配给tokens变量