是否可以在Python中初始化字典?



我有一个字典,它将有许多键。有些键会有一个嵌套的字典。

我想在赋予字典任何内容之前初始化它事先将它的结构告诉任何阅读代码的人。所以字典是{"key1": None, "key2": None, ...}之类的。这个问题教你如何做到这一点。

我从来没有见过这个模式,所以我不太习惯使用它。有人发现问题了吗?那么如何初始化嵌套字典呢?

我以前没有见过这种情况,但我可能更愿意对词典发表评论。样式指南什么也没告诉我。

使用字典的一个挑战是,如果字典的结构和内容在使用过程中发生了变化,就很难知道它们的结构和内容。我宁愿建议你研究一下你想用字典达到什么目的。

根据你的描述和注释中的信息:如果你知道期望的键(属性),以及每个属性将具有的类型,我建议创建一个类,甚至更好的是创建一个数据类。这将提供一个更好的可读性开发人员查看你的代码,并试图了解他们正在使用的数据结构,因为他们知道该对象的一个实例将是什么样子,它将包含什么属性,以及属性的类型。

(如果你想包含类型验证等,你甚至可以查看Pydantic)

数据类的例子:

from dataclasses import dataclass
@dataclass
class MyDataClass:
title: str
body: str
_id: int

my_instance = MyDataClass("Hello", "World", 2)
my_instance2 = MyDataClass("HEEEY", "UNIVERSE", 3)
print(my_instance)
print(my_instance2)

将输出:

MyDataClass(title='Hello', body='World', _id=2)
MyDataClass(title='HEEEY', body='UNIVERSE', _id=3)

最新更新