Używając mytype, jak utworzyć instancję klasy ClassA?Utwórz instancję, ja już mam typ
Zauważ, że jestem NIE patrząc na to jako moją odpowiedź :)
instance = ClassA()
Wiem, że w tym przykładzie, że to wszystko, co trzeba zrobić, ale załóżmy, że masz tego typu (MyType) , nie wiesz nic na ten temat i musisz utworzyć jego instancję.
Próbowałem po prostu wywołując mytype() i zwraca błąd stwierdzający, że type() ma 1 lub 3 argumenty. Wyobrażam sobie, że te argumenty mogą być związane z dowolnymi argumentami, które chciałbyś przekazać do metody init tworzonego obiektu.
Uwaga: Widziałem wiele pytań dotyczących sposobu tworzenia obiektu, podając ciąg reprezentujący jego pełną nazwę. Zauważ, że tutaj już mam typ, więc jest trochę inny? Myślę?
EDIT ... Miałem nadzieję, że mogę zrobić odpowiednik następującego kodu .NET:
class A {}
class Program
{
static void Main(string[] args)
{
Type type = typeof(A);
// Given the type, I can create a new instance
object new_instance = Activator.CreateInstance(type);
}
}
przypuszczałem, że w Pythonie, typ (ClassA) dał coś od siebie, że mogę później wykorzystać aby utworzyć instancję klasy ClassA. Wygląda na to, że źle zrozumiałem typ w python.
MyType = typ (ClassA) daje obiektu klasy. Podejrzewam, że nie to miałeś na myśli. –
Chodzi o to, co miałem na myśli, myślę :) Zobacz moją edycję powyżej z przykładem .Net, jeśli to pomaga wyjaśnić wszystko. –