Bên cạnh những điều hiển nhiên, tôi nghĩ rằng tôi muốn thử loại này, chỉ trong trường hợp:Có cách nào để phân lớp máy phát điện bằng Python 3 không?
def somegen(input=None):
...
yield
...
gentype = type(somegen())
class subgen(gentype):
def best_function_ever():
...
Alas, phản ứng Python là khá thù địch:
"TypeError: Type generator is not an acceptable base type"
Như may mắn sẽ có nó, đó là một vấn đề cho tôi. Thấy chưa, tôi đã suy nghĩ rằng có lẽ nó sẽ là một loại cơ sở vui chơi với, nếu tôi đưa cho nó một cơ hội. Hãy tưởng tượng sự ngạc nhiên của tôi! ..và mất tinh thần. Có cách nào để có được Python toàn năng để xem mọi thứ theo cách của tôi trên này?
Đây là chắc chắn nhất một bên ngoài-the-box kinda câu hỏi, vì vậy xin đừng chỉ nói rằng nó không thể xảy ra nếu bạn không thể nghĩ ra một cách ngay lập tức. Python (đặc biệt là Py3) rất linh hoạt.
Tất nhiên, nếu bạn có bằng chứng về việc tại sao nó không thể (không phải là "không nên") là một loại cơ sở (Py3), sau đó tôi làm muốn xem và hiểu điều đó.
Một 'trình tạo' là một kiểu' phương thức'. Một 'lớp' chỉ có thể kế thừa từ' lớp' khác. Nó sẽ là tương tự để xây dựng một chiếc xe ra khỏi lái xe. Tôi có thể hiểu được sự thất vọng bởi vì tôi có ý kiến rằng python có thể làm bất cứ điều gì và mọi thứ, nhưng tôi thấy tại sao họ không dành thời gian để thực hiện nó. –
@ FarmerJoe Tôi không chắc chắn rằng tôi có được sự tương tự, nhưng một 'phương pháp' là cơ bản (thậm chí có thể thực sự) một subtype của' function'. Ngoài ra, tất cả mọi thứ là một loại, thậm chí gõ bản thân;) – Inversus
@FarmerJoe Những gì tôi có ý nghĩa bởi đó là, dưới lớp chăn, tất cả mọi thứ là một 'class', thậm chí 'generator'. Một nơi nào đó sâu trong internals, người ta sẽ chắc chắn tìm thấy một số C tương đương của 'phát lớp (chức năng)' và nó rằng lớp mà tôi đang tìm cách để "phân lớp" (ví dụ: tôi hoàn toàn hạnh phúc làm cái gì khác cho phép tôi linh hoạt tương tự) . – Inversus