Trong python, làm cách nào để kiểm tra xem đối tượng có phải là đối tượng máy phát không?Làm thế nào để kiểm tra xem một đối tượng là một đối tượng máy phát trong python?
Cố gắng này -
>>> type(myobject, generator)
cung cấp cho các lỗi -
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
NameError: name 'generator' is not defined
(Tôi biết tôi có thể kiểm tra nếu đối tượng có một phương pháp next
cho nó trở thành một máy phát điện, nhưng tôi muốn có một số cách sử dụng mà tôi có thể xác định loại đối tượng bất kỳ, không chỉ máy phát điện.)
Bạn đang cố giải quyết vấn đề thực tế nào? Đăng thêm ngữ cảnh, có thể có cách thông minh hơn. Tại sao bạn cần phải biết nếu nó là một máy phát điện? – Daenyth
'từ kiểu nhập GeneratorType; type (myobject, GeneratorType)' sẽ cho bạn kết quả phù hợp với các đối tượng của lớp 'generator'. Nhưng như Daenyth ngụ ý, đó không nhất thiết phải là con đường đúng đắn để đi. – JAB
Nếu bạn đang kiểm tra '__next__', bạn thực sự chấp nhận bất kỳ trình lặp nào, không chỉ các trình tạo - rất có thể là những gì bạn muốn. – delnan