저는 파이썬에 조금 익숙하며, 누군가 제가 가지고있는 문제를 도와 줄 수 있기를 희망했습니다.이름에 변수를 사용하여 클래스를 인스턴스화하십시오.
목록의 변수를 사용하여 여러 개체를 인스턴스화해야합니다. 2 개 항목, [ "apple", "orange"]의 목록을 가지고 있고 클래스 Fruit을 기반으로 한 인스턴스화 된 클래스의 이름으로 논문을 사용하고 싶습니다. 그래서 두 개의 객체 인 사과와 오렌지로 끝납니다. 과일의
나는 이것을 시도했지만 인스턴스화 된 클래스의 이름으로 변수 이름을 사용하는 방법을 파악할 수 없습니다. 이 코드는 작동하지 않습니다,하지만 같은 내가 달성하기 위해 노력하고있어 당신에게 몇 가지 아이디어를 줄 수도 :이 작동하지 않습니다
class Fruit:
pass
my_list = ["apple", "orange"]
for item in my_list:
item = Fruit()
type(apple)
하지만 난이 당신에게 난 무엇인지에 아이디어를 제공 희망 성취하려고 노력한다. 내가보고 싶은 무엇
NameError: name 'apple' is not defined
은 다음과 같습니다 : 제공 할 수있는 사람이 가장 극명하게 될 것이다 것을
>>> type(apple)
<type 'instance'>
모든 포인터 :
덕분에 나는이 오류!
하지 마십시오.변수 이름에서 데이터를 보호하십시오. 대신 사전을 사용하십시오 ('fruits = {}','fruits [item] = Fruit()'). –
+10 Martijn의 의견입니다. 이것은 코드를 개선하기 위해 대부분의 사람들 (저를 포함해서)이 우리 머리에서 빠져 나가야 만했던 가장 지속적인 아이디어 중 하나입니다. – ojdo