Как правильно переопределить переменные в классе?

Хочу переопределить переменные в классе для упрощения своего кода. Подскажите есть ли более 'элегантное' решение, чем мое?:

Вариант первый:

class KToplevel(Toplevel):
def __init__(self, parent, *args, **kwargs):
    Toplevel.__init__(self, parent, *args, **kwargs)

def configure(self, *args, **kwargs):
    self.dict = kwargs

    self.dict_cn('bdsize', 'highlightthickness')
    self.dict_cn('bgcolor', 'background')
    self.dict_cn('bdcolor', 'highlightcolor')
    self.dict_cn('bdbcolor', 'highlightbackground')
    Toplevel.config(self, self.dict)

def dict_cn(self, find, change):
    if self.dict.get(find) != None:
        self.dict[change] = self.dict.pop(find)
    else:
        print('Ошибка: входные данные введены неверно!')

Вариант второй:

class KToplevel(Toplevel):
    def __init__(self, parent, *args, **kwargs):
        Toplevel.__init__(self, parent, *args, **kwargs)

    def configure(self, bdsize=None, bgcolor=None, bdcolor=None, bdbcolor=None):
        Toplevel.config(self,
                        highlightthickness=bdsize,
                        background=bgcolor,
                        highlightcolor=bdcolor,
                        highlightbackground=bdbcolor)

Вариант третий (наиболее перспективный, но требующий доработки):

class KToplevel(Toplevel):
    def __init__(self, parent, *args, **kwargs):
        Toplevel.__init__(self, parent, *args, **kwargs)

    def configure(self, *args, **kwargs):
        if kwargs == {}:
            print('Help...')
        else:
            Toplevel.config(self, dict_change(kwargs))

class dict_change():
    def __init__(self, dict={}):

        dict2 = {}
        change = {'bdsize' : 'highlightthickness',
                  'bgcolor' : 'background',
                  'bdcolor' : 'highlightcolor',
                  'bdbcolor' : 'highlightbackground'}

        for value in dict:
            if change.get(value) != None:
                key = change[value]
                dict2[key] = dict.pop(value)
        return dict2

Ответы (0 шт):