[Tutor] Creating an object with a string
Martin Hjort Eriksen
martin at hardcoder.dk
Mon May 24 05:26:53 EDT 2004
> The canonical way to do this with Python is to create a dictionary
> that maps strings to classes. E.g:
>
> class A:
> ...
>
> class B:
> ...
>
> cls_map = {'A': A, 'B':B}
>
> def create_class(a_string):
> return cls_map[a_string]()
>
> If your strings match the class names then you could use eval()
>
> instance = eval(a_string+"()")
>
> Hope this helps,
>
> Roeland
>
This helped...thank you very much...
A second question in the same area, again the start point is PHP, where
you have variable variables. I have also looked through the Python
litterature, and cannot find anything that helps.
The problem is, as I instantiate the objects, I will put them in an
dictionary, where I have 4 dictionaries, one for each type of class.
Since I have mulitple instances if the classes, I have added copy to the
above code that Roeland sent. Based on that string I want to insert it
into the correct dictionary, without using if many if sentences. PHP
example again:
<?php
$foo = array();
$type = "foo";
$objectToInsert = new bar();
$$type[] = $objectToInsert;
?>
More information about the Tutor
mailing list