将字典值分配为 Python 中的参数

Assign dict values as arguments in Python

我正在使用 class

class Variable():
    def __init__(self, value, ratio):
    self.value = value
    self.ratio = {'A': 0.0, 'B': 0.0, 'C': 0.0}

我想在初始化时分配一个值和一个比率(给ABC之一),

> var1 = Variable(3.2, 'A'=100.0)

这样结果就是

> var1.value
3.2
> var1.ratio
{'A': 100.0, 'B': 0.0, 'C': 0.0}

这样的函数参数是否可行,还是我应该使用其他方法?

为每个参数定义默认值并直接在字典中使用它们:

class Variable():
    def __init__(self, value, A=0.0, B=0.0, C=0.0):
        self.value = value
        self.ratio = {'A': A, 'B': B, 'C': C}

准备就绪

var1 = Variable(3.2, A=100.0)
var1.ratio
{'A': 100.0, 'B': 0.0, 'C': 0.0}

你可以这样做:

class Variable:
    def __init__(self, value, ratio):
        self.value = value
        self.ratio = {'A' : 0.0, 'B' : 0.0, 'C' : 0.0}
        self.ratio.update(ratio)

var1 = Variable(3.2, {'A' : 100.0})
print(var1.value) # 3.2
print(var1.ratio) # {'A': 100.0, 'B': 0.0, 'C': 0.0}