Python in 90mins
Upcoming SlideShare
Loading in...5
×
 

Python in 90mins

on

  • 1,969 views

learn python with exercise in 90 minutes

learn python with exercise in 90 minutes

Statistics

Views

Total Views
1,969
Slideshare-icon Views on SlideShare
1,969
Embed Views
0

Actions

Likes
4
Downloads
84
Comments
0

0 Embeds 0

No embeds

Accessibility

Categories

Upload Details

Uploaded via as Microsoft PowerPoint

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

    Python in 90mins Python in 90mins Presentation Transcript

    • Larry cai <larry.caiyu@gmail.com>
    •  What is python ? Why Python ?  Exercise 1: Hello World  Exercise 2: String, List via command line  Exercise 3: For loop with if..else..  Exercise 4: Learn how to use module json to dump data  Exercise 5: Generate online NASDAQ data using json !!! Lots of materials are copied from http://www.cs.columbia.edu/~hgs/teaching/ap/slides/python.ppt and which is based on official tutorial by Guido van Rossum Exercises are created by Larry Cai Python in 90 minutes2
    • What is Python ? And Why Python 2.7  Python is an easy to learn, powerful script programming language  Python is mature and better community compare to Perl  Python is high level over shell script  Python is well supported in OS as default compare to Ruby (which is also nice)  Python 3.x is quite new, not well accepted  Welcome to Python world Python in 90 minutes3
    •  Python 2.7.x In Windows with Git Bash  http://www.python.org/ftp/python/2.7.3/python-2.7.3.msi  Add into Path  How to run ?  /usr/local/bin/python  #!/usr/bin/env python  interactive use Python 2.7.3 (default,Apr 10 2012, 23:24:47) [MSC v.1500 64 bit (AMD64)] on win32 Type "help", "copyright", "credits" or "license" for more information. >>>  $ python script.py Python in 90 minutes4
    •  Hello World  hello.py #!/usr/bin/env python for name in [“larry”,”cai”]: print "hello" , name Python in 90 minutes5
    • Tips: Indent is important for python  Visible symbol in your favorite editor Python in 90 minutes6 Python forces to use a certainPython forces to use a certain indentation style instead of “{,}”indentation style instead of “{,}”
    • Basic operations & program  Assignment:  size = 40  a = b = c = 3  Numbers  integer, float  complex numbers: 1j+3, abs(z)  Strings  'hello world', 'it's hot'  "bye world"  continuation via or use """ long text """" a,b = 0, 1 # non-zero = true while b < 10: # formatted output, without n print b, # multiple assignment a,b = b, a+b Python in 90 minutes7
    • String & List operations  concatenate with + or neighbors  word = 'Help' + x  word = 'Help' 'a'  subscripting of strings  'Hello'[2]  'l'  slice: 'Hello'[1:2]  'el'  word[-1]  last character  len(word)  5  immutable: cannot assign to subscript  lists can be heterogeneous  a = ['spam', 'eggs', 100, 1234, 2*2]  Lists can be indexed and sliced:  a[0]  spam  a[:2]  ['spam', 'eggs']  Lists can be manipulated  a[2] = a[2] + 23  a[0:2] = [1,12]  a[0:0] = []  len(a)  5 Python in 90 minutes8
    • Learn the standard script sample https://gist.github.com/4308811 Help doc Import library Function Main func Start here ! Python in 90 minutes9
    • Exercise 2: remove characters  Practices basic operation in Interactive Shell  Add features to remove two characters each from input  ./hello2.py -m larry,cai hello rry hello i Hints: nameHints: names = messages.split(“,”)s = messages.split(“,”) Python in 90 minutes10
    • Control flow: if & for x = int(raw_input("Please enter #:")) if x < 0: x = 0 print 'Negative changed to zero' elif x == 0: print 'Zero' elif x == 1: print 'Single' else: print 'More'  no case statement a = ['cat', 'window', 'defenestrate'] for x in a: print x, len(x)  no arithmetic progression, but  range(10)  [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]  for i in range(len(a)): print i, a[i]  do not modify the sequence being iterated over Python in 90 minutes11
    • Loops: break, continue, else, o nothing  break and continue like C  else after loop exhaustion for n in range(2,10): for x in range(2,n): if n % x == 0: print n, 'equals', x, '*', n/x break else: # loop fell through without finding a factor print n, 'is prime'  pass does nothing  syntactic filler while 1: pass Python in 90 minutes12
    • Exercise 3: for loop with if..else..  ./hello2.py -m larry,cai,in,github 1. hello Larry 2. hello Cai 3. @ 4. hello Github Hints: think about loop in clean wayHints: think about loop in clean way Python in 90 minutes13
    • Defining functions def fib(n): """Print a Fibonacci series up to n.""" a, b = 0, 1 while b < n: print b, a, b = b, a+b >>> fib(2000)  First line is docstring  first look for variables in local, then global  need global to assign global variables def ask_ok(prompt, retries=4, complaint='Yes or no, please!'): while 1: ok = raw_input(prompt) if ok in ('y', 'ye', 'yes'): return 1 if ok in ('n', 'no'): return 0 retries = retries - 1 if retries < 0: raise IOError, 'refusenik error' print complaint >>> ask_ok('Really?') Python in 90 minutes14
    • Modules  import module: import fibo  Use modules via "name space": >>> fibo.fib(1000) >>> fibo.__name__ 'fibo'  can give it a local name: >>> fib = fibo.fib >>> fib(500)  function definition + executable statements  executed only when module is imported  modules have private symbol tables  avoids name clash for global variables  accessible as module.globalname  can import into name space: >>> from fibo import fib, fib2 >>> fib(500)  can import all names defined by module: >>> from fibo import * Python in 90 minutes15
    • Exercise 4: write into json config file  JSON (JavaScript Object Notation) dump list of the messages into external config files  ./hello2.py -m larry,cai,in,github > config.json  $ cat config.json [ “larry”, “cai”, “in”, “github” ] Hints: json.dumps(data, indent=2)Hints: json.dumps(data, indent=2) Python in 90 minutes16
    • Tuples and sequences  lists, strings, tuples: examples of sequence type  tuple = values separated by commas >>> t = 123, 543, 'bar' >>> t[0] 123 >>> t (123, 543, 'bar')  Tuples may be nested >>> u = t, (1,2) >>> u ((123, 542, 'bar'), (1,2))  Empty tuples: () >>> empty = () >>> len(empty) 0  sequence unpacking  distribute elements across variables >>> t = 123, 543, 'bar' >>> x, y, z = t >>> x 123  packing always creates tuple  unpacking works for any sequence Python in 90 minutes17
    • Dictionaries  like Tcl or awk associative arrays  indexed by keys  keys are any immutable type: e.g., tuples  but not lists (mutable!)  uses 'key: value' notation >>> tel = {'hgs' : 7042, 'lennox': 7018} >>> tel['cs'] = 7000 >>> tel  no particular order  delete elements with del >>> del tel['foo']  keys() method  unsorted list of keys >>> tel.keys() ['cs', 'lennox', 'hgs']  use has_key() to check for existence >>> tel.has_key('foo') 0 Python in 90 minutes18
    • Exercise 5: Generate report from internet  Print MSFT, GOOG stock via Nasdaq live JSON with sort  ./hello2.py –s MSFT,GOOG “Getting live data from NASDAQ @ <current time> GOOG: xx MSFT: xx $ curl -x <proxy> "http://finance.google.com/finance/info?client=ig&q=NASDAQ:MSFT,NASDAQ:GOOG “ fl = urlopen (“link”) data = json.loads(contents) [ { "id": "694653" ,"t" : "GOOG" ,"e" : "NASDAQ" ,"l" : "701.96" ,"l_cur" : "701.96" ,"s": "0" ,"ltt":"4:00PM EST" ,"lt" : "Dec 14, 4:00PM EST" ,"c" : "-0.74" ,"cp" : "-0.10" ,"ccol" : "chr" } ] Hints: urlopen -> json.load -> data ..Hints: urlopen -> json.load -> data .. Python in 90 minutes19
    •  Automate your daily work in python scripts  Keep coding in python !!!  Reading books and sample codes !! Python in 90 minutes20
    •  Slides:  http://www.slideshare.net/doughellmann/an-introduction-to- the-zen-of-python - Doug Hellmann  http://www.cs.columbia.edu/~hgs/teaching/ap/slides/python.ppt  List books, articles, and electronic sources  http://docs.python.org/2.7/  Python cheatsheet: http://www.addedbytes.com/cheat- sheets/python-cheat-sheet/  Example for last exercise  http://digitalpbk.com/stock/google-finance-get-stock-quote-realtime Python in 90 minutes21