반응형
여동생을위한 게임을 만들려고합니다. 그것은 가상 애완 동물 종류이고 애완 동물은 가지고 놀 수있는 장난감이 있습니다.
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
반응형
'파이썬' 카테고리의 다른 글
파이썬에서 어떻게 문자열을 분할하고 구분 기호를 유지합니까? (0) | 2020.12.25 |
---|---|
파이썬 SQLAlchemy에서 오류 처리 (0) | 2020.12.25 |
파이썬 Windows 8에 Python 2.7 설치 (0) | 2020.12.25 |
파이썬 Django manage.py runserver가 작동하지 않습니다. (0) | 2020.12.25 |
파이썬 Python에서 두 개의 타임 스탬프 비교 (0) | 2020.12.24 |
댓글