Changeset 332

Show
Ignore:
Timestamp:
06/19/08 16:53:21 (4 years ago)
Author:
simon
Message:

More slides.

Location:
hodgestar/Talks/PythonObjects
Files:
1 added
6 modified

Legend:

Unmodified
Added
Removed
  • hodgestar/Talks/PythonObjects/html/pyobjects-0.html

    r331 r332  
    1010<li><a href='pyobjects-1.html'>Everything You Didn't Want to Known About Python Objects</a></li> 
    1111<li><a href='pyobjects-2.html'>Out With The Old ...</a></li> 
    12 <li><a href='pyobjects-3.html'>Gamboling With Slots</a></li> 
    13 <li><a href='pyobjects-4.html'>PyObject C API</a></li> 
    14 <li><a href='pyobjects-5.html'>object.c</a></li> 
     12<li><a href='pyobjects-3.html'>Strings</a></li> 
     13<li><a href='pyobjects-4.html'>Gamboling With Slots</a></li> 
     14<li><a href='pyobjects-5.html'>PyObject C API</a></li> 
     15<li><a href='pyobjects-6.html'>object.c</a></li> 
    1516</ol> 
    1617<br /></body></html> 
  • hodgestar/Talks/PythonObjects/html/pyobjects-2.html

    r330 r332  
    77<body> 
    88<a accesskey="P" href="pyobjects-1.html">Prev</a> | <a href="pyobjects-0.html">Index</a> | <a acesskey="N" href="pyobjects-3.html">Next</a><h2>Out With The Old ...</h2><ul> 
    9 <li><div class="highlight"><pre><span class="k">class</span> <span class="nc">OldStyle</span><span class="p">:</span> 
    10     <span class="o">...</span> 
     9<li>Old style:<div class="highlight"><pre><span class="gp">&gt;&gt;&gt; </span><span class="k">class</span> <span class="nc">Old</span><span class="p">:</span> 
     10<span class="gp">... </span>  <span class="k">pass</span> 
     11<span class="gp">...</span> 
     12<span class="gp">&gt;&gt;&gt; </span><span class="nb">type</span><span class="p">(</span><span class="n">Old</span><span class="p">),</span> <span class="nb">type</span><span class="p">(</span><span class="n">Old</span><span class="p">())</span> 
     13<span class="go">(&lt;type &#39;classobj&#39;&gt;, &lt;type &#39;instance&#39;&gt;)</span> 
    1114</pre></div> 
    1215</li> 
    1316 
    14 <li><div class="highlight"><pre><span class="k">class</span> <span class="nc">NewStyle</span><span class="p">(</span><span class="nb">object</span><span class="p">):</span> 
    15     <span class="o">...</span> 
     17<li>New Style:<div class="highlight"><pre><span class="gp">&gt;&gt;&gt; </span><span class="k">class</span> <span class="nc">New</span><span class="p">(</span><span class="nb">object</span><span class="p">):</span> 
     18<span class="gp">... </span>  <span class="k">pass</span> 
     19<span class="gp">...</span> 
     20<span class="gp">&gt;&gt;&gt; </span><span class="nb">type</span><span class="p">(</span><span class="n">New</span><span class="p">),</span> <span class="nb">type</span><span class="p">(</span><span class="n">New</span><span class="p">())</span> 
     21<span class="go">(&lt;type &#39;type&#39;&gt;, &lt;class &#39;__main__.New&#39;&gt;)</span> 
    1622</pre></div> 
    1723</li> 
  • hodgestar/Talks/PythonObjects/html/pyobjects-3.html

    r331 r332  
    66</head> 
    77<body> 
    8 <a accesskey="P" href="pyobjects-2.html">Prev</a> | <a href="pyobjects-0.html">Index</a> | <a acesskey="N" href="pyobjects-4.html">Next</a><h2>Gamboling With Slots</h2><ul> 
     8<a accesskey="P" href="pyobjects-2.html">Prev</a> | <a href="pyobjects-0.html">Index</a> | <a acesskey="N" href="pyobjects-4.html">Next</a><h2>Strings</h2><ul> 
     9<li>Examples:<div class="highlight"><pre><span class="gp">&gt;&gt;&gt; </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">&gt;&gt;&gt; </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">&gt;&gt;&gt; </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">&gt;&gt;&gt; </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">&gt;&gt;&gt; </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">&gt;&gt;&gt; </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">&gt;&gt;&gt; </span><span class="n">x</span> <span class="o">=</span> <span class="s">&quot;a&quot;</span><span class="o">*</span><span class="mf">20</span> 
     18<span class="gp">&gt;&gt;&gt; </span><span class="n">y</span> <span class="o">=</span> <span class="s">&quot;a&quot;</span><span class="o">*</span><span class="mf">20</span> 
     19<span class="gp">&gt;&gt;&gt; </span><span class="n">z</span> <span class="o">=</span> <span class="s">&quot;a&quot;</span><span class="o">*</span><span class="mf">21</span> 
     20<span class="gp">&gt;&gt;&gt; </span><span class="n">w</span> <span class="o">=</span> <span class="s">&quot;a&quot;</span><span class="o">*</span><span class="mf">21</span> 
     21<span class="gp">&gt;&gt;&gt; </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 &lt;= 20 cache by parser (TODO: check).</li> 
    929</ul> 
    1030<br /><div class="footer"><hr />Everything You Didn't Want to Known About Python Objects</div></body></html> 
  • hodgestar/Talks/PythonObjects/html/pyobjects-4.html

    r331 r332  
    66</head> 
    77<body> 
    8 <a accesskey="P" href="pyobjects-3.html">Prev</a> | <a href="pyobjects-0.html">Index</a> | <a acesskey="N" href="pyobjects-5.html">Next</a><h2>PyObject C API</h2><ul> 
     8<a accesskey="P" href="pyobjects-3.html">Prev</a> | <a href="pyobjects-0.html">Index</a> | <a acesskey="N" href="pyobjects-5.html">Next</a><h2>Gamboling With Slots</h2><ul> 
    99</ul> 
    1010<br /><div class="footer"><hr />Everything You Didn't Want to Known About Python Objects</div></body></html> 
  • hodgestar/Talks/PythonObjects/html/pyobjects-5.html

    r331 r332  
    66</head> 
    77<body> 
    8 <a accesskey="P" href="pyobjects-4.html">Prev</a> | <a href="pyobjects-0.html">Index</a> | Next<h2>object.c</h2><ul> 
    9 <li><img src='tabs.png' alt='' /></li> 
     8<a accesskey="P" href="pyobjects-4.html">Prev</a> | <a href="pyobjects-0.html">Index</a> | <a acesskey="N" href="pyobjects-6.html">Next</a><h2>PyObject C API</h2><ul> 
    109</ul> 
    1110<br /><div class="footer"><hr />Everything You Didn't Want to Known About Python Objects</div></body></html> 
  • hodgestar/Talks/PythonObjects/pyobjects.py

    r331 r332  
    3131        return pygments.highlight(self.code, self.lexer, self.formatter) 
    3232 
     33class PYCON(CODE): 
     34    def __init__(self, code, formatter="html", style="default"): 
     35        code = "\n".join([x.strip() for x in code.split("\n")]) 
     36        lexer = "pycon" 
     37        super(PYCON, self).__init__(code, lexer, formatter, style) 
     38 
    3339class MyLecture(Lecture): 
    3440    def getHeader(self): 
     
    4753    ), 
    4854    Slide("Out With The Old ...", 
    49         Bullet(CODE("class OldStyle:\n    ...")), 
    50         Bullet(CODE("class NewStyle(object):\n    ...")), 
     55        Bullet("Old style:", PYCON(""" 
     56            >>> class Old: 
     57            ...   pass 
     58            ...  
     59            >>> type(Old), type(Old()) 
     60            (<type 'classobj'>, <type 'instance'>) 
     61            """)), 
     62        Bullet("New Style:", PYCON(""" 
     63            >>> class New(object): 
     64            ...   pass 
     65            ...  
     66            >>> type(New), type(New()) 
     67            (<type 'type'>, <class '__main__.New'>) 
     68            """)), 
     69    ), 
     70    Slide("Strings", 
     71        Bullet("Examples:", PYCON(""" 
     72            >>> x = chr(13) 
     73            >>> y = chr(13) 
     74            >>> id(x), id(y) 
     75            (3082874688L, 3082874688L) 
     76            >>> x = chr(13) + chr(14) 
     77            >>> y = chr(13) + chr(14) 
     78            >>> id(x), id(y) 
     79            (3077159616L, 3077159584L) 
     80            >>> x = "a"*20 
     81            >>> y = "a"*20 
     82            >>> z = "a"*21 
     83            >>> w = "a"*21 
     84            >>> id(x), id(y), id(z), id(w) 
     85            (3079663488L, 3079663488L, 3079721328L, 3079721568L) 
     86        """)), 
     87        Bullet("Single characters and empty string held in permament cache (Objects/stringobject.c)."), 
     88        Bullet("Constants strings of size <= 20 cache by parser (TODO: check)."), 
    5189    ), 
    5290    Slide("Gamboling With Slots",