我想定义一个Python类,它接受不同的变量作为输入。但是我只想在调用类时声明其中一个,因为变量相互决定,在不同情况下我手头有不同的输入。所以它应该是类似于我认为的类价:
foo = price(dollar=10)
bar = price(euro=20)
我在类中有一个函数,它接受不同的货币并将它们相互转换。 我该怎么做?
答案 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()