gpt4 book ai didi

python - 如何在机器人框架库文件中进行多重继承?

转载 作者:太空宇宙 更新时间:2023-11-04 09:27:38 24 4
gpt4 key购买 nike

我想在机器人框架的 python 库文件中进行如下所示的设置。


Class Main(foo):
def common_functions():
pass

Class Child1(Main):
def something_unique_child1():
pass

Class Child2(Main):
def something_unique_child2():
pass

However , to use these classes , I would have to import them in the .robot file individually like so :-

Library                 python_filename . Child1
Library python_filename . Child2

现在。问题是,如果我需要使用“Common_functions()”关键字,机器人会抛出一个错误,指出存在“多个同名关键字”

我猜是因为两个子类都可以访问该函数,所以它变得很困惑。

如何在 RF 中实现这一功能?

附加信息:我想要继承的原因(因为有人向我指出这不是编写库的最佳方式)是因为有一个功能在它下面有多种功能,把它想象成一个菜单功能

( File-->close , File--> save , File --> save as)

现在,这个“保存”功能本身有很多子功能”,所以打开应用程序并转到“文件-->保存”是一个重复的步骤,我必须再做一次再次针对所有子功能。

我正在考虑将这个和其他一些重复步骤放在一个基类中,然后简单地将功能继承到子功能上以避免代码重复。

最佳答案

无需导入所有三个类。由于 Child2 继承自 Main,而 Child1 继承自 Main,因此您只需导入 Child1Child2 从所有三个类中获取所有关键字。

但是,如果你需要所有的关键字,你可以让 Child2 继承 Child1,然后你可以只导入 Child2 到获取所有关键字。

如果您坚持要导入所有三个,您可以做两件事。

首先,您可以完全限定关键字,以便机器人知道要使用哪个库。例如,Child1.common_functions

您可以做的另一件事是使用 Set library search order内置关键字告诉机器人在发生冲突时使用哪个库。

关于python - 如何在机器人框架库文件中进行多重继承?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56947023/

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