|
1234 | 1234 | <li><strong>If there are no numeric values before auto(), it returns 1.</strong></li>
|
1235 | 1235 | <li><strong>Otherwise it returns an increment of the last numeric value.</strong></li>
|
1236 | 1236 | </ul>
|
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> |
1240 |
| -<str> = <member>.name <span class="hljs-comment"># Returns member's name.</span> |
1241 |
| -<obj> = <member>.value <span class="hljs-comment"># Returns member's value.</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> |
| 1240 | +<str> = <member>.name <span class="hljs-comment"># Returns member's name.</span> |
| 1241 | +<obj> = <member>.value <span class="hljs-comment"># Returns member's value.</span> |
1242 | 1242 | </code></pre>
|
1243 | 1243 | <pre><code class="python language-python hljs">list_of_members = list(<enum>)
|
1244 | 1244 | member_names = [a.name <span class="hljs-keyword">for</span> a <span class="hljs-keyword">in</span> <enum>]
|
|
1761 | 1761 |
|
1762 | 1762 | <div><h2 id="deque"><a href="#deque" name="deque">#</a>Deque</h2><p><strong>A thread-safe list with efficient appends and pops from either side. Pronounced "deck".</strong></p><pre><code class="python language-python hljs"><span class="hljs-keyword">from</span> collections <span class="hljs-keyword">import</span> deque
|
1763 | 1763 | <deque> = deque(<collection>, maxlen=<span class="hljs-keyword">None</span>)
|
1764 |
| -</code></pre></div> |
1765 |
| - |
1766 |
| - |
1767 |
| -<pre><code class="python language-python hljs"><deque>.appendleft(<el>) <span class="hljs-comment"># Opposite element is dropped if full.</span> |
| 1764 | +<deque>.appendleft(<el>) <span class="hljs-comment"># Opposite element is dropped if full.</span> |
1768 | 1765 | <el> = <deque>.popleft() <span class="hljs-comment"># Raises IndexError if empty.</span>
|
1769 | 1766 | <deque>.extendleft(<collection>) <span class="hljs-comment"># Collection gets reversed.</span>
|
1770 | 1767 | <deque>.rotate(n=<span class="hljs-number">1</span>) <span class="hljs-comment"># Rotates elements to the right.</span>
|
1771 |
| -</code></pre> |
| 1768 | +</code></pre></div> |
| 1769 | + |
| 1770 | + |
1772 | 1771 | <div><h2 id="threading"><a href="#threading" name="threading">#</a>Threading</h2><ul>
|
1773 | 1772 | <li><strong>CPython interpreter can only run a single thread at a time.</strong></li>
|
1774 | 1773 | <li><strong>That is why using multiple threads won't result in a faster execution, unless there is an I/O operation in the thread.</strong></li>
|
|
1833 | 1832 | LogicOp = enum.Enum(<span class="hljs-string">'LogicOp'</span>, {<span class="hljs-string">'AND'</span>: op.and_, <span class="hljs-string">'OR'</span> : op.or_})
|
1834 | 1833 | last_el = op.methodcaller(<span class="hljs-string">'pop'</span>)(<list>)
|
1835 | 1834 | </code></pre>
|
1836 |
| -<div><h2 id="introspection"><a href="#introspection" name="introspection">#</a>Introspection</h2><p><strong>Inspecting code at runtime.</strong></p><div><h3 id="variables">Variables</h3><pre><code class="python language-python hljs"><list> = dir() <span class="hljs-comment"># Returns names of variables in current scope.</span> |
1837 |
| -<dict> = locals() <span class="hljs-comment"># Returns dict of local variables. Also vars().</span> |
| 1835 | +<div><h2 id="introspection"><a href="#introspection" name="introspection">#</a>Introspection</h2><p><strong>Inspecting code at runtime.</strong></p><div><h3 id="variables">Variables</h3><pre><code class="python language-python hljs"><list> = dir() <span class="hljs-comment"># Returns names of local variables (including functions).</span> |
| 1836 | +<dict> = vars() <span class="hljs-comment"># Returns dict of local variables. Also locals().</span> |
1838 | 1837 | <dict> = globals() <span class="hljs-comment"># Returns dict of global variables.</span>
|
1839 | 1838 | </code></pre></div></div>
|
1840 | 1839 |
|
1841 | 1840 |
|
1842 | 1841 |
|
1843 |
| -<div><h3 id="attributes-1">Attributes</h3><pre><code class="python language-python hljs"><dict> = vars(<object>) |
1844 |
| -<bool> = hasattr(<object>, <span class="hljs-string">'<attr_name>'</span>) |
1845 |
| -value = getattr(<object>, <span class="hljs-string">'<attr_name>'</span>) |
1846 |
| -setattr(<object>, <span class="hljs-string">'<attr_name>'</span>, value) |
| 1842 | +<div><h3 id="attributes-1">Attributes</h3><pre><code class="python language-python hljs"><list> = dir(<object>) <span class="hljs-comment"># Returns names of object's attributes (incl. methods).</span> |
| 1843 | +<dict> = vars(<object>) <span class="hljs-comment"># Returns dict of object's fields. Also <object>.__dict__.</span> |
1847 | 1844 | </code></pre></div>
|
1848 | 1845 |
|
| 1846 | +<pre><code class="python language-python hljs"><bool> = hasattr(<object>, <span class="hljs-string">'<attr_name>'</span>) |
| 1847 | +value = getattr(<object>, <span class="hljs-string">'<attr_name>'</span>) |
| 1848 | +setattr(<object>, <span class="hljs-string">'<attr_name>'</span>, value) |
| 1849 | +delattr(<object>, <span class="hljs-string">'<attr_name>'</span>) |
| 1850 | +</code></pre> |
1849 | 1851 | <div><h3 id="parameters-1">Parameters</h3><pre><code class="python language-python hljs"><span class="hljs-keyword">from</span> inspect <span class="hljs-keyword">import</span> signature
|
1850 | 1852 | <sig> = signature(<function>)
|
1851 | 1853 | no_of_params = len(<sig>.parameters)
|
|
2257 | 2259 | <Image>.putdata(<list/ImagingCore>) <span class="hljs-comment"># Writes a sequence of pixels.</span>
|
2258 | 2260 | <Image>.paste(<Image>, (x, y)) <span class="hljs-comment"># Writes an image to image.</span>
|
2259 | 2261 | </code></pre>
|
2260 |
| -<pre><code class="bash language-bash hljs"><2d_array> = np.array(<Image>) <span class="hljs-comment"># NumPy array from greyscale image.</span> |
2261 |
| -<3d_array> = np.array(<Image>) <span class="hljs-comment"># NumPy array from color image.</span> |
2262 |
| -<Image> = Image.fromarray(<array>) <span class="hljs-comment"># Image from NumPy array.</span> |
| 2262 | +<pre><code class="bash language-bash hljs"><2d_array> = np.array(<Image>) <span class="hljs-comment"># Generates NumPy array from greyscale image.</span> |
| 2263 | +<3d_array> = np.array(<Image>) <span class="hljs-comment"># Generates NumPy array from color image.</span> |
| 2264 | +<Image> = Image.fromarray(<array>) <span class="hljs-comment"># Generates image from NumPy array.</span> |
2263 | 2265 | </code></pre>
|
2264 | 2266 | <div><h3 id="modes-1">Modes</h3><ul>
|
2265 | 2267 | <li><strong><code class="python hljs"><span class="hljs-string">'1'</span></code> - 1-bit pixels, black and white, stored with one pixel per byte.</strong></li>
|
|
0 commit comments