列表中的NameError在构造函数[Python3]中初始化

时间:2018-01-05 03:38:43

标签: python nameerror

我对编程非常陌生,到目前为止我的项目都是由弗兰肯斯坦式的怪物组成的拼接样本代码。这是我在很大程度上独立开发的第一个项目。到目前为止它还不顺利。这很有趣!

我正在处理一个类函数,它只返回一个不在另一个给定列表中的列表的值。我找到了来自enter image description here的代码,但我收到了一个N​​ameError。

我的代码:

EVALUATE(
FILTER(
SUMMARIZE(
  'PurchaseTable'
  ,'PurchaseTable'[Invoice Date]
),
  'PurchaseTable'[Invoice Date] >= VALUE(@FromDate)
  && 'PurchaseTable'[Invoice Date] <= VALUE(@ToDate)
))

错误:

def __init__ (self, extracted): #Constructor
    allWords = extracted
    shelfFile = shelve.open('knownWordsPersistant') #Opens preexisting shelve module file
    knownWords = shelfFile['knownWords'] #The list that the error specifies

def getUnknownWords (self):
    return [x for x in allWords if x not in knownWords] #Line that causes error

如果您需要更多背景信息或信息,我很乐意提供。

1 个答案:

答案 0 :(得分:2)

这是一个范围问题......

您应该在课程self.knownWords上设置属性,然后在您的函数中使用self.knownWordsallWords也是如此。

在您的代码中,您尝试引用getUnknownWords中未定义为错误消息所指示的局部变量。

另外,你不应该骆驼案件。使用下划线。