|
56 | 56 |
|
57 | 57 | <body> |
58 | 58 | <header> |
59 | | - <aside>March 16, 2025</aside> |
| 59 | + <aside>March 21, 2025</aside> |
60 | 60 | <a href="https://gto76.github.io" rel="author">Jure Šorn</a> |
61 | 61 | </header> |
62 | 62 |
|
|
463 | 463 | </code></pre></div> |
464 | 464 |
|
465 | 465 | <ul> |
466 | | -<li><strong><code class="python hljs"><span class="hljs-string">'int(<str>)'</span></code> and <code class="python hljs"><span class="hljs-string">'float(<str>)'</span></code> raise ValueError on malformed strings.</strong></li> |
467 | | -<li><strong>Decimal numbers are stored exactly, unlike most floats where <code class="python hljs"><span class="hljs-string">'1.1 + 2.2 != 3.3'</span></code>.</strong></li> |
| 466 | +<li><strong>Decimal numbers are stored exactly, unlike most floats where: <code class="python hljs"><span class="hljs-string">'1.1 + 2.2 != 3.3'</span></code>.</strong></li> |
468 | 467 | <li><strong>Floats can be compared with: <code class="python hljs"><span class="hljs-string">'math.isclose(<float>, <float>)'</span></code>.</strong></li> |
469 | 468 | <li><strong>Precision of decimal operations is set with: <code class="python hljs"><span class="hljs-string">'decimal.getcontext().prec = <int>'</span></code>.</strong></li> |
| 469 | +<li><strong>Bools can be used anywhere ints can, because bool is a subclass of int: <code class="python hljs"><span class="hljs-string">'True + 1 == 2'</span></code>.</strong></li> |
470 | 470 | </ul> |
471 | 471 | <div><h3 id="basicfunctions">Basic Functions</h3><pre><code class="python language-python hljs"><num> = pow(<num>, <num>) <span class="hljs-comment"># Or: <number> ** <number></span> |
472 | 472 | <num> = abs(<num>) <span class="hljs-comment"># <float> = abs(<complex>)</span> |
|
481 | 481 | <div><h3 id="statistics">Statistics</h3><pre><code class="python language-python hljs"><span class="hljs-keyword">from</span> statistics <span class="hljs-keyword">import</span> mean, median, variance <span class="hljs-comment"># Also: stdev, quantiles, groupby.</span> |
482 | 482 | </code></pre></div> |
483 | 483 |
|
484 | | -<div><h3 id="random">Random</h3><pre><code class="python language-python hljs"><span class="hljs-keyword">from</span> random <span class="hljs-keyword">import</span> random, randint, choice <span class="hljs-comment"># Also: shuffle, gauss, triangular, seed.</span> |
485 | | -<float> = random() <span class="hljs-comment"># A float inside [0, 1).</span> |
486 | | -<int> = randint(from_inc, to_inc) <span class="hljs-comment"># An int inside [from_inc, to_inc].</span> |
487 | | -<el> = choice(<sequence>) <span class="hljs-comment"># Keeps the sequence intact.</span> |
| 484 | +<div><h3 id="random">Random</h3><pre><code class="python language-python hljs"><span class="hljs-keyword">from</span> random <span class="hljs-keyword">import</span> random, randint, uniform <span class="hljs-comment"># Also: gauss, choice, shuffle, seed.</span> |
488 | 485 | </code></pre></div> |
489 | 486 |
|
490 | | -<div><h3 id="binhex">Bin, Hex</h3><pre><code class="python language-python hljs"><int> = ±<span class="hljs-number">0b</span><bin> <span class="hljs-comment"># Or: ±0x<hex></span> |
491 | | -<int> = int(<span class="hljs-string">'±<bin>'</span>, <span class="hljs-number">2</span>) <span class="hljs-comment"># Or: int('±<hex>', 16)</span> |
492 | | -<int> = int(<span class="hljs-string">'±0b<bin>'</span>, <span class="hljs-number">0</span>) <span class="hljs-comment"># Or: int('±0x<hex>', 0)</span> |
493 | | -<str> = bin(<int>) <span class="hljs-comment"># Returns '[-]0b<bin>'. Also hex().</span> |
| 487 | +<pre><code class="python language-python hljs"><float> = random() <span class="hljs-comment"># Returns a float inside [0, 1).</span> |
| 488 | +<num> = randint/uniform(a, b) <span class="hljs-comment"># Returns an int/float inside [a, b].</span> |
| 489 | +<float> = gauss(mean, stdev) <span class="hljs-comment"># Also triangular(low, high, mode).</span> |
| 490 | +<el> = choice(<sequence>) <span class="hljs-comment"># Keeps it intact. Also sample(pop, k).</span> |
| 491 | +shuffle(<list>) <span class="hljs-comment"># Shuffles the list in place.</span> |
| 492 | +</code></pre> |
| 493 | +<div><h3 id="hexadecimalnumbers">Hexadecimal Numbers</h3><pre><code class="python language-python hljs"><int> = ±<span class="hljs-number">0x</span><hex> <span class="hljs-comment"># Or: ±0b<bin></span> |
| 494 | +<int> = int(<span class="hljs-string">'±<hex>'</span>, <span class="hljs-number">16</span>) <span class="hljs-comment"># Or: int('±<bin>', 2)</span> |
| 495 | +<int> = int(<span class="hljs-string">'±0x<hex>'</span>, <span class="hljs-number">0</span>) <span class="hljs-comment"># Or: int('±0b<bin>', 0)</span> |
| 496 | +<str> = hex(<int>) <span class="hljs-comment"># Returns '[-]0x<hex>'. Also bin().</span> |
494 | 497 | </code></pre></div> |
495 | 498 |
|
496 | 499 | <div><h3 id="bitwiseoperators">Bitwise Operators</h3><pre><code class="python language-python hljs"><int> = <int> & <int> <span class="hljs-comment"># And (0b1100 & 0b1010 == 0b1000).</span> |
|
507 | 510 | [(<span class="hljs-number">0</span>, <span class="hljs-number">0</span>, <span class="hljs-number">0</span>), (<span class="hljs-number">0</span>, <span class="hljs-number">0</span>, <span class="hljs-number">1</span>), (<span class="hljs-number">0</span>, <span class="hljs-number">1</span>, <span class="hljs-number">0</span>), (<span class="hljs-number">0</span>, <span class="hljs-number">1</span>, <span class="hljs-number">1</span>), |
508 | 511 | (<span class="hljs-number">1</span>, <span class="hljs-number">0</span>, <span class="hljs-number">0</span>), (<span class="hljs-number">1</span>, <span class="hljs-number">0</span>, <span class="hljs-number">1</span>), (<span class="hljs-number">1</span>, <span class="hljs-number">1</span>, <span class="hljs-number">0</span>), (<span class="hljs-number">1</span>, <span class="hljs-number">1</span>, <span class="hljs-number">1</span>)] |
509 | 512 | </code></pre> |
510 | | -<pre><code class="python language-python hljs"><span class="hljs-meta">>>> </span>list(it.product(<span class="hljs-string">'abc'</span>, <span class="hljs-string">'abc'</span>)) <span class="hljs-comment"># a b c</span> |
511 | | -[(<span class="hljs-string">'a'</span>, <span class="hljs-string">'a'</span>), (<span class="hljs-string">'a'</span>, <span class="hljs-string">'b'</span>), (<span class="hljs-string">'a'</span>, <span class="hljs-string">'c'</span>), <span class="hljs-comment"># a x x x</span> |
512 | | - (<span class="hljs-string">'b'</span>, <span class="hljs-string">'a'</span>), (<span class="hljs-string">'b'</span>, <span class="hljs-string">'b'</span>), (<span class="hljs-string">'b'</span>, <span class="hljs-string">'c'</span>), <span class="hljs-comment"># b x x x</span> |
513 | | - (<span class="hljs-string">'c'</span>, <span class="hljs-string">'a'</span>), (<span class="hljs-string">'c'</span>, <span class="hljs-string">'b'</span>), (<span class="hljs-string">'c'</span>, <span class="hljs-string">'c'</span>)] <span class="hljs-comment"># c x x x</span> |
514 | | -</code></pre> |
515 | | -<pre><code class="python language-python hljs"><span class="hljs-meta">>>> </span>list(it.combinations(<span class="hljs-string">'abc'</span>, <span class="hljs-number">2</span>)) <span class="hljs-comment"># a b c</span> |
516 | | -[(<span class="hljs-string">'a'</span>, <span class="hljs-string">'b'</span>), (<span class="hljs-string">'a'</span>, <span class="hljs-string">'c'</span>), <span class="hljs-comment"># a . x x</span> |
517 | | - (<span class="hljs-string">'b'</span>, <span class="hljs-string">'c'</span>)] <span class="hljs-comment"># b . . x</span> |
| 513 | +<pre><code class="python language-python hljs"><span class="hljs-meta">>>> </span>list(it.product(<span class="hljs-string">'abc'</span>, <span class="hljs-string">'abc'</span>)) <span class="hljs-comment"># a b c</span> |
| 514 | +[(<span class="hljs-string">'a'</span>, <span class="hljs-string">'a'</span>), (<span class="hljs-string">'a'</span>, <span class="hljs-string">'b'</span>), (<span class="hljs-string">'a'</span>, <span class="hljs-string">'c'</span>), <span class="hljs-comment"># a x x x</span> |
| 515 | + (<span class="hljs-string">'b'</span>, <span class="hljs-string">'a'</span>), (<span class="hljs-string">'b'</span>, <span class="hljs-string">'b'</span>), (<span class="hljs-string">'b'</span>, <span class="hljs-string">'c'</span>), <span class="hljs-comment"># b x x x</span> |
| 516 | + (<span class="hljs-string">'c'</span>, <span class="hljs-string">'a'</span>), (<span class="hljs-string">'c'</span>, <span class="hljs-string">'b'</span>), (<span class="hljs-string">'c'</span>, <span class="hljs-string">'c'</span>)] <span class="hljs-comment"># c x x x</span> |
518 | 517 | </code></pre> |
519 | | -<pre><code class="python language-python hljs"><span class="hljs-meta">>>> </span>list(it.combinations_with_replacement(<span class="hljs-string">'abc'</span>, <span class="hljs-number">2</span>)) <span class="hljs-comment"># a b c</span> |
520 | | -[(<span class="hljs-string">'a'</span>, <span class="hljs-string">'a'</span>), (<span class="hljs-string">'a'</span>, <span class="hljs-string">'b'</span>), (<span class="hljs-string">'a'</span>, <span class="hljs-string">'c'</span>), <span class="hljs-comment"># a x x x</span> |
521 | | - (<span class="hljs-string">'b'</span>, <span class="hljs-string">'b'</span>), (<span class="hljs-string">'b'</span>, <span class="hljs-string">'c'</span>), <span class="hljs-comment"># b . x x</span> |
522 | | - (<span class="hljs-string">'c'</span>, <span class="hljs-string">'c'</span>)] <span class="hljs-comment"># c . . x</span> |
| 518 | +<pre><code class="python language-python hljs"><span class="hljs-meta">>>> </span>list(it.permutations(<span class="hljs-string">'abc'</span>, <span class="hljs-number">2</span>)) <span class="hljs-comment"># a b c</span> |
| 519 | +[(<span class="hljs-string">'a'</span>, <span class="hljs-string">'b'</span>), (<span class="hljs-string">'a'</span>, <span class="hljs-string">'c'</span>), <span class="hljs-comment"># a . x x</span> |
| 520 | + (<span class="hljs-string">'b'</span>, <span class="hljs-string">'a'</span>), (<span class="hljs-string">'b'</span>, <span class="hljs-string">'c'</span>), <span class="hljs-comment"># b x . x</span> |
| 521 | + (<span class="hljs-string">'c'</span>, <span class="hljs-string">'a'</span>), (<span class="hljs-string">'c'</span>, <span class="hljs-string">'b'</span>)] <span class="hljs-comment"># c x x .</span> |
523 | 522 | </code></pre> |
524 | | -<pre><code class="python language-python hljs"><span class="hljs-meta">>>> </span>list(it.permutations(<span class="hljs-string">'abc'</span>, <span class="hljs-number">2</span>)) <span class="hljs-comment"># a b c</span> |
525 | | -[(<span class="hljs-string">'a'</span>, <span class="hljs-string">'b'</span>), (<span class="hljs-string">'a'</span>, <span class="hljs-string">'c'</span>), <span class="hljs-comment"># a . x x</span> |
526 | | - (<span class="hljs-string">'b'</span>, <span class="hljs-string">'a'</span>), (<span class="hljs-string">'b'</span>, <span class="hljs-string">'c'</span>), <span class="hljs-comment"># b x . x</span> |
527 | | - (<span class="hljs-string">'c'</span>, <span class="hljs-string">'a'</span>), (<span class="hljs-string">'c'</span>, <span class="hljs-string">'b'</span>)] <span class="hljs-comment"># c x x .</span> |
| 523 | +<pre><code class="python language-python hljs"><span class="hljs-meta">>>> </span>list(it.combinations(<span class="hljs-string">'abc'</span>, <span class="hljs-number">2</span>)) <span class="hljs-comment"># a b c</span> |
| 524 | +[(<span class="hljs-string">'a'</span>, <span class="hljs-string">'b'</span>), (<span class="hljs-string">'a'</span>, <span class="hljs-string">'c'</span>), <span class="hljs-comment"># a . x x</span> |
| 525 | + (<span class="hljs-string">'b'</span>, <span class="hljs-string">'c'</span>), <span class="hljs-comment"># b . . x</span> |
| 526 | +] <span class="hljs-comment"># c . . .</span> |
528 | 527 | </code></pre> |
529 | 528 | <div><h2 id="datetime"><a href="#datetime" name="datetime">#</a>Datetime</h2><p><strong>Provides 'date', 'time', 'datetime' and 'timedelta' classes. All are immutable and hashable.</strong></p><pre><code class="python language-python hljs"><span class="hljs-comment"># $ pip3 install python-dateutil</span> |
530 | 529 | <span class="hljs-keyword">from</span> datetime <span class="hljs-keyword">import</span> date, time, datetime, timedelta, timezone |
@@ -2945,7 +2944,7 @@ <h3 id="format-2">Format</h3><div><h4 id="forstandardtypesizesandmanualalignment |
2945 | 2944 |
|
2946 | 2945 |
|
2947 | 2946 | <footer> |
2948 | | - <aside>March 16, 2025</aside> |
| 2947 | + <aside>March 21, 2025</aside> |
2949 | 2948 | <a href="https://gto76.github.io" rel="author">Jure Šorn</a> |
2950 | 2949 | </footer> |
2951 | 2950 |
|
|
0 commit comments