본문 바로가기
파이썬

파이썬 Python에서 변수를 사용하여 클래스의 인스턴스 만들기

by º기록 2020. 12. 25.
반응형

여동생을위한 게임을 만들려고합니다. 그것은 가상 애완 동물 종류이고 애완 동물은 가지고 놀 수있는 장난감이 있습니다.

Toy 클래스를 만들고 함수 getNewToy (name, data1, data2, data3, data4, data5) 를 만들고 싶습니다.

이 함수가 Toy 클래스의 새 인스턴스를 만들고 싶고, 새 인스턴스를 만들 때마다 함수를 여러 번 호출 할 수 있기를 원합니다.

내 경험상 다음을 사용하여 인스턴스를 만듭니다.

class Toy:
    def __init__(self, name, data1, data2, data3, data4, data5):
        pass

myToy = Toy(myToy, 1, 2, 3, 4, 5)

그런 다음 클래스의 메서드를 다음과 함께 사용합니다.

myToy.method1()

각각 playWith () 메소드가있는 여러 장난감을 가질 수있는 기능을 원하므로 인스턴스가 호출 될 때마다 Toy 의 이름을 반영하기를 원합니다. .

getNewToy (, ...) 메서드를 호출 할 때마다 인스턴스가 달라지기를 원하며 인스턴스는 이름을 반영합니다.

 

해결 방법

 

편집 내용이 주어지면 클래스 이름이 문자열로 있고 클래스를 인스턴스화하고 싶습니까? 사전을 디스패처로 사용하십시오.

class Foo(object):
    pass

class Bar(object):
    pass

dispatch_dict = {"Foo": Foo, "Bar": Bar}
dispatch_dict["Foo"]() # returns an instance of Foo

 

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

 

 

반응형

댓글