【发布时间】:2016-06-14 03:15:27
【问题描述】:
如果我有这样的课程:
class Person(object):
def __init__(self, name, **kwargs):
self.name = name
p = Person(name='joe', age=25) # age is ignored
多余的参数被忽略。但如果我有一个namedtuple,我会得到`unexpected keyword argument:
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'
我怎样才能让namedtuple 接受kwargs 以便我可以安全地传递额外的参数?
【问题讨论】:
-
名字中的线索。
标签: python python-2.7 keyword-argument namedtuple