2011-03-18 43 views
1

我想定义一个接受不同变量作为输入的Python类。然而,我只想在调用类时声明其中的一个,因为变量确定了彼此,并且在不同情况下我手边有不同的输入。因此,它应该是这样一类的价格,我称之为为:改变参数的类

foo = price(dollar=10) 
bar = price(euro=20) 

和我有采取不同的货币,并将它们转换成对方类中的功能。 我该怎么做?

回答

4

您应该为关键字参数使用字典。这里是你如何在构造函数中定义它:

class Price: 
    def __init__(self, **kwargs): 
     if 'dollar' in kwargs and 'euro' in kwargs: 
      raise Exception(..) 
     if 'dollar' in kwargs: 
      self.dollar = kwargs['dollar'] 
     elif 'euro' in kwargs: 
      self.euro = kwargs['euro'] 
     else: 
      raise Exception() 
+1

你在参数中忘记了'self'。 – 2011-03-18 11:15:44