나는 내가 만든 클래스가 있고, 모듈에서는 클래스의 인스턴스를 만든다. 불행하게도 모듈이 끝날 때마다 (예상대로) 클래스 인스턴스도 마찬가지입니다. 나는 그 클래스 인스턴스를 유지하기를 원하고 return (className)을 시도했지만 아무것도하지 않았다.모듈에서 클래스 인스턴스를 반환 하시겠습니까?
해당 클래스 인스턴스를 유지하는 가장 좋은 방법은 무엇입니까?
나는 내가 만든 클래스가 있고, 모듈에서는 클래스의 인스턴스를 만든다. 불행하게도 모듈이 끝날 때마다 (예상대로) 클래스 인스턴스도 마찬가지입니다. 나는 그 클래스 인스턴스를 유지하기를 원하고 return (className)을 시도했지만 아무것도하지 않았다.모듈에서 클래스 인스턴스를 반환 하시겠습니까?
해당 클래스 인스턴스를 유지하는 가장 좋은 방법은 무엇입니까?
addFunc()
는 기능 아닌 모듈로 나타납니다.
함수가 반환 된 후에 을 계속 나타내려면 함수에서 person1
개체를 반환하고 바깥 범위의 변수에 바인딩하십시오. 예를 들어 :
class Person(object):
def __init__(self, name):
self.name = name
def addFunc(inputName):
person1 = Person(inputName)
return person1
if __name__ == '__main__':
person = addFunc('iu34')
print person.name
지금 person1
는 addFunc에서 반환 및 person
에 바인딩.
addFunc()
에 사전이나 목록을 전달하고 거기에 만든 Person
개체를 저장하는 등의 대안이 있습니다. 이는 응용 프로그램에 따라 다릅니다.
굉장합니다, 고마워요. 그게 많은 도움이됩니다! – iu34
나는 그것을 듣게되어 기쁩니다. – mhawke
이 경우에는 실제로'addFunc'가 필요 없습니다. – jonrsharpe
* *? [최소 예제] (http://stackoverflow.com/help/mcve)를 제공 할 수 있습니까? – jonrsharpe
물론입니다. name과 age에 대한 초기 값을 설정하는 def __init__ 클래스 Person이 있습니다. addFunc() 모듈에서 person1 = Person (inputName) 인 person의 새 인스턴스를 생성합니다. 여기서 inputName은 입력 한 이름입니다. 그 부분은 잘 작동하지만 문제는 addFunc()가 종료 될 때마다 내 person1이 사라진다는 것입니다. – iu34
아니요, 실제로 문제가되는 형식의 코드를 의미합니다. – jonrsharpe