본문 바로가기
파이썬

파이썬 NameError : 전역 이름 'myExample2'가 정의되지 않았습니다. # 모듈

by º기록 2021. 1. 1.
반응형

다음은 내 example.py 파일입니다.

from myimport import *
def main():
    myimport2 = myimport(10)
    myimport2.myExample() 

if __name__ == "__main__":
    main()

다음은 myimport.py 파일입니다.

class myClass:
    def __init__(self, number):
        self.number = number
    def myExample(self):
        result = myExample2(self.number) - self.number
        print(result)
    def myExample2(num):
        return num*num

example.py 파일을 실행할 때 다음 오류가 발생합니다.

NameError: global name 'myExample2' is not defined

어떻게 고칠 수 있습니까?

 

해결 방법

 

다음은 코드에 대한 간단한 수정입니다.

from myimport import myClass #import the class you needed

def main():
    myClassInstance = myClass(10) #Create an instance of that class
    myClassInstance.myExample() 

if __name__ == "__main__":
    main()

그리고 myimport.py :

class myClass:
    def __init__(self, number):
        self.number = number
    def myExample(self):
        result = self.myExample2(self.number) - self.number
        print(result)
    def myExample2(self, num): #the instance object is always needed 
        #as the first argument in a class method
        return num*num

 

참조 페이지 https://stackoverflow.com/questions/19998190

 

 

반응형

댓글