summaryrefslogtreecommitdiffstats
path: root/thoughts/syntax/random-python-idiosyncrasies.html
diff options
context:
space:
mode:
Diffstat (limited to 'thoughts/syntax/random-python-idiosyncrasies.html')
-rw-r--r--thoughts/syntax/random-python-idiosyncrasies.html308
1 files changed, 250 insertions, 58 deletions
diff --git a/thoughts/syntax/random-python-idiosyncrasies.html b/thoughts/syntax/random-python-idiosyncrasies.html
index fd2336d..dc67e4d 100644
--- a/thoughts/syntax/random-python-idiosyncrasies.html
+++ b/thoughts/syntax/random-python-idiosyncrasies.html
@@ -6,6 +6,146 @@
<meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=yes" />
<title>random-python-idiosyncrasies</title>
<style>
+ html {
+ line-height: 1.5;
+ font-family: Georgia, serif;
+ font-size: 20px;
+ color: #1a1a1a;
+ background-color: #fdfdfd;
+ }
+ body {
+ margin: 0 auto;
+ max-width: 36em;
+ padding-left: 50px;
+ padding-right: 50px;
+ padding-top: 50px;
+ padding-bottom: 50px;
+ hyphens: auto;
+ overflow-wrap: break-word;
+ text-rendering: optimizeLegibility;
+ font-kerning: normal;
+ }
+ @media (max-width: 600px) {
+ body {
+ font-size: 0.9em;
+ padding: 1em;
+ }
+ h1 {
+ font-size: 1.8em;
+ }
+ }
+ @media print {
+ body {
+ background-color: transparent;
+ color: black;
+ font-size: 12pt;
+ }
+ p, h2, h3 {
+ orphans: 3;
+ widows: 3;
+ }
+ h2, h3, h4 {
+ page-break-after: avoid;
+ }
+ }
+ p {
+ margin: 1em 0;
+ }
+ a {
+ color: #1a1a1a;
+ }
+ a:visited {
+ color: #1a1a1a;
+ }
+ img {
+ max-width: 100%;
+ }
+ h1, h2, h3, h4, h5, h6 {
+ margin-top: 1.4em;
+ }
+ h5, h6 {
+ font-size: 1em;
+ font-style: italic;
+ }
+ h6 {
+ font-weight: normal;
+ }
+ ol, ul {
+ padding-left: 1.7em;
+ margin-top: 1em;
+ }
+ li > ol, li > ul {
+ margin-top: 0;
+ }
+ blockquote {
+ margin: 1em 0 1em 1.7em;
+ padding-left: 1em;
+ border-left: 2px solid #e6e6e6;
+ color: #606060;
+ }
+ code {
+ font-family: Menlo, Monaco, 'Lucida Console', Consolas, monospace;
+ font-size: 85%;
+ margin: 0;
+ }
+ pre {
+ margin: 1em 0;
+ overflow: auto;
+ }
+ pre code {
+ padding: 0;
+ overflow: visible;
+ overflow-wrap: normal;
+ }
+ .sourceCode {
+ background-color: transparent;
+ overflow: visible;
+ }
+ hr {
+ background-color: #1a1a1a;
+ border: none;
+ height: 1px;
+ margin: 1em 0;
+ }
+ table {
+ margin: 1em 0;
+ border-collapse: collapse;
+ width: 100%;
+ overflow-x: auto;
+ display: block;
+ font-variant-numeric: lining-nums tabular-nums;
+ }
+ table caption {
+ margin-bottom: 0.75em;
+ }
+ tbody {
+ margin-top: 0.5em;
+ border-top: 1px solid #1a1a1a;
+ border-bottom: 1px solid #1a1a1a;
+ }
+ th {
+ border-top: 1px solid #1a1a1a;
+ padding: 0.25em 0.5em 0.25em 0.5em;
+ }
+ td {
+ padding: 0.125em 0.5em 0.25em 0.5em;
+ }
+ header {
+ margin-bottom: 4em;
+ text-align: center;
+ }
+ #TOC li {
+ list-style: none;
+ }
+ #TOC ul {
+ padding-left: 1.3em;
+ }
+ #TOC > ul {
+ padding-left: 0;
+ }
+ #TOC a:not(:hover) {
+ text-decoration: none;
+ }
code{white-space: pre-wrap;}
span.smallcaps{font-variant: small-caps;}
span.underline{text-decoration: underline;}
@@ -15,6 +155,7 @@
pre > code.sourceCode { white-space: pre; position: relative; }
pre > code.sourceCode > span { display: inline-block; line-height: 1.25; }
pre > code.sourceCode > span:empty { height: 1.2em; }
+ .sourceCode { overflow: visible; }
code.sourceCode > span { color: inherit; text-decoration: inherit; }
div.sourceCode { margin: 1em 0; }
pre.sourceCode { margin: 0; }
@@ -49,7 +190,7 @@
code span.an { color: #60a0b0; font-weight: bold; font-style: italic; } /* Annotation */
code span.at { color: #7d9029; } /* Attribute */
code span.bn { color: #40a070; } /* BaseN */
- code span.bu { } /* BuiltIn */
+ code span.bu { color: #008000; } /* BuiltIn */
code span.cf { color: #007020; font-weight: bold; } /* ControlFlow */
code span.ch { color: #4070a0; } /* Char */
code span.cn { color: #880000; } /* Constant */
@@ -62,7 +203,7 @@
code span.ex { } /* Extension */
code span.fl { color: #40a070; } /* Float */
code span.fu { color: #06287e; } /* Function */
- code span.im { } /* Import */
+ code span.im { color: #008000; font-weight: bold; } /* Import */
code span.in { color: #60a0b0; font-weight: bold; font-style: italic; } /* Information */
code span.kw { color: #007020; font-weight: bold; } /* Keyword */
code span.op { color: #666666; } /* Operator */
@@ -74,6 +215,7 @@
code span.va { color: #19177c; } /* Variable */
code span.vs { color: #4070a0; } /* VerbatimString */
code span.wa { color: #60a0b0; font-weight: bold; font-style: italic; } /* Warning */
+ .display.math{display: block; text-align: center; margin: 0.5rem auto;}
</style>
</head>
<body>
@@ -82,78 +224,128 @@
<ul>
<li><a href="#coding-style-guide">Coding Style Guide</a>
<ul>
-<li><a href="#strings-are-double-quoted.-keys-and-chars-are-single-quoted.">1) <em>Strings</em> are <em>double-quoted</em>. <em>Keys</em> and <em>chars</em> are <em>single-quoted</em>.</a></li>
-<li><a href="#long-strings-belong-in-parentheses">2) Long strings belong in parentheses</a></li>
-<li><a href="#tabs-are-four-spaces-and-spaces-are-always-preferred-to-tabs">3) Tabs are four spaces and spaces are <em>ALWAYS</em> preferred to tabs</a></li>
-<li><a href="#always-add-spaces-between-arithmetic-but-never-for-brackets">4) Always add spaces between arithmetic, but never for brackets</a></li>
-<li><a href="#everything-should-be-snake_case">5) EVERYTHING should be snake_case</a></li>
-<li><a href="#if-its-over-100-lines-you-probably-need-a-new-file-and-a-class">6) If it's over 100 lines, you probably need a new file (and a class)</a></li>
+<li><a
+href="#strings-are-double-quoted.-keys-and-chars-are-single-quoted.">1)
+<em>Strings</em> are <em>double-quoted</em>. <em>Keys</em> and
+<em>chars</em> are <em>single-quoted</em>.</a></li>
+<li><a href="#long-strings-belong-in-parentheses">2) Long strings belong
+in parentheses</a></li>
+<li><a
+href="#tabs-are-four-spaces-and-spaces-are-always-preferred-to-tabs">3)
+Tabs are four spaces and spaces are <em>ALWAYS</em> preferred to
+tabs</a></li>
+<li><a
+href="#always-add-spaces-between-arithmetic-but-never-for-brackets">4)
+Always add spaces between arithmetic, but never for brackets</a></li>
+<li><a href="#everything-should-be-snake_case">5) EVERYTHING should be
+snake_case</a></li>
+<li><a
+href="#if-its-over-100-lines-you-probably-need-a-new-file-and-a-class">6)
+If it's over 100 lines, you probably need a new file (and a
+class)</a></li>
</ul></li>
</ul>
</nav>
<h1 id="coding-style-guide">Coding Style Guide</h1>
<p>The purpose of this document is twofold:</p>
<ol type="1">
-<li>To ensure that anyone who might like to make my code better understands why I write python the way I do</li>
-<li>To ensure <em>I</em> adhere to my own style because I'm terribly inconsistent</li>
+<li>To ensure that anyone who might like to make my code better
+understands why I write python the way I do</li>
+<li>To ensure <em>I</em> adhere to my own style because I'm terribly
+inconsistent</li>
</ol>
-<p>Being terribly inconsistent, the guidelines are not set in stone and if you have a good argument for doing things a particular, I don't really care.</p>
-<p><em>BUT</em> first and foremost, <em>code must comply with PEP8 first</em>. This is easy to automate. I like <a href="https://pypi.org/project/black/">black</a> since it's easy to use but there' plenty of advanced linters out there.</p>
-<p>I usually invoke it like this to turn off forcing double quotes and force the line length to 72:</p>
-<div class="sourceCode" id="cb1"><pre class="sourceCode bash"><code class="sourceCode bash"><span id="cb1-1"><a href="#cb1-1" aria-hidden="true"></a><span class="ex">black</span> -S -l 72 file.py</span></code></pre></div>
+<p>Being terribly inconsistent, the guidelines are not set in stone and
+if you have a good argument for doing things a particular, I don't
+really care.</p>
+<p><em>BUT</em> first and foremost, <em>code must comply with PEP8
+first</em>. This is easy to automate. I like <a
+href="https://pypi.org/project/black/">black</a> since it's easy to use
+but there' plenty of advanced linters out there.</p>
+<p>I usually invoke it like this to turn off forcing double quotes and
+force the line length to 72:</p>
+<div class="sourceCode" id="cb1"><pre
+class="sourceCode bash"><code class="sourceCode bash"><span id="cb1-1"><a href="#cb1-1" aria-hidden="true" tabindex="-1"></a><span class="ex">black</span> <span class="at">-S</span> <span class="at">-l</span> 72 file.py</span></code></pre></div>
<p>That aside, I have the following idiosyncracies:</p>
-<h2 id="strings-are-double-quoted.-keys-and-chars-are-single-quoted.">1) <em>Strings</em> are <em>double-quoted</em>. <em>Keys</em> and <em>chars</em> are <em>single-quoted</em>.</h2>
-<p>This is really just because I like how C does it. And Cpython's C-based so why not?</p>
+<h2 id="strings-are-double-quoted.-keys-and-chars-are-single-quoted.">1)
+<em>Strings</em> are <em>double-quoted</em>. <em>Keys</em> and
+<em>chars</em> are <em>single-quoted</em>.</h2>
+<p>This is really just because I like how C does it. And Cpython's
+C-based so why not?</p>
<p>Like so:</p>
-<div class="sourceCode" id="cb2"><pre class="sourceCode python"><code class="sourceCode python"><span id="cb2-1"><a href="#cb2-1" aria-hidden="true"></a>string <span class="op">=</span> <span class="st">&quot;This is a phrase&quot;</span></span>
-<span id="cb2-2"><a href="#cb2-2" aria-hidden="true"></a>word <span class="op">=</span> <span class="st">&quot;word&quot;</span></span>
-<span id="cb2-3"><a href="#cb2-3" aria-hidden="true"></a>cur_char <span class="op">=</span> <span class="st">&#39;a&#39;</span></span>
-<span id="cb2-4"><a href="#cb2-4" aria-hidden="true"></a>newline <span class="op">=</span> <span class="st">&#39;</span><span class="ch">\n</span><span class="st">&#39;</span> <span class="co"># note, two characters, but it&#39;s still ONE char out</span></span>
-<span id="cb2-5"><a href="#cb2-5" aria-hidden="true"></a><span class="co"># keys are single-quoted to avoid confusion</span></span>
-<span id="cb2-6"><a href="#cb2-6" aria-hidden="true"></a>dictionary <span class="op">=</span> { <span class="st">&#39;key&#39;</span> <span class="st">&quot;1245dqw3w431&quot;</span>, <span class="st">&#39;return&#39;</span>: newline }</span></code></pre></div>
-<p>The only exception is for strings with quotes in them (anything to avoid escapes, really)</p>
-<div class="sourceCode" id="cb3"><pre class="sourceCode python"><code class="sourceCode python"><span id="cb3-1"><a href="#cb3-1" aria-hidden="true"></a>quoted_string <span class="op">=</span> (</span>
-<span id="cb3-2"><a href="#cb3-2" aria-hidden="true"></a> <span class="st">&#39;&quot;You miss 100</span><span class="sc">% o</span><span class="st">f the shots you don&#39;</span>t take <span class="op">-</span> Wayne Gretsky<span class="st">&quot;&#39;</span></span>
-<span id="cb3-3"><a href="#cb3-3" aria-hidden="true"></a><span class="st"> &#39; - Michael Scott&#39;</span></span>
-<span id="cb3-4"><a href="#cb3-4" aria-hidden="true"></a><span class="st">)</span></span></code></pre></div>
+<div class="sourceCode" id="cb2"><pre
+class="sourceCode python"><code class="sourceCode python"><span id="cb2-1"><a href="#cb2-1" aria-hidden="true" tabindex="-1"></a>string <span class="op">=</span> <span class="st">&quot;This is a phrase&quot;</span></span>
+<span id="cb2-2"><a href="#cb2-2" aria-hidden="true" tabindex="-1"></a>word <span class="op">=</span> <span class="st">&quot;word&quot;</span></span>
+<span id="cb2-3"><a href="#cb2-3" aria-hidden="true" tabindex="-1"></a>cur_char <span class="op">=</span> <span class="st">&#39;a&#39;</span></span>
+<span id="cb2-4"><a href="#cb2-4" aria-hidden="true" tabindex="-1"></a>newline <span class="op">=</span> <span class="st">&#39;</span><span class="ch">\n</span><span class="st">&#39;</span> <span class="co"># note, two characters, but it&#39;s still ONE char out</span></span>
+<span id="cb2-5"><a href="#cb2-5" aria-hidden="true" tabindex="-1"></a><span class="co"># keys are single-quoted to avoid confusion</span></span>
+<span id="cb2-6"><a href="#cb2-6" aria-hidden="true" tabindex="-1"></a>dictionary <span class="op">=</span> { <span class="st">&#39;key&#39;</span> <span class="st">&quot;1245dqw3w431&quot;</span>, <span class="st">&#39;return&#39;</span>: newline }</span></code></pre></div>
+<p>The only exception is for strings with quotes in them (anything to
+avoid escapes, really)</p>
+<div class="sourceCode" id="cb3"><pre
+class="sourceCode python"><code class="sourceCode python"><span id="cb3-1"><a href="#cb3-1" aria-hidden="true" tabindex="-1"></a>quoted_string <span class="op">=</span> (</span>
+<span id="cb3-2"><a href="#cb3-2" aria-hidden="true" tabindex="-1"></a> <span class="st">&#39;&quot;You miss 100</span><span class="sc">% o</span><span class="st">f the shots you don&#39;</span>t take <span class="op">-</span> Wayne Gretsky<span class="st">&quot;&#39;</span></span>
+<span id="cb3-3"><a href="#cb3-3" aria-hidden="true" tabindex="-1"></a><span class="er"> &#39; - Michael Scott&#39;</span></span>
+<span id="cb3-4"><a href="#cb3-4" aria-hidden="true" tabindex="-1"></a><span class="er">)</span></span></code></pre></div>
<p>That brings me to my next point.</p>
-<h2 id="long-strings-belong-in-parentheses">2) Long strings belong in parentheses</h2>
+<h2 id="long-strings-belong-in-parentheses">2) Long strings belong in
+parentheses</h2>
<p>As in:</p>
-<div class="sourceCode" id="cb4"><pre class="sourceCode python"><code class="sourceCode python"><span id="cb4-1"><a href="#cb4-1" aria-hidden="true"></a>longboi <span class="op">=</span> (</span>
-<span id="cb4-2"><a href="#cb4-2" aria-hidden="true"></a> <span class="st">&quot;This is a really long string usefull when making help menus. Be</span><span class="ch">\n</span><span class="st">&quot;</span></span>
-<span id="cb4-3"><a href="#cb4-3" aria-hidden="true"></a> <span class="st">&quot;sure to leave s space at the end of each line, or add a new line</span><span class="ch">\n</span><span class="st">&quot;</span></span>
-<span id="cb4-4"><a href="#cb4-4" aria-hidden="true"></a> <span class="st">&quot;when needed.</span><span class="ch">\n\n</span><span class="st">&quot;</span></span>
-<span id="cb4-5"><a href="#cb4-5" aria-hidden="true"></a></span>
-<span id="cb4-6"><a href="#cb4-6" aria-hidden="true"></a> <span class="st">&quot;Try your best to keep formatting accurate like this.&quot;</span></span>
-<span id="cb4-7"><a href="#cb4-7" aria-hidden="true"></a>)</span></code></pre></div>
-<h2 id="tabs-are-four-spaces-and-spaces-are-always-preferred-to-tabs">3) Tabs are four spaces and spaces are <em>ALWAYS</em> preferred to tabs</h2>
+<div class="sourceCode" id="cb4"><pre
+class="sourceCode python"><code class="sourceCode python"><span id="cb4-1"><a href="#cb4-1" aria-hidden="true" tabindex="-1"></a>longboi <span class="op">=</span> (</span>
+<span id="cb4-2"><a href="#cb4-2" aria-hidden="true" tabindex="-1"></a> <span class="st">&quot;This is a really long string usefull when making help menus. Be</span><span class="ch">\n</span><span class="st">&quot;</span></span>
+<span id="cb4-3"><a href="#cb4-3" aria-hidden="true" tabindex="-1"></a> <span class="st">&quot;sure to leave s space at the end of each line, or add a new line</span><span class="ch">\n</span><span class="st">&quot;</span></span>
+<span id="cb4-4"><a href="#cb4-4" aria-hidden="true" tabindex="-1"></a> <span class="st">&quot;when needed.</span><span class="ch">\n\n</span><span class="st">&quot;</span></span>
+<span id="cb4-5"><a href="#cb4-5" aria-hidden="true" tabindex="-1"></a></span>
+<span id="cb4-6"><a href="#cb4-6" aria-hidden="true" tabindex="-1"></a> <span class="st">&quot;Try your best to keep formatting accurate like this.&quot;</span></span>
+<span id="cb4-7"><a href="#cb4-7" aria-hidden="true" tabindex="-1"></a>)</span></code></pre></div>
+<h2 id="tabs-are-four-spaces-and-spaces-are-always-preferred-to-tabs">3)
+Tabs are four spaces and spaces are <em>ALWAYS</em> preferred to
+tabs</h2>
<p>Again, see PEP8.</p>
-<h2 id="always-add-spaces-between-arithmetic-but-never-for-brackets">4) Always add spaces between arithmetic, but never for brackets</h2>
+<h2 id="always-add-spaces-between-arithmetic-but-never-for-brackets">4)
+Always add spaces between arithmetic, but never for brackets</h2>
<p>It's a pain to read:</p>
-<div class="sourceCode" id="cb5"><pre class="sourceCode python"><code class="sourceCode python"><span id="cb5-1"><a href="#cb5-1" aria-hidden="true"></a><span class="dv">1</span><span class="op">/</span>(<span class="dv">2</span><span class="op">*</span>sqrt(pi))<span class="op">*</span>exp(x<span class="op">**</span><span class="dv">2</span>)</span></code></pre></div>
+<div class="sourceCode" id="cb5"><pre
+class="sourceCode python"><code class="sourceCode python"><span id="cb5-1"><a href="#cb5-1" aria-hidden="true" tabindex="-1"></a><span class="dv">1</span><span class="op">/</span>(<span class="dv">2</span><span class="op">*</span>sqrt(pi))<span class="op">*</span>exp(x<span class="op">**</span><span class="dv">2</span>)</span></code></pre></div>
<p>Do this</p>
-<div class="sourceCode" id="cb6"><pre class="sourceCode python"><code class="sourceCode python"><span id="cb6-1"><a href="#cb6-1" aria-hidden="true"></a><span class="dv">1</span> <span class="op">/</span> (<span class="dv">2</span> <span class="op">*</span> sqrt(pi)) <span class="op">*</span> exp(x <span class="op">**</span> <span class="dv">2</span>)</span></code></pre></div>
+<div class="sourceCode" id="cb6"><pre
+class="sourceCode python"><code class="sourceCode python"><span id="cb6-1"><a href="#cb6-1" aria-hidden="true" tabindex="-1"></a><span class="dv">1</span> <span class="op">/</span> (<span class="dv">2</span> <span class="op">*</span> sqrt(pi)) <span class="op">*</span> exp(x <span class="op">**</span> <span class="dv">2</span>)</span></code></pre></div>
<p>The same goes for logic operators</p>
-<div class="sourceCode" id="cb7"><pre class="sourceCode python"><code class="sourceCode python"><span id="cb7-1"><a href="#cb7-1" aria-hidden="true"></a>true <span class="op">&amp;</span> false <span class="op">^</span> true</span></code></pre></div>
-<h2 id="everything-should-be-snake_case">5) EVERYTHING should be snake_case</h2>
-<p>This is python. Unless there's a compatibility thing (like a library's code was written that way, or it matches an API variable), snake_case is preferred.</p>
-<div class="sourceCode" id="cb8"><pre class="sourceCode python"><code class="sourceCode python"><span id="cb8-1"><a href="#cb8-1" aria-hidden="true"></a>user_input <span class="op">=</span> <span class="bu">int</span>(<span class="bu">input</span>()) <span class="co"># variable</span></span>
-<span id="cb8-2"><a href="#cb8-2" aria-hidden="true"></a>MAX_INPUT <span class="op">=</span> <span class="dv">1000</span> <span class="co"># constant</span></span>
-<span id="cb8-3"><a href="#cb8-3" aria-hidden="true"></a><span class="kw">def</span> judge_input(_input, _max): <span class="co"># function</span></span>
-<span id="cb8-4"><a href="#cb8-4" aria-hidden="true"></a> <span class="cf">if</span> _max <span class="op">&gt;</span> _input:</span>
-<span id="cb8-5"><a href="#cb8-5" aria-hidden="true"></a> <span class="bu">print</span>(<span class="st">&quot;Too big!&quot;</span>)</span>
-<span id="cb8-6"><a href="#cb8-6" aria-hidden="true"></a></span>
-<span id="cb8-7"><a href="#cb8-7" aria-hidden="true"></a>judge_input(user_input, MAX_INPUT</span>
-<span id="cb8-8"><a href="#cb8-8" aria-hidden="true"></a><span class="kw">class</span> Input_Judger: <span class="co"># a class</span></span>
-<span id="cb8-9"><a href="#cb8-9" aria-hidden="true"></a> <span class="co"># etc etc</span></span></code></pre></div>
+<div class="sourceCode" id="cb7"><pre
+class="sourceCode python"><code class="sourceCode python"><span id="cb7-1"><a href="#cb7-1" aria-hidden="true" tabindex="-1"></a>true <span class="op">&amp;</span> false <span class="op">^</span> true</span></code></pre></div>
+<h2 id="everything-should-be-snake_case">5) EVERYTHING should be
+snake_case</h2>
+<p>This is python. Unless there's a compatibility thing (like a
+library's code was written that way, or it matches an API variable),
+snake_case is preferred.</p>
+<div class="sourceCode" id="cb8"><pre
+class="sourceCode python"><code class="sourceCode python"><span id="cb8-1"><a href="#cb8-1" aria-hidden="true" tabindex="-1"></a>user_input <span class="op">=</span> <span class="bu">int</span>(<span class="bu">input</span>()) <span class="co"># variable</span></span>
+<span id="cb8-2"><a href="#cb8-2" aria-hidden="true" tabindex="-1"></a>MAX_INPUT <span class="op">=</span> <span class="dv">1000</span> <span class="co"># constant</span></span>
+<span id="cb8-3"><a href="#cb8-3" aria-hidden="true" tabindex="-1"></a><span class="kw">def</span> judge_input(_input, _max): <span class="co"># function</span></span>
+<span id="cb8-4"><a href="#cb8-4" aria-hidden="true" tabindex="-1"></a> <span class="cf">if</span> _max <span class="op">&gt;</span> _input:</span>
+<span id="cb8-5"><a href="#cb8-5" aria-hidden="true" tabindex="-1"></a> <span class="bu">print</span>(<span class="st">&quot;Too big!&quot;</span>)</span>
+<span id="cb8-6"><a href="#cb8-6" aria-hidden="true" tabindex="-1"></a></span>
+<span id="cb8-7"><a href="#cb8-7" aria-hidden="true" tabindex="-1"></a>judge_input(user_input, MAX_INPUT</span>
+<span id="cb8-8"><a href="#cb8-8" aria-hidden="true" tabindex="-1"></a><span class="kw">class</span> Input_Judger: <span class="co"># a class</span></span>
+<span id="cb8-9"><a href="#cb8-9" aria-hidden="true" tabindex="-1"></a> <span class="co"># etc etc</span></span></code></pre></div>
<p>Example exception:</p>
-<div class="sourceCode" id="cb9"><pre class="sourceCode python"><code class="sourceCode python"><span id="cb9-1"><a href="#cb9-1" aria-hidden="true"></a><span class="co"># this doesn&#39;t actually work, but you get the idea</span></span>
-<span id="cb9-2"><a href="#cb9-2" aria-hidden="true"></a>r <span class="op">=</span> requests.get(<span class="st">&quot;www.debian.org&quot;</span>)</span>
-<span id="cb9-3"><a href="#cb9-3" aria-hidden="true"></a>pageSize <span class="op">=</span> r.json()[<span class="st">&#39;pageSize&#39;</span>] <span class="co"># camel case ok</span></span></code></pre></div>
-<h2 id="if-its-over-100-lines-you-probably-need-a-new-file-and-a-class">6) If it's over 100 lines, you probably need a new file (and a class)</h2>
-<p>This is more of a general coding thing, but I've encountered so many 1000 line monster out there, I need to reiterate it. I understand how these things come to be, having made a few myself in the beginning. You get an idea and want to see it through in full. Like <em>On the Road</em> it comes out as a scroll Merlin himself would be proud of.</p>
-<p>But coming back to the scroll in a week half-drunk and half-tired is not a situation you want to be caught in. You can always import <em>any</em> python code you write with a simple:</p>
-<div class="sourceCode" id="cb10"><pre class="sourceCode python"><code class="sourceCode python"><span id="cb10-1"><a href="#cb10-1" aria-hidden="true"></a><span class="im">import</span> filename</span></code></pre></div>
+<div class="sourceCode" id="cb9"><pre
+class="sourceCode python"><code class="sourceCode python"><span id="cb9-1"><a href="#cb9-1" aria-hidden="true" tabindex="-1"></a><span class="co"># this doesn&#39;t actually work, but you get the idea</span></span>
+<span id="cb9-2"><a href="#cb9-2" aria-hidden="true" tabindex="-1"></a>r <span class="op">=</span> requests.get(<span class="st">&quot;www.debian.org&quot;</span>)</span>
+<span id="cb9-3"><a href="#cb9-3" aria-hidden="true" tabindex="-1"></a>pageSize <span class="op">=</span> r.json()[<span class="st">&#39;pageSize&#39;</span>] <span class="co"># camel case ok</span></span></code></pre></div>
+<h2
+id="if-its-over-100-lines-you-probably-need-a-new-file-and-a-class">6)
+If it's over 100 lines, you probably need a new file (and a class)</h2>
+<p>This is more of a general coding thing, but I've encountered so many
+1000 line monster out there, I need to reiterate it. I understand how
+these things come to be, having made a few myself in the beginning. You
+get an idea and want to see it through in full. Like <em>On the
+Road</em> it comes out as a scroll Merlin himself would be proud of.</p>
+<p>But coming back to the scroll in a week half-drunk and half-tired is
+not a situation you want to be caught in. You can always import
+<em>any</em> python code you write with a simple:</p>
+<div class="sourceCode" id="cb10"><pre
+class="sourceCode python"><code class="sourceCode python"><span id="cb10-1"><a href="#cb10-1" aria-hidden="true" tabindex="-1"></a><span class="im">import</span> filename</span></code></pre></div>
<p>As long as it's in the same directory.</p>
</body>
</html>