繁体   English   中英

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

[英]How can I instantiate a new dataclass instance in Python without supplying parameters?

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

我怎样才能做到这一点?

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

数据类:

from dataclasses import dataclass

@dataclass
class TradeData:
    Symbol : str
    ExecPrice : float

你必须通过给它们一个默认值None来使属性成为可选的

from dataclasses import dataclass

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

然后您的create_trade_data函数将返回

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

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

from dataclasses import dataclass

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

使用 = 运算符,您可以分配默认值。 有用于可变值的字段方法,如列表。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM