如何修复“NameError:名称方法名称未定义”? [复制]

Posted

技术标签:

【中文标题】如何修复“NameError:名称方法名称未定义”? [复制]【英文标题】:How to fix "NameError: name method-name is not defined"? [duplicate] 【发布时间】:2017-09-24 15:25:34 【问题描述】:

以下 Python 代码有问题:

class Methods:

    def method1(n):
        #method1 code

    def method2(N):
        #some method2 code
            for number in method1(1):
                #more method2 code

def main():
    m = Methods
    for number in m.method2(4):
            #conditional code goes here

if __name__ == '__main__':
    main()

当我运行这段代码时,我得到了

NameError:名称“method1”未定义。

如何解决此错误?

【问题讨论】:

你需要使用self.method1 【参考方案1】:

只需添加自我。在它面前:

self.method1(1)

还将您的方法签名更改为:

def method1(self, n):

def method2(self, n):

【讨论】:

非常感谢。它有效! @maestro777,尽情享受吧!【参考方案2】:

更改您的代码,如下所示:

class Methods:

    def method1(self,n):
        #method1 code

    def method2(self,N):
        #some method2 code
        for number in self.method1(1):
            #more method2 code

def main():
    m = Methods()
    for number in m.method2(4):
        #conditional code goes here

if __name__ == '__main__':
    main()
    为类中的每个方法添加一个 self 参数 要在类中调用方法,请使用 self.methodName(parameters) 要创建你的类的实例,你应该用 paranteses 编写类名,例如:m = Methods()

【讨论】:

以上是关于如何修复“NameError:名称方法名称未定义”? [复制]的主要内容,如果未能解决你的问题,请参考以下文章

如何修复drv?

如何修复漏洞

如何修复WMI

PHP网站漏洞怎么修复 如何修补网站程序代码漏洞

如何修复这些漏洞? (npm audit fix 无法修复这些漏洞)

如何修复AppScan漏洞