开发者社区> 问答> 正文

将只有`__new__`的Python类导入到Robot Framework中

具有在Robot Framework中导入的python类,如下所示:

蟒蛇: MyClass.py

class MyClass:
    def __new__(cls, a, b):
        # implementation here

机器人框架: MyTest.robot

*** Settings ***
Library    MyClass.py    a=1    b=2

得到错误 Error in file 'MyTest.robot': Test Library 'MyClass' expected 0 arguments, got 2.

我知道错误是因为MyClass尚未__init__定义(如果已定义,则不会导入错误)。

我的问题是:如何导入MyClass.py已__new__定义但未定义的__init__?

(没有详细介绍为什么我有__new__和没有的细节__init__)

展开
收起
祖安文状元 2020-02-22 15:40:57 482 0
1 条回答
写回答
取消 提交回答
  • 根据python文档,new__将接收到的参数传递给__init。由于您未创建__init__接受参数的,因此您将收到错误消息。

    如果__new__()返回cls的实例,则新实例的__init__()方法将像一样被调用__init__(self[, ...]),其中self新实例是,其余参数与传递给的参数相同__new__()。

    如果您不希望__init__被调用,则可能会从以下问题获得帮助:可以防止调用init吗?

    2020-02-22 15:41:02
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
From Python Scikit-Learn to Sc 立即下载
Data Pre-Processing in Python: 立即下载
双剑合璧-Python和大数据计算平台的结合 立即下载