Last active
December 22, 2015 23:19
-
-
Save catherinedevlin/6545752 to your computer and use it in GitHub Desktop.
Python presentation at APCUG 2013 Regional conference: http://rleevanceapcug.wix.com/apcug-2013-regional
This file contains hidden or 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
| { | |
| "metadata": { | |
| "name": "" | |
| }, | |
| "nbformat": 3, | |
| "nbformat_minor": 0, | |
| "worksheets": [ | |
| { | |
| "cells": [ | |
| { | |
| "cell_type": "heading", | |
| "level": 1, | |
| "metadata": { | |
| "slideshow": { | |
| "slide_type": "slide" | |
| } | |
| }, | |
| "source": [ | |
| "Python" | |
| ] | |
| }, | |
| { | |
| "cell_type": "markdown", | |
| "metadata": { | |
| "slideshow": { | |
| "slide_type": "fragment" | |
| } | |
| }, | |
| "source": [ | |
| "\n", | |
| "\n", | |
| " Catherine Devlin\n", | |
| " APCUG 2013 Regional Conference\n", | |
| " Sep 15, 2013\n", | |
| " http://tinyurl.com/apcug-2013-python-intro" | |
| ] | |
| }, | |
| { | |
| "cell_type": "markdown", | |
| "metadata": { | |
| "slideshow": { | |
| "slide_type": "slide" | |
| } | |
| }, | |
| "source": [ | |
| "A buzzword-enhanced language\n", | |
| "============================\n", | |
| "\n", | |
| "* Open-source\n", | |
| "* Multi-purpose\n", | |
| "* Multi-platform\n", | |
| "* Dynamic\n", | |
| "* Object-oriented\n", | |
| "* Highly readable" | |
| ] | |
| }, | |
| { | |
| "cell_type": "heading", | |
| "level": 1, | |
| "metadata": { | |
| "slideshow": { | |
| "slide_type": "slide" | |
| } | |
| }, | |
| "source": [ | |
| "What's it look like?" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "collapsed": false, | |
| "input": [ | |
| "target_letter = \"r\"\n", | |
| "for animal in [\"horse\", \"cat\", \"racoon\", \"duck\"]:\n", | |
| " if target_letter in animal:\n", | |
| " print(animal + \" contains the letter \" + target_letter)\n", | |
| " else:\n", | |
| " print(\"sorry, no \" + target_letter + \" in \" + animal)" | |
| ], | |
| "language": "python", | |
| "metadata": { | |
| "slideshow": { | |
| "slide_type": "fragment" | |
| } | |
| }, | |
| "outputs": [ | |
| { | |
| "output_type": "stream", | |
| "stream": "stdout", | |
| "text": [ | |
| "horse contains the letter r\n", | |
| "sorry, no r in cat\n", | |
| "racoon contains the letter r\n", | |
| "sorry, no r in duck\n" | |
| ] | |
| } | |
| ], | |
| "prompt_number": 11 | |
| }, | |
| { | |
| "cell_type": "markdown", | |
| "metadata": { | |
| "slideshow": { | |
| "slide_type": "slide" | |
| } | |
| }, | |
| "source": [ | |
| "Familiar terms\n", | |
| "--------------\n", | |
| "\n", | |
| "`for`, `if`, `else`, etc." | |
| ] | |
| }, | |
| { | |
| "cell_type": "heading", | |
| "level": 1, | |
| "metadata": { | |
| "slideshow": { | |
| "slide_type": "slide" | |
| } | |
| }, | |
| "source": [ | |
| "Dynamic" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "collapsed": false, | |
| "input": [ | |
| "def lots_of(x):\n", | |
| " return 3 * x\n", | |
| "\n", | |
| "stuff = \"milk \"\n", | |
| "print(type(stuff))\n", | |
| "print(lots_of(stuff))\n", | |
| "stuff = 3\n", | |
| "print(type(stuff))\n", | |
| "print(lots_of(stuff))" | |
| ], | |
| "language": "python", | |
| "metadata": { | |
| "slideshow": { | |
| "slide_type": "fragment" | |
| } | |
| }, | |
| "outputs": [ | |
| { | |
| "output_type": "stream", | |
| "stream": "stdout", | |
| "text": [ | |
| "<class 'str'>\n", | |
| "milk milk milk \n", | |
| "<class 'int'>\n", | |
| "9\n" | |
| ] | |
| } | |
| ], | |
| "prompt_number": 43 | |
| }, | |
| { | |
| "cell_type": "code", | |
| "collapsed": false, | |
| "input": [ | |
| "import datetime\n", | |
| "\n", | |
| "print(lots_of(datetime.datetime.now()))" | |
| ], | |
| "language": "python", | |
| "metadata": { | |
| "slideshow": { | |
| "slide_type": "slide" | |
| } | |
| }, | |
| "outputs": [ | |
| { | |
| "ename": "TypeError", | |
| "evalue": "unsupported operand type(s) for *: 'int' and 'datetime.datetime'", | |
| "output_type": "pyerr", | |
| "traceback": [ | |
| "\u001b[1;31m---------------------------------------------------------------------------\u001b[0m\n\u001b[1;31mTypeError\u001b[0m Traceback (most recent call last)", | |
| "\u001b[1;32m<ipython-input-38-61e691416648>\u001b[0m in \u001b[0;36m<module>\u001b[1;34m()\u001b[0m\n\u001b[0;32m 1\u001b[0m \u001b[1;32mimport\u001b[0m \u001b[0mdatetime\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 2\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m----> 3\u001b[1;33m \u001b[0mprint\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mlots_of\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mdatetime\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mdatetime\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mnow\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m", | |
| "\u001b[1;32m<ipython-input-37-3b437fd333c5>\u001b[0m in \u001b[0;36mlots_of\u001b[1;34m(x)\u001b[0m\n\u001b[0;32m 1\u001b[0m \u001b[1;32mdef\u001b[0m \u001b[0mlots_of\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mx\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m----> 2\u001b[1;33m \u001b[1;32mreturn\u001b[0m \u001b[1;36m3\u001b[0m \u001b[1;33m*\u001b[0m \u001b[0mx\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m 3\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 4\u001b[0m \u001b[0mprint\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mlots_of\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;34m\"milk\"\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 5\u001b[0m \u001b[0mprint\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mlots_of\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;36m3\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n", | |
| "\u001b[1;31mTypeError\u001b[0m: unsupported operand type(s) for *: 'int' and 'datetime.datetime'" | |
| ] | |
| } | |
| ], | |
| "prompt_number": 38 | |
| }, | |
| { | |
| "cell_type": "heading", | |
| "level": 2, | |
| "metadata": { | |
| "slideshow": { | |
| "slide_type": "slide" | |
| } | |
| }, | |
| "source": [ | |
| "Significant whitespace" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "collapsed": false, | |
| "input": [ | |
| "target_letter = \"r\"\n", | |
| "for animal in [\"horse\", \"cat\", \"racoon\", \"duck\"]:\n", | |
| " if target_letter in animal:\n", | |
| " print(animal + \" contains the letter \" + target_letter)\n", | |
| " else:\n", | |
| " print(\"sorry, no \" + target_letter + \" in \" + animal)" | |
| ], | |
| "language": "python", | |
| "metadata": { | |
| "slideshow": { | |
| "slide_type": "fragment" | |
| } | |
| }, | |
| "outputs": [ | |
| { | |
| "output_type": "stream", | |
| "stream": "stdout", | |
| "text": [ | |
| "horse contains the letter r\n", | |
| "sorry, no r in cat\n", | |
| "racoon contains the letter r\n", | |
| "sorry, no r in duck\n" | |
| ] | |
| } | |
| ], | |
| "prompt_number": 12 | |
| }, | |
| { | |
| "cell_type": "markdown", | |
| "metadata": { | |
| "slideshow": { | |
| "slide_type": "fragment" | |
| } | |
| }, | |
| "source": [ | |
| "- No line endings (a line ending *is* a line ending)\n", | |
| "- Indentation marks blocks\n", | |
| "- Python interpreter == your eyeball!" | |
| ] | |
| }, | |
| { | |
| "cell_type": "heading", | |
| "level": 2, | |
| "metadata": { | |
| "slideshow": { | |
| "slide_type": "slide" | |
| } | |
| }, | |
| "source": [ | |
| "Highly readable" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "collapsed": false, | |
| "input": [ | |
| "target_letter = \"r\"\n", | |
| "for animal in [\"horse\", \"cat\", \"racoon\", \"duck\"]:\n", | |
| " if target_letter in animal:\n", | |
| " print(animal + \" contains the letter \" + target_letter)\n", | |
| " else:\n", | |
| " print(\"sorry, no \" + target_letter + \" in \" + animal)" | |
| ], | |
| "language": "python", | |
| "metadata": { | |
| "slideshow": { | |
| "slide_type": "fragment" | |
| } | |
| }, | |
| "outputs": [ | |
| { | |
| "output_type": "stream", | |
| "stream": "stdout", | |
| "text": [ | |
| "horse contains the letter r\n", | |
| "sorry, no r in cat\n", | |
| "racoon contains the letter r\n", | |
| "sorry, no r in duck\n" | |
| ] | |
| } | |
| ], | |
| "prompt_number": 1 | |
| }, | |
| { | |
| "cell_type": "heading", | |
| "level": 2, | |
| "metadata": { | |
| "slideshow": { | |
| "slide_type": "slide" | |
| } | |
| }, | |
| "source": [ | |
| "Object-oriented" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "collapsed": false, | |
| "input": [ | |
| "animal = \"moose\"\n", | |
| "animal.upper()" | |
| ], | |
| "language": "python", | |
| "metadata": { | |
| "slideshow": { | |
| "slide_type": "fragment" | |
| } | |
| }, | |
| "outputs": [ | |
| { | |
| "metadata": {}, | |
| "output_type": "pyout", | |
| "prompt_number": 13, | |
| "text": [ | |
| "'MOOSE'" | |
| ] | |
| } | |
| ], | |
| "prompt_number": 13 | |
| }, | |
| { | |
| "cell_type": "code", | |
| "collapsed": false, | |
| "input": [ | |
| "class Animal(object):\n", | |
| " def eat(self, food):\n", | |
| " return \"What yummy \" + food + \"!\"\n", | |
| " \n", | |
| "fido = Animal()\n", | |
| "fido.eat('dog food')" | |
| ], | |
| "language": "python", | |
| "metadata": { | |
| "slideshow": { | |
| "slide_type": "slide" | |
| } | |
| }, | |
| "outputs": [ | |
| { | |
| "metadata": {}, | |
| "output_type": "pyout", | |
| "prompt_number": 3, | |
| "text": [ | |
| "'What yummy dog food!'" | |
| ] | |
| } | |
| ], | |
| "prompt_number": 3 | |
| }, | |
| { | |
| "cell_type": "heading", | |
| "level": 2, | |
| "metadata": { | |
| "slideshow": { | |
| "slide_type": "slide" | |
| } | |
| }, | |
| "source": [ | |
| "Inheritence" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "collapsed": false, | |
| "input": [ | |
| "class Cat(Animal):\n", | |
| " def purr(self):\n", | |
| " return 'rrrrrrrrrrrrrrrr'\n", | |
| "\n", | |
| "agamemnon = Cat()\n", | |
| "agamemnon.eat('hotdish')" | |
| ], | |
| "language": "python", | |
| "metadata": { | |
| "slideshow": { | |
| "slide_type": "fragment" | |
| } | |
| }, | |
| "outputs": [ | |
| { | |
| "metadata": {}, | |
| "output_type": "pyout", | |
| "prompt_number": 4, | |
| "text": [ | |
| "'What yummy hotdish!'" | |
| ] | |
| } | |
| ], | |
| "prompt_number": 4 | |
| }, | |
| { | |
| "cell_type": "code", | |
| "collapsed": false, | |
| "input": [ | |
| "agamemnon.purr()" | |
| ], | |
| "language": "python", | |
| "metadata": { | |
| "slideshow": { | |
| "slide_type": "fragment" | |
| } | |
| }, | |
| "outputs": [ | |
| { | |
| "metadata": {}, | |
| "output_type": "pyout", | |
| "prompt_number": 5, | |
| "text": [ | |
| "'rrrrrrrrrrrrrrrr'" | |
| ] | |
| } | |
| ], | |
| "prompt_number": 5 | |
| }, | |
| { | |
| "cell_type": "code", | |
| "collapsed": false, | |
| "input": [ | |
| "fido.purr()" | |
| ], | |
| "language": "python", | |
| "metadata": { | |
| "slideshow": { | |
| "slide_type": "fragment" | |
| } | |
| }, | |
| "outputs": [ | |
| { | |
| "ename": "AttributeError", | |
| "evalue": "'Animal' object has no attribute 'purr'", | |
| "output_type": "pyerr", | |
| "traceback": [ | |
| "\u001b[1;31m---------------------------------------------------------------------------\u001b[0m\n\u001b[1;31mAttributeError\u001b[0m Traceback (most recent call last)", | |
| "\u001b[1;32m<ipython-input-6-32f565adf250>\u001b[0m in \u001b[0;36m<module>\u001b[1;34m()\u001b[0m\n\u001b[1;32m----> 1\u001b[1;33m \u001b[0mfido\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mpurr\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m", | |
| "\u001b[1;31mAttributeError\u001b[0m: 'Animal' object has no attribute 'purr'" | |
| ] | |
| } | |
| ], | |
| "prompt_number": 6 | |
| }, | |
| { | |
| "cell_type": "heading", | |
| "level": 1, | |
| "metadata": { | |
| "slideshow": { | |
| "slide_type": "slide" | |
| } | |
| }, | |
| "source": [ | |
| "Introspection" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "collapsed": false, | |
| "input": [ | |
| "help(\"x\".upper)" | |
| ], | |
| "language": "python", | |
| "metadata": { | |
| "slideshow": { | |
| "slide_type": "fragment" | |
| } | |
| }, | |
| "outputs": [ | |
| { | |
| "output_type": "stream", | |
| "stream": "stdout", | |
| "text": [ | |
| "Help on built-in function upper:\n", | |
| "\n", | |
| "upper(...)\n", | |
| " S.upper() -> str\n", | |
| " \n", | |
| " Return a copy of S converted to uppercase.\n", | |
| "\n" | |
| ] | |
| } | |
| ], | |
| "prompt_number": 29 | |
| }, | |
| { | |
| "cell_type": "code", | |
| "collapsed": false, | |
| "input": [ | |
| "dir(\"x\")" | |
| ], | |
| "language": "python", | |
| "metadata": { | |
| "slideshow": { | |
| "slide_type": "fragment" | |
| } | |
| }, | |
| "outputs": [ | |
| { | |
| "metadata": {}, | |
| "output_type": "pyout", | |
| "prompt_number": 30, | |
| "text": [ | |
| "['__add__',\n", | |
| " '__class__',\n", | |
| " '__contains__',\n", | |
| " '__delattr__',\n", | |
| " '__dir__',\n", | |
| " '__doc__',\n", | |
| " '__eq__',\n", | |
| " '__format__',\n", | |
| " '__ge__',\n", | |
| " '__getattribute__',\n", | |
| " '__getitem__',\n", | |
| " '__getnewargs__',\n", | |
| " '__gt__',\n", | |
| " '__hash__',\n", | |
| " '__init__',\n", | |
| " '__iter__',\n", | |
| " '__le__',\n", | |
| " '__len__',\n", | |
| " '__lt__',\n", | |
| " '__mod__',\n", | |
| " '__mul__',\n", | |
| " '__ne__',\n", | |
| " '__new__',\n", | |
| " '__reduce__',\n", | |
| " '__reduce_ex__',\n", | |
| " '__repr__',\n", | |
| " '__rmod__',\n", | |
| " '__rmul__',\n", | |
| " '__setattr__',\n", | |
| " '__sizeof__',\n", | |
| " '__str__',\n", | |
| " '__subclasshook__',\n", | |
| " 'capitalize',\n", | |
| " 'casefold',\n", | |
| " 'center',\n", | |
| " 'count',\n", | |
| " 'encode',\n", | |
| " 'endswith',\n", | |
| " 'expandtabs',\n", | |
| " 'find',\n", | |
| " 'format',\n", | |
| " 'format_map',\n", | |
| " 'index',\n", | |
| " 'isalnum',\n", | |
| " 'isalpha',\n", | |
| " 'isdecimal',\n", | |
| " 'isdigit',\n", | |
| " 'isidentifier',\n", | |
| " 'islower',\n", | |
| " 'isnumeric',\n", | |
| " 'isprintable',\n", | |
| " 'isspace',\n", | |
| " 'istitle',\n", | |
| " 'isupper',\n", | |
| " 'join',\n", | |
| " 'ljust',\n", | |
| " 'lower',\n", | |
| " 'lstrip',\n", | |
| " 'maketrans',\n", | |
| " 'partition',\n", | |
| " 'replace',\n", | |
| " 'rfind',\n", | |
| " 'rindex',\n", | |
| " 'rjust',\n", | |
| " 'rpartition',\n", | |
| " 'rsplit',\n", | |
| " 'rstrip',\n", | |
| " 'split',\n", | |
| " 'splitlines',\n", | |
| " 'startswith',\n", | |
| " 'strip',\n", | |
| " 'swapcase',\n", | |
| " 'title',\n", | |
| " 'translate',\n", | |
| " 'upper',\n", | |
| " 'zfill']" | |
| ] | |
| } | |
| ], | |
| "prompt_number": 30 | |
| }, | |
| { | |
| "cell_type": "heading", | |
| "level": 2, | |
| "metadata": { | |
| "slideshow": { | |
| "slide_type": "slide" | |
| } | |
| }, | |
| "source": [ | |
| "Handy collections: lists" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "collapsed": false, | |
| "input": [ | |
| "hotdish_ingredients = [\"noodles\", \"tuna\", \"mayo\", \"celery\"]\n", | |
| "shopping_list = [\"apple\", \"bread\", hotdish_ingredients, \"spinach\"]\n", | |
| "\n", | |
| "for buy_me in shopping_list:\n", | |
| " print(buy_me)" | |
| ], | |
| "language": "python", | |
| "metadata": { | |
| "slideshow": { | |
| "slide_type": "fragment" | |
| } | |
| }, | |
| "outputs": [ | |
| { | |
| "output_type": "stream", | |
| "stream": "stdout", | |
| "text": [ | |
| "apple\n", | |
| "bread\n", | |
| "['noodles', 'tuna', 'mayo', 'celery']\n", | |
| "spinach\n" | |
| ] | |
| } | |
| ], | |
| "prompt_number": 32 | |
| }, | |
| { | |
| "cell_type": "heading", | |
| "level": 2, | |
| "metadata": { | |
| "slideshow": { | |
| "slide_type": "slide" | |
| } | |
| }, | |
| "source": [ | |
| "Handy collections (2): dictionaries" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "collapsed": false, | |
| "input": [ | |
| "german = {\"cat\": \"Katze\", dog: \"Hund\"}\n", | |
| "german[\"cat\"]" | |
| ], | |
| "language": "python", | |
| "metadata": { | |
| "slideshow": { | |
| "slide_type": "fragment" | |
| } | |
| }, | |
| "outputs": [ | |
| { | |
| "metadata": {}, | |
| "output_type": "pyout", | |
| "prompt_number": 34, | |
| "text": [ | |
| "'Katze'" | |
| ] | |
| } | |
| ], | |
| "prompt_number": 34 | |
| }, | |
| { | |
| "cell_type": "heading", | |
| "level": 2, | |
| "metadata": { | |
| "slideshow": { | |
| "slide_type": "slide" | |
| } | |
| }, | |
| "source": [ | |
| "list comprehension" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "collapsed": false, | |
| "input": [ | |
| "name = \"American of Personal Computer User Groups\"\n", | |
| "initials = [letter for letter in name if letter.isupper()]\n", | |
| "print(initials)\n", | |
| "abbrev = \"\".join(initials)\n", | |
| "print(abbrev)" | |
| ], | |
| "language": "python", | |
| "metadata": { | |
| "slideshow": { | |
| "slide_type": "fragment" | |
| } | |
| }, | |
| "outputs": [ | |
| { | |
| "output_type": "stream", | |
| "stream": "stdout", | |
| "text": [ | |
| "['A', 'P', 'C', 'U', 'G']\n", | |
| "APCUG\n" | |
| ] | |
| } | |
| ], | |
| "prompt_number": 3 | |
| }, | |
| { | |
| "cell_type": "heading", | |
| "level": 2, | |
| "metadata": { | |
| "slideshow": { | |
| "slide_type": "slide" | |
| } | |
| }, | |
| "source": [ | |
| "Rich standard library" | |
| ] | |
| }, | |
| { | |
| "cell_type": "markdown", | |
| "metadata": { | |
| "slideshow": { | |
| "slide_type": "fragment" | |
| } | |
| }, | |
| "source": [ | |
| "- formats: `csv`, `json`, `xml.*`...\n", | |
| "- compression: `zlib`, `zipfile`, `tarfile`, `bz2`...\n", | |
| "- datastores: `dbm`, `shelve`, `pickle`...\n", | |
| "- network: `ftplib`, `urllib2`, `smtp`, `SimpleHTTPServer`...\n", | |
| "- cryptography: `hashlib`\n", | |
| "- user interfaces: `cmd`, `curses`..." | |
| ] | |
| }, | |
| { | |
| "cell_type": "heading", | |
| "level": 2, | |
| "metadata": { | |
| "slideshow": { | |
| "slide_type": "slide" | |
| } | |
| }, | |
| "source": [ | |
| "PyPI (the Cheese Shop)" | |
| ] | |
| }, | |
| { | |
| "cell_type": "markdown", | |
| "metadata": { | |
| "slideshow": { | |
| "slide_type": "fragment" | |
| } | |
| }, | |
| "source": [ | |
| "http://pypi.python.org\n", | |
| "\n", | |
| "34,000 + freely available modules" | |
| ] | |
| }, | |
| { | |
| "cell_type": "heading", | |
| "level": 1, | |
| "metadata": { | |
| "slideshow": { | |
| "slide_type": "slide" | |
| } | |
| }, | |
| "source": [ | |
| "Libraries make tasks easy" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "collapsed": false, | |
| "input": [ | |
| "import requests\n", | |
| "\n", | |
| "response = requests.get('http://dma1.org')\n", | |
| "response.status_code" | |
| ], | |
| "language": "python", | |
| "metadata": { | |
| "slideshow": { | |
| "slide_type": "fragment" | |
| } | |
| }, | |
| "outputs": [ | |
| { | |
| "metadata": {}, | |
| "output_type": "pyout", | |
| "prompt_number": 4, | |
| "text": [ | |
| "200" | |
| ] | |
| } | |
| ], | |
| "prompt_number": 4 | |
| }, | |
| { | |
| "cell_type": "code", | |
| "collapsed": false, | |
| "input": [ | |
| "response.content[:100]" | |
| ], | |
| "language": "python", | |
| "metadata": { | |
| "slideshow": { | |
| "slide_type": "fragment" | |
| } | |
| }, | |
| "outputs": [ | |
| { | |
| "metadata": {}, | |
| "output_type": "pyout", | |
| "prompt_number": 5, | |
| "text": [ | |
| "b'<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\">\\n<HTML>\\n<HEAD>\\n <LINK REL=\"SHORTCUT '" | |
| ] | |
| } | |
| ], | |
| "prompt_number": 5 | |
| }, | |
| { | |
| "cell_type": "code", | |
| "collapsed": false, | |
| "input": [ | |
| "import re\n", | |
| "re.search(\">(APCUG.*?)<\", str(response.content)).group(1)" | |
| ], | |
| "language": "python", | |
| "metadata": { | |
| "slideshow": { | |
| "slide_type": "fragment" | |
| } | |
| }, | |
| "outputs": [ | |
| { | |
| "metadata": {}, | |
| "output_type": "pyout", | |
| "prompt_number": 15, | |
| "text": [ | |
| "'APCUG 2013 Regional Computer Conference'" | |
| ] | |
| } | |
| ], | |
| "prompt_number": 15 | |
| }, | |
| { | |
| "cell_type": "heading", | |
| "level": 1, | |
| "metadata": { | |
| "slideshow": { | |
| "slide_type": "slide" | |
| } | |
| }, | |
| "source": [ | |
| "What's it used for?" | |
| ] | |
| }, | |
| { | |
| "cell_type": "markdown", | |
| "metadata": { | |
| "slideshow": { | |
| "slide_type": "fragment" | |
| } | |
| }, | |
| "source": [ | |
| "- web development\n", | |
| "- scientific programming\n", | |
| "- data analysis\n", | |
| "- GUI tools\n", | |
| "- systems administration\n", | |
| "- games" | |
| ] | |
| }, | |
| { | |
| "cell_type": "heading", | |
| "level": 2, | |
| "metadata": { | |
| "slideshow": { | |
| "slide_type": "slide" | |
| } | |
| }, | |
| "source": [ | |
| "Education" | |
| ] | |
| }, | |
| { | |
| "cell_type": "markdown", | |
| "metadata": { | |
| "slideshow": { | |
| "slide_type": "fragment" | |
| } | |
| }, | |
| "source": [ | |
| "- Youth: \"Python for Kids\" books, classes\n", | |
| "- College: MIT\n", | |
| "- Professionals: Universal \"pidgin\"\n" | |
| ] | |
| }, | |
| { | |
| "cell_type": "heading", | |
| "level": 1, | |
| "metadata": { | |
| "slideshow": { | |
| "slide_type": "slide" | |
| } | |
| }, | |
| "source": [ | |
| "How's it used?" | |
| ] | |
| }, | |
| { | |
| "cell_type": "heading", | |
| "level": 2, | |
| "metadata": { | |
| "slideshow": { | |
| "slide_type": "fragment" | |
| } | |
| }, | |
| "source": [ | |
| "Socially!" | |
| ] | |
| }, | |
| { | |
| "cell_type": "markdown", | |
| "metadata": { | |
| "slideshow": { | |
| "slide_type": "fragment" | |
| } | |
| }, | |
| "source": [ | |
| "- Developed by distributed groups\n", | |
| "- Code submitted to PyPI\n", | |
| "- PyCon, PyOhio..." | |
| ] | |
| }, | |
| { | |
| "cell_type": "heading", | |
| "level": 1, | |
| "metadata": { | |
| "slideshow": { | |
| "slide_type": "slide" | |
| } | |
| }, | |
| "source": [ | |
| "How to learn it" | |
| ] | |
| }, | |
| { | |
| "cell_type": "markdown", | |
| "metadata": { | |
| "slideshow": { | |
| "slide_type": "fragment" | |
| } | |
| }, | |
| "source": [ | |
| "- https://wiki.python.org/moin/BeginnersGuide\n", | |
| "- http://docs.python-guide.org\n", | |
| "- http://learnpython.org\n", | |
| "- Coursera\n", | |
| "- PyOhio\n", | |
| "- [Python Workshop for Women](http://tinyurl.com/cmh-py-workshop)\n", | |
| "- [email protected]\n", | |
| "- tinyurl.com/apcug-2013-python-intro" | |
| ] | |
| } | |
| ], | |
| "metadata": {} | |
| } | |
| ] | |
| } |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment