Мне удалось добиться этого с помощью метода typeof
. Однако сначала я должен был создать экземпляр списка A (я не уверен, можно ли этого избежать).
from numba import int8, jitclass, types, typed, typeof
@jitclass([("field", int8)])
class A:
def __init__(self):
self.field = 1
list_instance = typed.List()
list_instance.append(A())
@jitclass([("container", typeof(list_instance))])
class B:
def __init__(self, container):
self.container = container
list_a = typed.List()
list_a.append(A())
list_a.append(A())
b = B(list_a)
print(b)
print(b.container)
print(b.container[0].field)
Вывод:
<numba.jitclass.boxing.B object at 0x0000020BF396C0B0>
[<numba.jitclass.boxing.A object at 0x0000020BF385AEB0>, <numba.jitclass.boxing.A object at 0x0000020BF385A810>]
1