Python 具有可变参数的类

Python 具有可变参数的类,python,Python,我想定义一个Python类,它接受不同的变量作为输入。然而,我只想在调用类时声明其中一个变量,因为变量相互决定,在不同的情况下,我手头有不同的输入。所以这应该是一个类似于课堂价格的东西,我称之为: foo = price(dollar=10) bar = price(euro=20) 我在类中有一个函数,它接受不同的货币并将它们相互转换。 我该怎么做呢?您应该使用字典作为关键字参数。以下是如何在构造函数中定义它: class Price: def __init__(self, **

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

foo = price(dollar=10)  
bar = price(euro=20)
我在类中有一个函数,它接受不同的货币并将它们相互转换。
我该怎么做呢?

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

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()

对于关键字参数,应该使用字典。以下是如何在构造函数中定义它:

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()

您在参数中忘记了
self
。在参数中忘记了
self