ODU ACM Python & Memento Presentation

1,880 views

Published on

My presention to the Old Dominion University (ODU) ACM. Covers Python basics, Memento, and timemaps.

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
1,880
On SlideShare
0
From Embeds
0
Number of Embeds
486
Actions
Shares
0
Downloads
7
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide
  • Relationship to other languages
  • Quick introduction to the syntax
  • Lists, tuples, dictionaries, & strings
  • Lists, tuples, dictionaries, & strings
  • Relationship to other languages
  • ODU ACM Python & Memento Presentation

    1. 1. Python Scott G. Ainsworth for ODU ACM 22 Sept 2011
    2. 2. What is Python? Easy to learn Simple syntax Dynamic typing High-level data structures  Free  Linux/Unix, OS X, Windows  MIT’s language of choice
    3. 3. Why Python? Fast development cycle  Interactive & edit, debug/run  vs. edit, compile, debug/run Extensive standard and add-on libraries  (MIT’s language of choice) Python, Jython, & IronPython Google AppEngine
    4. 4. Basic Syntax Block structured But no braces Indent defines blocks def fib(n): a, b = 0, 1 while b < n: print b, a, b = b, a+b
    5. 5. Numbers & Strings Integers: -231 – 231-1  value == "value"  5 + 23  """multiple Long: unlimited lines"""  1234567890123456789  uunicode Boolean:  substring[2:5] == bst  True or False 0 or 1 Real and Complex:  1.25 / 6.3  Complex(1.1,2.2)
    6. 6. Sequence Types Lists  primes = [ 2, 3, 5, 7, 11, 13, 17, 19, 23 ]  primes.append(27)  Primes[-2:] = [ 23, 27 ] Tuples  primes = ( 2, 3, 5, 7, 11, 13, 17,19, 23 )  primes.append(27) # fails, tuples are immutable  primes[-2:] = ( 23, 27 ) Strings are an immutable list of single characters
    7. 7. Dictionaries & Sets Dictionaries  pdict = { "p1" : 2, "p2" : 3, "p3" : 5 }  pdict["p4"] = 7  pdict["p2"] == 3 Sets  primes = Set([ 2, 3, 5, 7, 11, 13, 17,19, 23 ])  primes.append(27) # fails, set are unordered  primes.add(27) # succeeds
    8. 8. ClassesClass complex: """implement complex numbers""" def __init__(self, r, i): self.__r = r self.__i = i def isreal(self): return self.c == 0 def __add__(self, c): return complex(self.r + c.r, self.i + c.i)
    9. 9. Memento & Timemap for www.cs.odu.eduhttp://api.wayback.archive.org/memento/timemap/link/http://www.cs.odu.edu 1. <http://www.cs.odu.edu>; rel="original", 2. <http://api.wayback.archive.org/list/timemap/link/http://www.cs.odu.edu>; rel="timemap"; type="application/link-format”, 3. <http://api.wayback.archive.org/memento/19970102130137/http://cs.odu.edu/>; rel="first memento"; datetime="Thu, 02 Jan 1997 13:01:37 GMT”, 4. <http://api.wayback.archive.org/memento/19970606105039/http://www.cs.odu.edu/ >; rel="memento"; datetime="Fri, 06 Jun 1997 10:50:39 GMT",Output from timemap.py test 1. Original: http://www.cs.odu.edu 2. Time Map: http://api.wayback.archive.org/list/timemap/link/http://www.cs.odu.edu 3. First Memento: (datetime.datetime(1997, 1, 2, 13, 1, 37, tzinfo=tzutc()), http://api.wayback.archive.o rg/memento/19970102130137/http://cs.odu.edu/) 4. 1997-06-06 10:50:39+00:00 = http://api.wayback.archive.org/memento/19970606105039/http://www.cs.odu.edu/
    10. 10. timemap.py OutputOriginal: http://www.cs.odu.eduTime Bundle: http://api.wayback.archive.org/list/timebundle/ http://www.cs.odu.eduTime Gate: http://api.wayback.archive.org/list/timegate/ http://www.cs.odu.eduTime Map: http://api.wayback.archive.org/list/timemap/link/ http://www.cs.odu.eduFirst Memento: 1997-01-02 13:01:37+00:00Last Memento: 2011-07-20 01:58:31+00:00Mementos: 1997-06-06 10:50:39+00:00 = http://api.wayback.archive.org/memento/ 19970606105039/http://www.cs.odu.edu/ 1997-10-10 20:16:32+00:00 = http://api.wayback.archive.org/memento/ 19971010201632/http://www.cs.odu.edu/
    11. 11. Code Walk Through class TimeMap: Memento timemap container class class TimeMapTokenizer: Helper class to tokenize a link-style timemap __main__: Used for quick unit testingDownload the code: http://www.cs.odu.edu/~sainswor/uploads/Downloads/timemap.py
    12. 12. Summary Easy to learn  Fast development cycle Dynamic typing  Extensive standard and add-on libraries High-level data structures  Widely-supported Free Linux/Unix, OS X, Windows
    13. 13. Questions?
    14. 14. Links Slides: http://www.cs.odu.edu/~sainswor/uploads/Downloads/ACM-Python.py Code: http://www.cs.odu.edu/~sainswor/uploads/Downloads/timemap.py Python: http://www.python.org Python Docs: http://docs.python.org Python Libraries: http://pypi.python.org

    ×