gpt4 book ai didi

python - cdef 类可以存储未(类型)声明的变量吗?

转载 作者:太空宇宙 更新时间:2023-11-03 15:44:15 26 4
gpt4 key购买 nike

我很好奇以下内容是否有效,其中只有部分变量在类型声明的类中进行了类型声明。也就是说,在这种情况下,类之前的 cdef 会无效吗?

cdef class CythonClass:

cdef int var1, var2

def __init__(self, a, b):
self.var1 = a
self.var2 = b
self.defaultdict = DefaultDict(DefaultDict([]))

最佳答案

简短回答:

不,您需要声明它。否则,您将收到 AttributeError: 'xxx.CythonClass' object has no attribute 'defaultdict' 错误。

(稍微)更长的答案:

您始终可以将其声明为(python)对象:

cdef class CythonClass(object):

cdef int var1, var2
cdef object defaultdict # declared as python object

这不会很有效,但它确实有效。

关于python - cdef 类可以存储未(类型)声明的变量吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41905077/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com