我有一个关键字库。我有一些类和子类,但是我遇到了继承和关键字被双重定义的问题。例如:
在我的lib.py在
class Class1:
def __init__(self):
pass
def do_something_generic(self):
#do stuff that is generic to all subclasses
pass
class Subclass1(Class1):
def __init__(self):
pass
def do_something_specific_to_subclass1(self):
#something specific
pass
class Subclass2(Class1):
def __init__(self):
pass
def do_something_specific_to_subclass2(self):
#something specific
pass
特定的关键字工作正常,但是当我试图调用Do Something Generic
时,我得到Multiple keywords with name 'Do Something Generic' found
。我可以用MyLib.Class1.Do Something Generic
完全限定库名,但是有没有任何方法可以定义Do Something Generic
来始终引用超类,因为方法只在那里定义,并且只是由子类继承的?在
我认为最好的解决方案是简单地将
do_something_generic
移到一个单独的类中,这样基类只有helper函数而没有公共关键字:虽然可以通过使用}来解决这个问题,但这可能不值得麻烦。在
__slots__
或__getattr__
,或者修改{来自Robot Framework User Guide
您是否考虑过使用
^{pr2}$_do_something_generic
函数添加helper基类?您可以将其从__all__
列表中排除。然后使用继承公开Class1
中基类的关键字。在相关问题 更多 >
编程相关推荐