运行Python脚本时出现名称错误

时间:2018-06-19 08:36:02

标签: python main

我的代码是

class GuessPassword(object):
      def generate_Parent(self,length):
              genes= []
              while len(genes) < length:
                   sampleSize = min(length - 
                       len(genes),len(self.__class__.geneSet))         
                   genes.extend(random.sample(self.__class__.geneSet, 
                              sampleSize))
             return ''.join(genes)

在我的主要方法

if __name__ == '__main__':
   random.seed()
   bestparent = self.generate_Parent( len(target))

并且它给出了错误&#34; NameError:name&#39; self&#39;未定义&#34;。当我没有&#34; self&#34;它给出了错误&#34; NameError:name&#39; generate_Parent&#39;未定义&#34;。

我知道这是一个小问题。但是我搜索并找不到解决方案。任何帮助都会很棒。

1 个答案:

答案 0 :(得分:1)

如果你想使用类方法,你可以在课堂外使用self,也需要制作object类的GuessPassword

if __name__ == '__main__':
   random.seed()
   # bestparent = self.generate_Parent( len(target)) # here is error

   # make object of a class
   guess = GuessPassword()
   # remove `self` because you are not in a class, and use object instance
   bestparent = guess.generate_Parent( len(target))