class ClassA: pass
mytype = type(ClassA)
Sử dụng mytype, làm thế nào để bạn tạo một thể hiện của ClassA?Tạo một cá thể, tôi đã có loại
Lưu ý rằng tôi KHÔNG tìm kiếm này là câu trả lời của tôi :)
instance = ClassA()
Tôi biết rằng trong ví dụ này, đó là tất cả bạn cần làm nhưng giả sử rằng bạn có loại này (MyType) , bạn không biết gì về nó, và bạn cần tạo ra một thể hiện của nó.
Tôi đã thử gọi mytype() và nó trả về lỗi cho biết loại() nhận 1 hoặc 3 đối số. Tôi tưởng tượng các đối số này có thể liên quan đến bất kỳ đối số nào bạn muốn chuyển vào phương thức init của đối tượng đang được tạo.
Lưu ý: Tôi đã nhìn thấy một số câu hỏi được hỏi về cách tạo đối tượng được cung cấp cho một chuỗi đại diện cho tên đầy đủ của nó. Lưu ý rằng ở đây, tôi đã có một loại để nó có một chút khác biệt? Tôi nghĩ?
EDIT ... Tôi đã hy vọng rằng tôi có thể làm tương đương với mã Net sau:
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);
}
}
tôi đã giả định rằng trong Python, gõ (ClassA) cho một cái gì đó mà tôi lại sau đó có thể sử dụng để tạo một thể hiện của ClassA. Có vẻ như tôi đã hiểu nhầm loại python.
MyType = loại (ClassA) sẽ cung cấp cho bạn một đối tượng lớp. Tôi nghi ngờ đây không phải là ý của bạn. –
Đó là những gì tôi có nghĩa là, tôi nghĩ :) Xem chỉnh sửa của tôi ở trên với ví dụ. Net nếu điều đó giúp làm rõ bất cứ điều gì. –