如何在不提供参数的情况下在Python中实例化新的数据类实例?

时间:2019-12-13 13:49:35

标签: python

我想创建一个数据类实例并在以后提供值。

我该怎么做?

def create_trade_data():
    trades = []
    td = TradeData()
    td.Symbol='New'
    trades.append(td)
    return trades

DataClass:

from dataclasses import dataclass

@dataclass
class TradeData:
    Symbol : str
    ExecPrice : float

2 个答案:

答案 0 :(得分:2)

您必须通过赋予属性默认值None

来使属性成为可选属性
from dataclasses import dataclass

@dataclass
class TradeData:
    Symbol: str = None
    ExecPrice: float = None

然后您的create_trade_data函数将返回

[TradeData(Symbol='New', ExecPrice=None)]

现在,我选择None作为默认值以指示内容不足。当然,您可以像其他答案一样选择更合理的默认值。

答案 1 :(得分:1)

from dataclasses import dataclass

@dataclass
class TradeData:
    Symbol : str = ''
    ExecPrice : float = 0.0

使用=运算符可以分配默认值。 有field方法用于可变值,例如list。