J'ai une classe qui est _ init _ La fonction nécessite pas mal d'arguments. J'aimerais pouvoir réécrire ce morceau de code pour qu'il soit plus propre sur le plan syntaxique (codage moins dur). Je préférerais pouvoir l'obtenir de telle sorte que l'ajout d'un argument mot-clé à _ init _ changerait tous les attributs/arguments de la fonction nulle respectivement.Manipulation de grandes quantités d'arguments de mots clés d'une manière Pythonienne
class Class :
def __init__ (self, kw0=0, kw1=1, kw2=2) :
''' The keyword arguments as strings. '''
self.Keys = ['kw0', 'kw1', 'kw2']
''' Their values. '''
self.Values = [kw0, kw1, kw2]
''' A dictionary made from the keys and values. '''
self.Dict = self.make_dict()
''' As individual attributes, '''
self.KW0, self.KW1, self.KW2 = self.Values
def make_dict (self) :
''' Makes a dictionary '''
keys = self.Keys
values = self.Values
_dict = {}
for i in xrange(len(keys)) :
key = keys[i]
value = values[i]
_dict[key] = value
return _dict
def null (self, kw0=None, kw1=None, kw2=None) :
''' The same keyword arguments as **__init__** but they all default
to **None**. '''
pass
c = Class()
print c.Keys
print c.Values
print c.Dict
print c.KW0
print c.KW1
print c.KW2
Wow c'est un peu génial de leur code, merci! – rectangletangle