将字典值分配为 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}
我想在初始化时分配一个值和一个比率(给A
、B
或C
之一),即
> 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}
我正在使用 class
class Variable():
def __init__(self, value, ratio):
self.value = value
self.ratio = {'A': 0.0, 'B': 0.0, 'C': 0.0}
我想在初始化时分配一个值和一个比率(给A
、B
或C
之一),即
> 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}