如何在Micropython中编写一个可以用参数初始化的类?

时间:2018-08-20 15:05:29

标签: python micropython

我正在尝试用Micropython编写一个需要用参数初始化的类,但是我在弄清楚如何做到这一点上遇到了麻烦。

我正在使用带有Micropython 1.9.4的XBee模块

这是我声明课程的方式:

class myClass:

    def __init__(self, myArgument):
        self.classVar = myArgument

但是当我尝试像这样初始化我的班级时:

c = myClass(argumentValue)

我收到此错误:

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: function takes 1 positional arguments but 2 were given

我在做什么错了?

在引用classVar之前需要声明它吗?

编辑(已解决)

我能够找到错误,我注意到我在代码中其他未定义任何参数的地方定义了另一个__init__方法。

1 个答案:

答案 0 :(得分:1)

您看过documentation about Python Object Creation吗?

  

ISR无法创建Python对象的实例。这是因为MicroPython需要从称为堆的空闲内存块存储中为对象分配内存。