|
1205 | 1205 | </code></pre></div>
|
1206 | 1206 |
|
1207 | 1207 |
|
1208 |
| -<div><h4 id="tableofrequiredandavailablespecialmethods">Table of required and available special methods:</h4><pre><code class="text language-text">+------------+------------+------------+------------+--------------+ |
| 1208 | +<div><h4 id="tableofrequiredandautomaticallyavailablespecialmethods">Table of required and automatically available special methods:</h4><pre><code class="text language-text">+------------+------------+------------+------------+--------------+ |
1209 | 1209 | | | Iterable | Collection | Sequence | abc.Sequence |
|
1210 | 1210 | +------------+------------+------------+------------+--------------+
|
1211 | 1211 | | iter() | REQ | REQ | yes | yes |
|
|
1228 | 1228 | <member_name_1> = <value_1>
|
1229 | 1229 | <member_name_2> = <value_2_a>, <value_2_b>
|
1230 | 1230 | <member_name_3> = auto()
|
1231 |
| - |
1232 |
| -<span class="hljs-meta"> @classmethod</span> |
1233 |
| - <span class="hljs-function"><span class="hljs-keyword">def</span> <span class="hljs-title">get_member_names</span><span class="hljs-params">(cls)</span>:</span> |
1234 |
| - <span class="hljs-keyword">return</span> [a.name <span class="hljs-keyword">for</span> a <span class="hljs-keyword">in</span> cls.__members__.values()] |
1235 | 1231 | </code></pre></div>
|
1236 | 1232 |
|
1237 | 1233 | <ul>
|
1238 | 1234 | <li><strong>If there are no numeric values before auto(), it returns 1.</strong></li>
|
1239 |
| -<li><strong>Otherwise it returns an increment of last numeric value.</strong></li> |
| 1235 | +<li><strong>Otherwise it returns an increment of the last numeric value.</strong></li> |
1240 | 1236 | </ul>
|
1241 |
| -<pre><code class="python language-python hljs"><member> = <enum>.<member_name> <span class="hljs-comment"># Returns a member.</span> |
1242 |
| -<member> = <enum>[<span class="hljs-string">'<member_name>'</span>] <span class="hljs-comment"># Returns a member or raises KeyError.</span> |
1243 |
| -<member> = <enum>(<value>) <span class="hljs-comment"># Returns a member or raises ValueError.</span> |
| 1237 | +<pre><code class="python language-python hljs"><member> = <enum>.<member_name> <span class="hljs-comment"># Returns a member.</span> |
| 1238 | +<member> = <enum>[<span class="hljs-string">'<member_name>'</span>] <span class="hljs-comment"># Returns a member or raises KeyError.</span> |
| 1239 | +<member> = <enum>(<value>) <span class="hljs-comment"># Returns a member or raises ValueError.</span> |
1244 | 1240 | name = <member>.name
|
1245 | 1241 | value = <member>.value
|
1246 | 1242 | </code></pre>
|
|
1249 | 1245 | member_values = [a.value <span class="hljs-keyword">for</span> a <span class="hljs-keyword">in</span> <enum>]
|
1250 | 1246 | random_member = random.choice(list(<enum>))
|
1251 | 1247 | </code></pre>
|
| 1248 | +<pre><code class="python language-python hljs"><span class="hljs-function"><span class="hljs-keyword">def</span> <span class="hljs-title">get_next_member</span><span class="hljs-params">(member)</span>:</span> |
| 1249 | + members = list(member.__class__) |
| 1250 | + index = (members.index(member) + <span class="hljs-number">1</span>) % len(members) |
| 1251 | + <span class="hljs-keyword">return</span> members[index] |
| 1252 | +</code></pre> |
1252 | 1253 | <div><h3 id="inline-2">Inline</h3><pre><code class="python language-python hljs">Cutlery = Enum(<span class="hljs-string">'Cutlery'</span>, [<span class="hljs-string">'fork'</span>, <span class="hljs-string">'knife'</span>, <span class="hljs-string">'spoon'</span>])
|
1253 | 1254 | Cutlery = Enum(<span class="hljs-string">'Cutlery'</span>, <span class="hljs-string">'fork knife spoon'</span>)
|
1254 | 1255 | Cutlery = Enum(<span class="hljs-string">'Cutlery'</span>, {<span class="hljs-string">'fork'</span>: <span class="hljs-number">1</span>, <span class="hljs-string">'knife'</span>: <span class="hljs-number">2</span>, <span class="hljs-string">'spoon'</span>: <span class="hljs-number">3</span>})
|
|
0 commit comments