Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
1 parent
2a77fb3
commit 99d85c4
Showing
1 changed file
with
252 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,252 @@ | ||
<!DOCTYPE html> | ||
<!--[if lt IE 7]> <html class="no-js ie6" lang="en"> <![endif]--> | ||
<!--[if IE 7]> <html class="no-js ie7" lang="en"> <![endif]--> | ||
<!--[if IE 8]> <html class="no-js ie8" lang="en"> <![endif]--> | ||
<!--[if gt IE 8]><!--> <html class="no-js" lang="en"> <!--<![endif]--> | ||
<head> | ||
<meta charset="utf-8"> | ||
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"> | ||
|
||
<title>Learn You Some Python</title> | ||
|
||
<meta name="description" content="Learn You Some Python"> | ||
<meta name="author" content="Mike Harris, Geoffrey French"> | ||
<meta name="viewport" content="width=800, user-scalable=no"> | ||
|
||
<!-- Core and extension CSS files --> | ||
<link rel="stylesheet" href="deck/core/deck.core.css"> | ||
<link rel="stylesheet" href="deck/extensions/menu/deck.menu.css"> | ||
<link rel="stylesheet" href="deck/extensions/hash/deck.hash.css"> | ||
<link rel="stylesheet" href="extensions/console-notes/deck.console-notes.css"> | ||
<link rel="stylesheet" href="extensions/pointer/deck.pointer.css"> | ||
<!-- <link rel="stylesheet" href="deck/extensions/scale/deck.scale.css"> --> | ||
|
||
<!-- Theme CSS files --> | ||
<link rel="stylesheet" id="style-theme-link" href="themes/style/carbon/css/carbon.css"> | ||
<link rel="stylesheet" id="transition-theme-link" href="themes/transition/cube/cube.css"> | ||
|
||
<script src="deck/modernizr.custom.js"></script> | ||
</head> | ||
|
||
<body class="deck-container"> | ||
|
||
<section class="slide" id="title"> | ||
<h1>Learn You Some Python!<span>Python for the Competent Programmer</span></h1> | ||
<h2>Mike Harris</h2> | ||
<h2>Geoffrey French</h2> | ||
</section> | ||
|
||
<section class="slide"> | ||
<h2>Syntax Stuff</h2> | ||
</section> | ||
|
||
<section class="slide"> | ||
<h3>Syntax Stuff</h3> | ||
<ul> | ||
<li>No <code>;</code> or <code>{}</code></li> | ||
<li>Indent aware</li> | ||
<li>Comments are octothorpes (<code>#</code> to you and me)</li> | ||
<li><code>variable_names_are_underscored</code></li> | ||
<li><code>so_are_method_names</code></li> | ||
<li><code>ClassNamesAreCamelCased</code></li> | ||
<li>It's <code>def</code> not <code>function</code></li> | ||
<li><code>self</code> is explicit</li> | ||
</ul> | ||
</section> | ||
|
||
<section class="slide"> | ||
<h3>Syntax Stuff</h3> | ||
<ul> | ||
<li>No private access - "We're all consenting adults"</li> | ||
<li>We have faux private access with <code>_</code> and <code>__</code></li> | ||
<li>We have equality and identity - <code>==</code> and <code>is</code></li> | ||
<li>We have logic in plain English - <code>and</code>, <code>not</code></li> | ||
<li><code>if elif else</code></li> | ||
<li><code>try except else finally</code></li> | ||
<li><code>None</code></li> | ||
<li>Inner Classes</li> | ||
</ul> | ||
</section> | ||
|
||
|
||
<section class="slide"> | ||
<h2>Lists & Dictionaries</h2> | ||
</section> | ||
|
||
<section class="slide"> | ||
<h3>Lists</h3> | ||
<ul> | ||
<li>Packing / unpacking</li> | ||
<li><code>list[0]</code></li> | ||
<li><code>list[1:3]</code></li> | ||
<li><code>list[1:10:2]</code></li> | ||
<li><code>list[-1]</code></li> | ||
<li><code>for item in list</code></li> | ||
<li><code>", ".join(list)</code></li> | ||
<li><code>a in b</code></li> | ||
<li>list comprehensions</li> | ||
</ul> | ||
</section> | ||
|
||
<section class="slide"> | ||
<h3>Tuples</h3> | ||
<ul> | ||
<li>Immutable</li> | ||
<li>But they're more than that...</li> | ||
</ul> | ||
<blockquote> | ||
<p>Lists have order, but tuples have structure.</p> | ||
</blockquote> | ||
</section> | ||
|
||
<section class="slide"> | ||
<h3>Tuples Are Not Just Immutable Lists</h3> | ||
<pre class="code"> | ||
[('Mike', 'Harris'), | ||
('Geoff', 'French')] | ||
</pre> | ||
</section> | ||
|
||
<section class="slide"> | ||
<h3>Dictionaries</h3> | ||
</section> | ||
|
||
<section class="slide"> | ||
<h2>Iterators & Generators</h2> | ||
</section> | ||
|
||
<section class="slide"> | ||
<h2>Strings</h2> | ||
</section> | ||
|
||
<section class="slide"> | ||
<h3>Strings</h3> | ||
<ul> | ||
<li>Interpolation / formatting</li> | ||
<li><code>"." * 10</code></li> | ||
</ul> | ||
</section> | ||
|
||
<section class="slide"> | ||
<h2>For / Else</h2> | ||
</section> | ||
|
||
<section class="slide"> | ||
<h2>Duck Typing</h2> | ||
</section> | ||
|
||
<section class="slide"> | ||
<h2>Operator Overloading</h2> | ||
</section> | ||
|
||
<section class="slide"> | ||
<h2>Builtins</h2> | ||
</section> | ||
|
||
<section class="slide"> | ||
<h3>Some Handy Builtins</h3> | ||
<ul> | ||
<li>sorted</li> | ||
<li>map</li> | ||
<li>reduce</li> | ||
<li>filter</li> | ||
<li>lambda</li> | ||
<li>any, all</li> | ||
<li>enumerate</li> | ||
<li>range, xrange</li> | ||
<li>open</li> | ||
</ul> | ||
</section> | ||
|
||
<section class="slide"> | ||
<h2>Context Managers</h2> | ||
</section> | ||
|
||
<section class="slide"> | ||
<h3>Context Managers</h3> | ||
<p><code>with open(foo) as f</code></p> | ||
</section> | ||
|
||
<section class="slide"> | ||
<h2>Decorators</h2> | ||
</section> | ||
|
||
<section class="slide"> | ||
<h2>Multiple Inheritance</h2> | ||
</section> | ||
|
||
<section class="slide"> | ||
<h3>Multiple Inheritance</h3> | ||
<ul> | ||
<li>Mixins</li> | ||
</ul> | ||
</section> | ||
|
||
<section class="slide"> | ||
<h2>Libraries</h2> | ||
</section> | ||
|
||
<section class="slide"> | ||
<h3>Some Handy 3rd Party Libraries</h3> | ||
<ul> | ||
<li>Numpy</li> | ||
<li>Scipy</li> | ||
<li>Matplotlib</li> | ||
<li>lxml</li> | ||
<li>PyQuery</li> | ||
</ul> | ||
</section> | ||
|
||
<section class="slide"> | ||
<h2>The Cheese Shop</h2> | ||
</section> | ||
|
||
<section class="slide"> | ||
<p>PyPi (Don't confuse with PyPy)</p> | ||
<p>pip</p> | ||
</section> | ||
|
||
<section class="slide"> | ||
<h2>USE PEP8!</h2> | ||
</section> | ||
|
||
<section class="slide"> | ||
<h2>Gotchas</h2> | ||
</section> | ||
|
||
<section class="slide"> | ||
<h3>Maths Gotchas</h3> | ||
<ul> | ||
<li><code>**</code> not <code>^</code></li> | ||
<li><code>10 / 4 = 2</code></li> | ||
<li><code>10 / 4.0 = 2.5</code></li> | ||
<li><code>10 // 4.0 = 2.0</code></li> | ||
</ul> | ||
</section> | ||
|
||
<a href="." title="Permalink to this slide" class="deck-permalink">#</a> | ||
|
||
<!-- Grab Google CDN's jQuery, with a protocol relative URL; fall back to local if offline --> | ||
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.6.4/jquery.min.js"></script> | ||
<script>window.jQuery || document.write('<script src="deck/jquery-1.6.4.min.js"><\/script>')</script> | ||
|
||
<!-- Deck Core and extensions --> | ||
<script src="deck/core/deck.core.js"></script> | ||
<script src="deck/extensions/menu/deck.menu.js"></script> | ||
<script src="deck/extensions/hash/deck.hash.js"></script> | ||
<!-- <script src="deck/extensions/scale/deck.scale.js"></script> --> | ||
<script src="extensions/console-notes/deck.console-notes.js"></script> | ||
<script src="extensions/codemirror/deck.codemirror.js"></script> | ||
|
||
<!-- Specific to this page --> | ||
<script type="text/javascript"> | ||
$(function() { | ||
|
||
// Deck initialization | ||
$.deck('.slide'); | ||
|
||
}); | ||
</script> | ||
|
||
</body> | ||
</html> |