我是python中客观编程的新手,我无法弄清楚如何为类构造函数提供可变数量的参数,检查它们是否在特定的可用参数列表上,并且只接受那些有效的。如果它们都不是有效的,我需要设置一个默认参数。我想我可以创建一个循环并检查循环中给出的每个参数,但我希望有更优雅的方法来做到这一点。这就是我到目前为止所做的:
class Sandbox():
def __init__(is_female, *args):
d=dict(F="female", M="male")
if is_female in d:
self.sex=d[is_female]
if args not in ["velociraptor", "brontozaur", "triceratops"]:
self.dinozaur="velociraptor"
else:
print " $ "