0
Shabda Raaj
   This is a workshop, not a talk.   You are expected to code along.   So pull out your laptops.   Install python, ipy...
   Assume that you know programming in any    language.   So we don’t spend a lot of time explaining    basics.   BUT, ...
   Dynamically but strongly typed.   Very object oriented - everything is an object.   But pragmatic - Objects arent ev...
   Hello world   >>> print "Hello World"
   for, while, if, else, break, continue       -Yeah they are available, surprised?   We will use them in a moment, but...
   List - Like ArrayList in Java   Tuple - Like List, but immutable   Dict - Like Hashmaps in Java
   For Loop           for el in iterable:              [block statement]       the classic for loop           for (in...
   If: elif: else:    if condition:        [block]     else:        [block]
   You have enough information now to write a    solution   Problem statement:   Write a program that prints the number...
   def function_name(argument_list):            [block]   Functions can have default value.          def fizzbuzz(till...
   class ClassName(base_classes):          [block]   Classes are first class too   They can be passed to function, and...
   If we list all the natural numbers below 10 that    are multiples of 3 or 5, we get 3, 5, 6 and 9.    The sum of these...
   The last solution was needlessly verbose   List comprehension: Take a list and transform it.   Standard list compreh...
   List comprehensions are python way to do    functional programming constructs   [function(i) for i in iterable if con...
   Open a file with - open(location) or    file(location)   or give a mode - open(location, rw)   iterate as          ...
   Find the most commonly used word in the    Alice in wonderland text.
   Batteries included       math       datetime       string       re       random       os       pickle   Do a d...
   Dynamically but strongly typed.   Very object oriented - everything is an object.   But pragmatic - Objects arent ev...
   Syntacting sugar for       foo_func =docorator_func(foo_func)
   Many useful frameworks       Tornado,       Pylons,       Turbogears       Django       GAE   Django: Most activ...
   PIL   Mechanize   Beautiful Soup   Element Tree
   python.org   diveintopython.org   uswaretech.com/blog
   Thank You.   You can give feedback, ask questions at    shabda@uswaretech.com
Upcoming SlideShare
Loading in...5
×

Beginning Python

998

Published on

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
998
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
2
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Transcript of "Beginning Python"

  1. 1. Shabda Raaj
  2. 2.  This is a workshop, not a talk. You are expected to code along. So pull out your laptops. Install python, ipython and komodo edit. (Or editor of your choice.)
  3. 3.  Assume that you know programming in any language. So we don’t spend a lot of time explaining basics. BUT, stop and ask if something doesnt make sense. AND Definitely Stop me if I am going too slow, too fast, or making no sense.
  4. 4.  Dynamically but strongly typed. Very object oriented - everything is an object. But pragmatic - Objects arent everthing. Allows various paradigms of programming - OO, procedural, functional. Shallow learning curve, but powerful powerful capabilities available, when you need them. import this We will come back to this slide.
  5. 5.  Hello world >>> print "Hello World"
  6. 6.  for, while, if, else, break, continue  -Yeah they are available, surprised? We will use them in a moment, but after we see the data structures available.
  7. 7.  List - Like ArrayList in Java Tuple - Like List, but immutable Dict - Like Hashmaps in Java
  8. 8.  For Loop  for el in iterable:  [block statement]  the classic for loop  for (int i; i < n; i++){}  for i in range(n):  #Work with I  While condition:  [block] break, continue. Normal operation - break out of current loop.
  9. 9.  If: elif: else: if condition: [block] else: [block]
  10. 10.  You have enough information now to write a solution Problem statement: Write a program that prints the numbers from 1 to 100. But for multiples of three print "Fizz" instead of the number and for the multiples of five print "Buzz". For numbers which are multiples of both three and five print "FizzBuzz".
  11. 11.  def function_name(argument_list):  [block] Functions can have default value.  def fizzbuzz(till=100, fizz=fizz, buzz=buzz):  #fi zzbuzz code Functions can have variable length values.  ex multiply all values passed to a function. Functions are first class - They are objects too. They can be passed to other functions, assigned to variables etc.
  12. 12.  class ClassName(base_classes):  [block] Classes are first class too They can be passed to function, and assigned to variables.
  13. 13.  If we list all the natural numbers below 10 that are multiples of 3 or 5, we get 3, 5, 6 and 9. The sum of these multiples is 23. Find the sum of all the multiples of 3 or 5 below 1000
  14. 14.  The last solution was needlessly verbose List comprehension: Take a list and transform it. Standard list comprehension syntax - [expr(i) for i in iterable if condition] List of all squares: [i*i for i in range(1,11)] List of all squares of even numbers: [i*i for i in range(1,11) if i%2 == 0] So solution to last problem is just sum([i*i for i in range(1,1001) if i%3 == 0 or i%5==0])
  15. 15.  List comprehensions are python way to do functional programming constructs [function(i) for i in iterable if condition] is filter(func2, map(func1, iter)) Lets see how this list comprehension maps to functional concepts Get the list of squares of even numbers
  16. 16.  Open a file with - open(location) or file(location) or give a mode - open(location, rw) iterate as  for line in open_file.readlines():  print line #Or whatever or string = open_file.read()
  17. 17.  Find the most commonly used word in the Alice in wonderland text.
  18. 18.  Batteries included  math  datetime  string  re  random  os  pickle Do a dir() and see for yourself. And a lot, lot more: http://docs.python.org/library/
  19. 19.  Dynamically but strongly typed. Very object oriented - everything is an object. But pragmatic - Objects arent everything. Allows various paradigms of programming - OO, procedural, functional. Shallow learning curve, but powerful powerful capabilities available, when you need them. import this
  20. 20.  Syntacting sugar for  foo_func =docorator_func(foo_func)
  21. 21.  Many useful frameworks  Tornado,  Pylons,  Turbogears  Django  GAE Django: Most actively developed and largest community participation
  22. 22.  PIL Mechanize Beautiful Soup Element Tree
  23. 23.  python.org diveintopython.org uswaretech.com/blog
  24. 24.  Thank You. You can give feedback, ask questions at shabda@uswaretech.com
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×