Se ho una classe come:Fai namedtuple accettare kwargs
class Person(object):
def __init__(self, name, **kwargs):
self.name = name
p = Person(name='joe', age=25) # age is ignored
params extra vengono ignorati. Ma se ho un namedtuple
, vado a prendere `argomento chiave inaspettato:
from collections import namedtuple
Person = namedtuple('Person', 'name')
p = Person(name='joe', age=25)
# Traceback (most recent call last):
# File "python", line 1, in <module>
# TypeError: __new__() got an unexpected keyword argument 'age'
Come posso fare namedtuple
accettare kwargs
così posso passare argomenti extra in modo sicuro?
Non puoi farlo. –
Gli indizi nel nome. –
@Alex, che cosa ha a che fare con la mia domanda? – norbertpy