C
Size: a a a
C
СС
V
C
V
СС
C
СС
СС
V
V
СС
FB
def get_objects(class_one: type, class_two: type) -> Tuple[instance_of_class_one, instanceof_class_two]:
foo: Foo, bar: Bar = get_objects(Foo, Bar)
import typing
class A:
def method(self):
pass
class B:
def method2(self):
pass
class C(A, B):
def method3(self):
pass
T = typing.TypeVar('T', bound=A)
U = typing.TypeVar('U', bound=B)
def get_objects(cls_a: typing.Type[T], cls_b: typing.Type[U]) -> typing.Tuple[T, U]:
return cls_a(), cls_b()
a, b = get_objects(A, C)
b.method3() # instance of C
EB
EB
FB
a: A, b: C = get_objects(A, C)
. Соответвенно ide/блокноты в которых тайпхинты поддержаны, могут выводить и делать тайпчекинг.FB
AK
СС