| 8 | | <div style='margin: auto; width: 50%;'><h2>Strings</h2><ul> |
| 9 | | <li>Examples:<div class="highlight"><pre><span class="gp">>>> </span><span class="n">x</span> <span class="o">=</span> <span class="nb">chr</span><span class="p">(</span><span class="mf">13</span><span class="p">)</span> |
| 10 | | <span class="gp">>>> </span><span class="n">y</span> <span class="o">=</span> <span class="nb">chr</span><span class="p">(</span><span class="mf">13</span><span class="p">)</span> |
| 11 | | <span class="gp">>>> </span><span class="nb">id</span><span class="p">(</span><span class="n">x</span><span class="p">),</span> <span class="nb">id</span><span class="p">(</span><span class="n">y</span><span class="p">)</span> |
| 12 | | <span class="go">(3082874688L, 3082874688L)</span> |
| 13 | | <span class="gp">>>> </span><span class="n">x</span> <span class="o">=</span> <span class="nb">chr</span><span class="p">(</span><span class="mf">13</span><span class="p">)</span> <span class="o">+</span> <span class="nb">chr</span><span class="p">(</span><span class="mf">14</span><span class="p">)</span> |
| 14 | | <span class="gp">>>> </span><span class="n">y</span> <span class="o">=</span> <span class="nb">chr</span><span class="p">(</span><span class="mf">13</span><span class="p">)</span> <span class="o">+</span> <span class="nb">chr</span><span class="p">(</span><span class="mf">14</span><span class="p">)</span> |
| 15 | | <span class="gp">>>> </span><span class="nb">id</span><span class="p">(</span><span class="n">x</span><span class="p">),</span> <span class="nb">id</span><span class="p">(</span><span class="n">y</span><span class="p">)</span> |
| 16 | | <span class="go">(3077159616L, 3077159584L)</span> |
| 17 | | <span class="gp">>>> </span><span class="n">x</span> <span class="o">=</span> <span class="s">"a"</span><span class="o">*</span><span class="mf">20</span> |
| 18 | | <span class="gp">>>> </span><span class="n">y</span> <span class="o">=</span> <span class="s">"a"</span><span class="o">*</span><span class="mf">20</span> |
| 19 | | <span class="gp">>>> </span><span class="n">z</span> <span class="o">=</span> <span class="s">"a"</span><span class="o">*</span><span class="mf">21</span> |
| 20 | | <span class="gp">>>> </span><span class="n">w</span> <span class="o">=</span> <span class="s">"a"</span><span class="o">*</span><span class="mf">21</span> |
| 21 | | <span class="gp">>>> </span><span class="nb">id</span><span class="p">(</span><span class="n">x</span><span class="p">),</span> <span class="nb">id</span><span class="p">(</span><span class="n">y</span><span class="p">),</span> <span class="nb">id</span><span class="p">(</span><span class="n">z</span><span class="p">),</span> <span class="nb">id</span><span class="p">(</span><span class="n">w</span><span class="p">)</span> |
| 22 | | <span class="go">(3079663488L, 3079663488L, 3079721328L, 3079721568L)</span> |
| 23 | | </pre></div> |
| 24 | | </li> |
| 25 | | |
| 26 | | <li>Single characters and empty string held in permament cache (Objects/stringobject.c).</li> |
| 27 | | |
| 28 | | <li>Constants strings of size <= 20 interned by parser.</li> |
| 29 | | |
| 30 | | <li>PyString_InternInPlace (PyUnicode_InternInPlace in 3.0) results in strings being stored in internal dictionary.<ul><li>Reference in interned not counted in reference count (nasty hack to hide this from users).</li> |
| 31 | | </ul></li> |
| 32 | | |
| 33 | | <li>Strings are replaced by Unicode in 3.0</li> |
| | 8 | <div style='margin: auto; width: 50%;'><h2>Classes and Basic OO</h2><ul> |
| | 9 | <li>...</li> |