具有更改参数的类

时间:2011-03-18 11:08:27

标签: python

我想定义一个Python类,它接受不同的变量作为输入。但是我只想在调用类时声明其中一个,因为变量相互决定,在不同情况下我手头有不同的输入。所以它应该是类似于我认为的类价:

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

我在类中有一个函数,它接受不同的货币并将它们相互转换。 我该怎么做?

1 个答案:

答案 0 :(得分: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()