擅长:python、mysql、java
<p>下面是Kyle Parsons回答的一个例子:</p>
<pre><code>from enum import Enum
from dataclasses import dataclass
@dataclass
class Animal:
name: str
age: int
type: str = None
@dataclass
class Cat(Animal):
type: str = 'Cat'
@dataclass
class Dog(Animal):
type: str = 'Dog'
class AnimalType(Enum):
DOG = Dog
CAT = Cat
def get_animal(type: Enum, name: str, age: int):
return type.value(name, age)
print(get_animal(AnimalType.CAT, 'Peter', 12))
</code></pre>