|
5 | 5 | <link href="https://learnbyexample.github.io/atom.xml" rel="self" type="application/atom+xml"/>
|
6 | 6 | <link href="https://learnbyexample.github.io"/>
|
7 | 7 | <generator uri="https://www.getzola.org/">Zola</generator>
|
8 |
| - <updated>2022-07-06T00:00:00+00:00</updated> |
| 8 | + <updated>2022-07-13T00:00:00+00:00</updated> |
9 | 9 | <id>https://learnbyexample.github.io/atom.xml</id>
|
| 10 | + <entry xml:lang="en"> |
| 11 | + <title>Python tip 13: formatting numbers with underscore separation</title> |
| 12 | + <published>2022-07-13T00:00:00+00:00</published> |
| 13 | + <updated>2022-07-13T00:00:00+00:00</updated> |
| 14 | + <link href="https://learnbyexample.github.io/tips/python-tip-13/" type="text/html"/> |
| 15 | + <id>https://learnbyexample.github.io/tips/python-tip-13/</id> |
| 16 | + <content type="html"><p>For readability purposes, you can use underscores while declaring large numbers. For example:</p> |
| 17 | +<pre style="background-color:#f5f5f5;"> |
| 18 | +<code><span style="color:#72ab00;">&gt;&gt;&gt; </span><span style="color:#b3933a;">1_000_000_000 |
| 19 | +1000000000 |
| 20 | + |
| 21 | +</span><span style="color:#72ab00;">&gt;&gt;&gt; </span><span style="color:#b3933a;">0b1000_1111 |
| 22 | +143 |
| 23 | +</span></code></pre> |
| 24 | +<p>Did you know that you can also format numbers with underscore separation?</p> |
| 25 | +<pre style="background-color:#f5f5f5;"> |
| 26 | +<code><span style="color:#72ab00;">&gt;&gt;&gt; </span><span style="color:#1f1f1f;">n </span><span style="color:#72ab00;">= </span><span style="color:#b3933a;">14310023 |
| 27 | + |
| 28 | +</span><span style="color:#7f8989;"># underscore separation |
| 29 | +</span><span style="color:#72ab00;">&gt;&gt;&gt; </span><span style="color:#668f14;">f</span><span style="color:#d07711;">&#39;</span><span style="color:#1f1f1f;">{n</span><span style="color:#b3933a;">:_</span><span style="color:#1f1f1f;">}</span><span style="color:#d07711;">&#39; |
| 30 | +&#39;14_310_023&#39; |
| 31 | + |
| 32 | +</span><span style="color:#7f8989;"># you can also use comma separation for integers |
| 33 | +</span><span style="color:#72ab00;">&gt;&gt;&gt; </span><span style="color:#668f14;">f</span><span style="color:#d07711;">&#39;</span><span style="color:#1f1f1f;">{n</span><span style="color:#b3933a;">:,</span><span style="color:#1f1f1f;">}</span><span style="color:#d07711;">&#39; |
| 34 | +&#39;14,310,023&#39; |
| 35 | +</span></code></pre> |
| 36 | +<p>Here are some examples for displaying numbers in binary, octal and hexadecimal formats:</p> |
| 37 | +<pre style="background-color:#f5f5f5;"> |
| 38 | +<code><span style="color:#72ab00;">&gt;&gt;&gt; </span><span style="color:#1f1f1f;">n </span><span style="color:#72ab00;">= </span><span style="color:#b3933a;">14310023 |
| 39 | + |
| 40 | +</span><span style="color:#72ab00;">&gt;&gt;&gt; </span><span style="color:#668f14;">f</span><span style="color:#d07711;">&#39;</span><span style="color:#1f1f1f;">{n</span><span style="color:#b3933a;">:_b</span><span style="color:#1f1f1f;">}</span><span style="color:#d07711;">&#39; |
| 41 | +&#39;1101_1010_0101_1010_1000_0111&#39; |
| 42 | +</span><span style="color:#72ab00;">&gt;&gt;&gt; </span><span style="color:#668f14;">f</span><span style="color:#d07711;">&#39;</span><span style="color:#1f1f1f;">{n</span><span style="color:#b3933a;">:#_b</span><span style="color:#1f1f1f;">}</span><span style="color:#d07711;">&#39; |
| 43 | +&#39;0b1101_1010_0101_1010_1000_0111&#39; |
| 44 | + |
| 45 | +</span><span style="color:#72ab00;">&gt;&gt;&gt; </span><span style="color:#668f14;">f</span><span style="color:#d07711;">&#39;</span><span style="color:#1f1f1f;">{n</span><span style="color:#b3933a;">:#_x</span><span style="color:#1f1f1f;">}</span><span style="color:#d07711;">&#39; |
| 46 | +&#39;0xda_5a87&#39; |
| 47 | + |
| 48 | +</span><span style="color:#72ab00;">&gt;&gt;&gt; </span><span style="color:#668f14;">f</span><span style="color:#d07711;">&#39;</span><span style="color:#1f1f1f;">{n</span><span style="color:#b3933a;">:#_o</span><span style="color:#1f1f1f;">}</span><span style="color:#d07711;">&#39; |
| 49 | +&#39;0o6645_5207&#39; |
| 50 | +</span></code></pre> |
| 51 | +<p>And here's an example with zero filling:</p> |
| 52 | +<pre style="background-color:#f5f5f5;"> |
| 53 | +<code><span style="color:#72ab00;">&gt;&gt;&gt; for </span><span style="color:#1f1f1f;">n </span><span style="color:#72ab00;">in </span><span style="color:#1f1f1f;">(</span><span style="color:#b3933a;">3</span><span style="color:#1f1f1f;">, </span><span style="color:#b3933a;">20</span><span style="color:#1f1f1f;">, </span><span style="color:#b3933a;">28</span><span style="color:#1f1f1f;">): |
| 54 | +</span><span style="color:#b3933a;">... </span><span style="color:#b39f04;">print</span><span style="color:#1f1f1f;">(</span><span style="color:#668f14;">f</span><span style="color:#d07711;">&#39;</span><span style="color:#1f1f1f;">{n</span><span style="color:#b3933a;">:09_b</span><span style="color:#1f1f1f;">}</span><span style="color:#d07711;">&#39;</span><span style="color:#1f1f1f;">) |
| 55 | +... |
| 56 | +</span><span style="color:#b3933a;">0000</span><span style="color:#1f1f1f;">_0011 |
| 57 | +</span><span style="color:#b3933a;">0001</span><span style="color:#1f1f1f;">_0100 |
| 58 | +</span><span style="color:#b3933a;">0001</span><span style="color:#1f1f1f;">_1100 |
| 59 | +</span></code></pre> |
| 60 | +<p><img src="/images/info.svg" alt="info" /> See <a href="https://docs.python.org/3/reference/lexical_analysis.html#f-strings">docs.python: Formatted string literals</a> for documentation and other examples.</p> |
| 61 | +<p><strong>Video demo</strong>:</p> |
| 62 | +<p align="center"><iframe width="560" height="315" loading="lazy" src="https://www.youtube.com/embed/wFg0wS8nY4o" title="YouTube video player" frameborder="0" allow="accelerometer; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe></p> |
| 63 | +<br> |
| 64 | +<p><img src="/images/info.svg" alt="info" /> See also my <a href="https://github.com/learnbyexample/100_page_python_intro">100 Page Python Intro</a> ebook.</p> |
| 65 | +</content> |
| 66 | + </entry> |
10 | 67 | <entry xml:lang="en">
|
11 | 68 | <title>Vim tip 11: replace characters in Normal mode</title>
|
12 | 69 | <published>2022-07-06T00:00:00+00:00</published>
|
|
0 commit comments