Python数据类给了我“function”对象没有属性“\uu mro\uu”?
正如最后一个问题:,我在我的程序中发现了一个问题。即: 在Python中 集合0,0实际上给出了{0},但我想要{0,0} collections.deque 0,0[0,0].PopLeft实际上给了你0,0,而我想要0,0[0,0] 所以现在我在考虑设计自己的数据类。然而,在测试代码中,我遇到了一个“函数”对象没有属性mro问题 测试代码1: 测试代码1错误屏幕截图: 测试代码2: 测试代码2错误提示: 我的Python版本是Anaconda 3.6.8要设置的参数必须是一个iterable,其元素是所需的集合项。集合0,0有一个iterable作为参数,但其元素是0和0,而不是元组0,0。您需要设置[0,0]。德克也是如此;您需要一个包含元组0,0[0,0]的iterable,因此 至于您看到的错误,函数没有一个_umro _;,因为它不需要一个。它的基类始终是object,您不能从函数继承来创建一个类,该类的MRO需要访问函数的假设MRO 至于为什么您的数据类会引发该错误,这是因为数据类装饰器必须装饰一个类,而不是一个函数Python数据类给了我“function”对象没有属性“\uu mro\uu”?,python,anaconda,python-dataclasses,Python,Anaconda,Python Dataclasses,正如最后一个问题:,我在我的程序中发现了一个问题。即: 在Python中 集合0,0实际上给出了{0},但我想要{0,0} collections.deque 0,0[0,0].PopLeft实际上给了你0,0,而我想要0,0[0,0] 所以现在我在考虑设计自己的数据类。然而,在测试代码中,我遇到了一个“函数”对象没有属性mro问题 测试代码1: 测试代码1错误屏幕截图: 测试代码2: 测试代码2错误提示: 我的Python版本是Anaconda 3.6.8要设置的参数必须是一个iterabl
from dataclasses import dataclass
@dataclass
class DequeItems:
current:tuple
path:list
a = DequeItems(
current=(0, 0),
path=[(0, 0)]
)
print(a)
根据,此模块提供了一个装饰器和函数,用于自动将生成的特殊方法添加到用户定义的类中。以def开头的东西是一个类吗?据我所知,这个decorator将为您@ForceBruYes处理许多方法,比如uuu init uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu。函数通常有这些方法吗?函数拥有它们有意义吗?写set0,0以获得tuples@ForceBru当然,通常你不需要这些复杂的东西。但就我而言,我需要一个类来存储东西。
from dataclasses import dataclass
@dataclass(init=True)
def Pair():
visit:tuple
a=Pair( visit=(0,0))
print(a)
collections.deque([((0, 0), [ (0, 0) ] )])
from dataclasses import dataclass
@dataclass
class DequeItems:
current:tuple
path:list
a = DequeItems(
current=(0, 0),
path=[(0, 0)]
)
print(a)