可以为初始化 2D 数组的 python 数据类创建默认初始化程序,即结果与
from dataclasses import dataclass, field
from typing import List
MAX = 5
@dataclass
class AlgoData:
list2D: List[List[int]] # = ???
list1D: List[int] = field(default_factory=list)
b = [[] for m in range(MAX)]
a = AlgoData(b)
Run Code Online (Sandbox Code Playgroud)
但没有b争论。结果:
AlgoData(list2D=[[], [], [], [], []], list1D=[])
Run Code Online (Sandbox Code Playgroud) Sublime Text 3的paste_from_history命令很棒,但我希望历史记录长于15个条目。可以配置吗?
Typescript 编译器对可选类属性的处理似乎已从 更改es2021为es2022。
class A {
a?: string
b?: string
constructor() {
this.b = 'asd'
}
}
console.log(new A())
Run Code Online (Sandbox Code Playgroud)
与 tsconfig target=es2021结果
A: {
"b": "asd"
}
Run Code Online (Sandbox Code Playgroud)
与 tsconfig target=es2022结果
A: {
"a": undefined,
"b": "asd"
}
Run Code Online (Sandbox Code Playgroud)
我找不到有关此更改的任何文档。这真的是有意的行为吗?为什么?
通过更改 TS Config->Target可以轻松在 ts Playground中重现