Skip to content

Commit a4747b5

Browse files
committed
Dataclass
1 parent a10f1c8 commit a4747b5

File tree

3 files changed

+12
-6
lines changed

3 files changed

+12
-6
lines changed

README.md

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1037,14 +1037,16 @@ class <class_name>:
10371037
<attr_name_2>: <type> = <default_value>
10381038
<attr_name_3>: list/dict/set = field(default_factory=list/dict/set)
10391039
```
1040-
* **Objects can be made sortable with `'order=True'` or immutable and hashable with `'frozen=True'`.**
1040+
* **Objects can be made sortable with `'order=True'` and/or immutable and hashable with `'frozen=True'`.**
10411041
* **Function field() is needed because `'<attr_name>: list = []'` would make a list that is shared among all instances.**
10421042
* **Default_factory can be any [callable](#callable).**
10431043

10441044
#### Inline:
10451045
```python
10461046
from dataclasses import make_dataclass
1047-
<class> = make_dataclass('<class_name>', <list_of_attribute_names>)
1047+
<class> = make_dataclass('<class_name>', <coll_of_attribute_names>)
1048+
<class> = make_dataclass('<class_name>', <coll_of_tuples>)
1049+
<tuple> = ('<attr_name>', <type> [, <default_value>])
10481050
```
10491051

10501052
### Slots

index.html

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -990,12 +990,14 @@
990990

991991

992992
<ul>
993-
<li><strong>Objects can be made sortable with <code class="python hljs"><span class="hljs-string">'order=True'</span></code> or immutable and hashable with <code class="python hljs"><span class="hljs-string">'frozen=True'</span></code>.</strong></li>
993+
<li><strong>Objects can be made sortable with <code class="python hljs"><span class="hljs-string">'order=True'</span></code> and/or immutable and hashable with <code class="python hljs"><span class="hljs-string">'frozen=True'</span></code>.</strong></li>
994994
<li><strong>Function field() is needed because <code class="python hljs"><span class="hljs-string">'&lt;attr_name&gt;: list = []'</span></code> would make a list that is shared among all instances.</strong></li>
995995
<li><strong>Default_factory can be any <a href="#callable">callable</a>.</strong></li>
996996
</ul>
997997
<div><h4 id="inline-1">Inline:</h4><pre><code class="python language-python hljs"><code class="python language-python hljs"><span class="hljs-keyword">from</span> dataclasses <span class="hljs-keyword">import</span> make_dataclass
998-
&lt;class&gt; = make_dataclass<span class="hljs-params">(<span class="hljs-string">'&lt;class_name&gt;'</span>, &lt;list_of_attribute_names&gt;)</span></code></code></pre></div>
998+
&lt;class&gt; = make_dataclass(<span class="hljs-string">'&lt;class_name&gt;'</span>, &lt;coll_of_attribute_names&gt;)
999+
&lt;class&gt; = make_dataclass(<span class="hljs-string">'&lt;class_name&gt;'</span>, &lt;coll_of_tuples&gt;)
1000+
&lt;tuple&gt; = (<span class="hljs-string">'&lt;attr_name&gt;'</span>, &lt;type&gt; [, &lt;default_val&gt;])</code></code></pre></div>
9991001

10001002
<div><h3 id="slots">Slots</h3><p><strong>Mechanism that restricts objects to attributes listed in 'slots' and significantly reduces their memory footprint.</strong></p><pre><code class="python language-python hljs"><span class="hljs-class"><span class="hljs-keyword">class</span> <span class="hljs-title">MyClassWithSlots</span>:</span>
10011003
__slots__ = [<span class="hljs-string">'a'</span>]

parse.js

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -223,7 +223,9 @@ const TYPE =
223223

224224
const DATACLASS =
225225
'<code class="python language-python hljs"><span class="hljs-keyword">from</span> dataclasses <span class="hljs-keyword">import</span> make_dataclass\n' +
226-
'&lt;class&gt; = make_dataclass<span class="hljs-params">(<span class="hljs-string">\'&lt;class_name&gt;\'</span>, &lt;list_of_attribute_names&gt;)</span></code>';
226+
'&lt;class&gt; = make_dataclass(<span class="hljs-string">\'&lt;class_name&gt;\'</span>, &lt;coll_of_attribute_names&gt;)\n' +
227+
'&lt;class&gt; = make_dataclass(<span class="hljs-string">\'&lt;class_name&gt;\'</span>, &lt;coll_of_tuples&gt;)\n' +
228+
'&lt;tuple&gt; = (<span class="hljs-string">\'&lt;attr_name&gt;\'</span>, &lt;type&gt; [, &lt;default_val&gt;])</code>';
227229

228230

229231
function main() {
@@ -328,7 +330,7 @@ function fixHighlights() {
328330
$(`code:contains(ValueError: malformed node)`).html(EVAL);
329331
$(`code:contains(@lru_cache(maxsize=None))`).html(LRU_CACHE);
330332
$(`code:contains(<class_name>, <parents_tuple>, <attributes_dict>)`).html(TYPE);
331-
$(`code:contains(<list_of_attribute_names>)`).html(DATACLASS);
333+
$(`code:contains(make_dataclass(\'<class_name>\')`).html(DATACLASS);
332334
}
333335

334336
function preventPageBreaks() {

0 commit comments

Comments
 (0)