亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

當類的屬性包含 self 的實例時如何指定 numba jitclass

當類的屬性包含 self 的實例時如何指定 numba jitclass

夢里花落0921 2021-10-10 16:18:44
我有一個簡單的 Python 類:class Node(object):    def __init__(self):        self._left = self        self._right = self    @property    def left(self):        return self._left    @left.setter    def left(self, value):        self._left = value    @property    def right(self):        return self._right    @right.setter    def right(self, value):        self._right = value我想這JIT類,但目前尚不清楚如何定義的類型時,self._left與self._right是Node對象類型。我遇到了另一個使用的答案,.class_type.instance_type但該示例僅指包含不同類實例的類屬性。就我而言,由于Node尚未定義,我無法聲明以下規范:spec=[("_left", Node.class_type.instance_type),      ("_right", Node.class_type.instance_type),     ]@jitclass(spec)class Node(object):
查看完整描述

1 回答

?
隔江千里

TA貢獻1906條經驗 獲得超10個贊

基于此示例- numba 具有deferred_type用于這種情況的功能。


node_type = numba.deferred_type()

spec=[

    ("_left", node_type),

    ("_right", node_type),

]


@jitclass(spec)

class Node:

    # omitted


# define the deferred type

node_type.define(Node.class_type.instance_type)


# class can be used!

a = Node()

b = Node()

a.left = b


查看完整回答
反對 回復 2021-10-10
  • 1 回答
  • 0 關注
  • 153 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號