Upgrade to PRO for Only $50/Year—Limited-Time Offer! 🔥

python_n2.pdf

Sushant Mane
December 11, 2014

 python_n2.pdf

Introduction to Programming with Python

Sushant Mane

December 11, 2014
Tweet

More Decks by Sushant Mane

Other Decks in Programming

Transcript

  1. What is Python? • Python is a programming language that

    lets you work quickly and integrate systems more effectively. • Interpreted • Object Oriented • Dynamic language • Multi-purpose
  2. Let's be Comfortable • Let’s try some simple math to

    get started! >>>print 1 + 2 >>>print 10 * 2 >>>print 5 - 3 >>>print 4 * 4
  3. help() for help • To get help on any Python

    object type help(object) eg. To get help for abs function >>>help(abs) • dir(object) is like help() but just gives a quick list of the defined symbols >>>dir(sys)
  4. Basic Data type's • Numbers – int – float –

    complex • Boolean • Sequence – Strings – Lists – Tuples
  5. Why built-in Types? • Make programs easy to write. •

    Components of extensions. • Often more efficient than custom data structures. • A standard part of the language
  6. Core Data Types Row 1 Row 2 Row 3 Row

    4 0 2 4 6 8 10 12 Column 1 Column 2 Column 3 Object type literals/creation Numbers 1234, 3.1415, 3+4j, Decimal, Fraction Strings 'spam', “india's", b'a\x01c' Lists [1, [2, 'three'], 4] Dictionaries {'food': 'spam', 'taste': 'yum'} Tuples (1, 'spam', 4, 'U') Files myfile = open(‘python', 'r') Sets set('abc'), {'a', 'b', 'c'} Other core types Booleans, type, None Program unit types Functions, modules, classes
  7. Variables • No need to declare • Need to initialize

    • Almost everything can be assigned to a variable
  8. long >>>b = 123455L >>>b = 12345l • b is

    a long int • For long -- apeend l or L to number
  9. float >>>p = 3.145897 >>>p • real numbers are represented

    using the float • Notice the loss of precision • Floats have a fixed precision
  10. complex >>c = 3 + 4j • real part :

    3 • imaginary part : 4 >>c.real >>c.imag >>abs(c) • It’s a combination of two floats • abs gives the absolute value
  11. Numeric Operators • Addition : 10 + 12 • Substraction

    : 10 - 12 • Division : 10 / 17 • Multiplication : 2 * 8 • Modulus : 13 % 4 • Exponentiation : 12 ** 2
  12. Numeric Operators • Integer Division (floor division) >>>10 / 17

    0 • Float Division >>>10.0 / 17 0.588235 >>>flot(10) / 17 0.588235 • The first division is an integer division • To avoid integer division, at least one number should be float
  13. Assignments • Assignment >>>c = a + b • c

    = c / 3 is equivalent to c /= 3 • Parallel Assignment >>>a, b = 10, 12 >>>c, d, red, blue = 123, 121, 111, 444
  14. Booleans and Operations • All the operations could be done

    on variables >>>t = True >>>t >>>f = not True >>>f >>>f or t • can use parenthesis. >>>f and (not t)
  15. Sequences • Hold a bunch of elements in a sequence

    • Elements are accessed based on position in the sequence • The sequence data-types – list – tuple – dict – str
  16. list • Items are enclosed in [ ] and separated

    by “ , ” constitute a list >>>list = [1, 2, 3, 4, 5, 6] • Items need not to have the same type • Like indexable arrays • Extended at right end • List are mutable (i.e. will change or can be changed) • Example >>>myList = [631, “python”, [331, ”computer” ]]
  17. List Methods • append() : myList.append(122) • insert() : myList.insert(2,”group”)

    • pop() : myList.pop([i] ) • reverse() : myList.reverse() • sort() : myList.sort([ reverse=False] ) – where [] indicates optional
  18. Tuples • Items are enclosed in ( ) and separated

    by ”, ” constitute a list >>>tup = (1, 2, 3, 4, 5, 6) • Nesting is Possible • Outer Parentheses are optional • tuples are immutable (i.e. will never change cannot be changed) • Example >>>myTuple = (631, “python”, [ 331 , ”computer” ])
  19. Tuple Methods Concatenation : myTuple + (13, ”science”) Repeat :

    myTuple * 4 Index : myTuple[i] Length : len( myTuple ) Membership : ‘m’ in myTuple
  20. Strings . . . • Contiguous set of characters in

    between quotation marks eg. ”wceLinuxUsers123Group” • Can use single or double quotes >>>st = 'wceWlug' >>>st = ”wceWlug”
  21. Strings . . . • three quotes for a multi-line

    string. >>> ''' Walchand . . . Linux . . . Users . . . Group''' >>> ”””Walchand . . . Linux . . . Users . . . Group”””
  22. Strings Operators • “linux"+"Users" 'linuxUsers' # concatenation • "linux"*2 'linuxlinux'

    # repetition • "linux"[0] 'l' # indexing • "linux"[-1] 'x' # (from end) • "linux"[1:4] 'iu' # slicing • len("linux") 5 # size • "linux" < "Users" 1 # comparison • "l" in "linux" True # search
  23. Strings Formating • <formatted string> % <elements to insert> •

    Can usually just use %s for everything, it will convert the object to its String representation. • eg. >>> "One, %d, three" % 2 'One, 2, three' >>> "%d, two, %s" % (1,3) '1, two, 3' >>> "%s two %s" % (1, 'three') '1 two three'
  24. Strings and Numbers >>>ord(text) • converts a string into a

    number. • Example: ord("a") is 97, ord("b") is 98, ...
  25. Python : No Braces • Uses indentation instead of braces

    to determine the scope of expressions • Indentation : space at the beginning of a line of writing eg. writing answer point-wise
  26. Python : No Braces • All lines must be indented

    the same amount to be part of the scope (or indented more if part of an inner scope) • forces the programmer to use proper indentation • indenting is part of the program!
  27. Python : No Braces • All lines must be indented

    the same amount to be part of the scope (or indented more if part of an inner scope) • forces the programmer to use proper indentation • indenting is part of the program!
  28. Control Flow • If statement : powerful decision making statement

    • Decision Making And Branching • Used to control the flow of execution of program • Basically two-way decision statement
  29. If Statement >>> x = 12 >>> if x <=

    15 : y = x + 15 >>> print y • if condition : statements Indentation
  30. If-else Statement • if condition : Statements else : Statements

    >>> x = 12 >>> if x <= 15 : y = x + 13 Z = y + y else : y = x >>> print y
  31. If-elif Statement • if condition : Statements elif condition :

    Statements else : Statements >>> x = 30 >>> if x <= 15 : y = x + 13 elif x > 15 : y = x - 10 else : y = x >>> print y
  32. while loop • while condition : Statements >>> x =

    0 >>> while x <= 10 : x = x + 1 print x >>> print “x=”,x
  33. Loop control statement break Jumps out of the closest enclosing

    loop continue Jumps to the top of the closest enclosing loop
  34. while – else clause • while condition : Statements else

    : Statements >>> x = 0 >>> while x <= 6 : x = x + 1 print x else : y = x >>> print y The optional else clause runs only if the loop exits normally (not by break)
  35. For loop >>>for n in [1,5,7,6]: print n >>>for x

    in range(4): print x iterating through a list of values
  36. range() • range(N) generates a list of numbers [0,1, ...,N-1]

    • range(i , j, k) • I --- start (inclusive) • j --- stop (exclusive) • k --- step
  37. For – else clause • for var in Group :

    Statements else : Statements >>>for x in range(9): print x else : y = x >>> print y For loops also may have the optional else clause
  38. User : Input >>> var = input(“Enter your name :”)

    >>> var = raw_input(“Enter your name & BDay”) • The raw_input(string) method returns a line of user input as a string • The parameter is used as a prompt
  39. functions • Code to perform a specific task. • Advantages:

    • Reducing duplication of code • Decomposing complex problems into simpler pieces • Improving clarity of the code • Reuse of code • Information hiding
  40. functions • Basic types of functions: • Built-in functions Examples

    are: dir() len() abs() • User defined Functions created with the ‘ def ’ keyword.
  41. Defining functions >>> def f(x): … return x*x >>> f(1)

    >>> f(2) • def is a keyword • f is the name of the function • x the parameter of the function • return is a keyword; specifies what should be returned
  42. Calling a functions >>>def printme( str ): >>> #"This prints

    a passed string into this function" >>> print str; >>> return; … To call function, printme >>>printme(“HELLO”); Output HELLO
  43. modules • A module is a python file that (generally)

    has only • definitions of variables, • functions and • classes
  44. Importing modules Modules in Python are used by importing them.

    For example, 1] import math This imports the math standard module. >>>print math.sqrt(10)
  45. Importing modules.... 2] >>>from string import whitespace only whitespace is

    added to the current scope >>>from math import * all the elements in the math namespace are added
  46. creating module Python code for a module named ‘xyz’ resides

    in a file named file_name.py. Ex. support.py >>> def print_func( par ): print "Hello : ", par return The import Statement: import module1[, module2[,... moduleN] Ex: >>>import support >>>support.print_func(“world!”);
  47. Doc-Strings • It’s highly recommended that all functions have documentation

    • We write a doc-string along with the function definition >>> def avg(a, b): … """ avg takes two numbers as input and returns their average""" … return (a + b)/2 >>>help(avg)
  48. Returning multiple values Return area and perimeter of circle, given

    radius Function needs to return two values >>>def circle(r): … pi = 3.14 … area = pi * r * r … perimeter = 2 * pi * r … return area, perimeter >>>a, p = circle(6) >>>print a
  49. Basics of File Handling • Opening a file: Use file

    name and second parameter-"r" is for reading, the "w" for writing and the "a" for appending. eg. >>>fh = open("filename_here", "r") • Closing a file used when the program doesn't need it more. >>>fh.close()
  50. functions File Handling Functions available for reading the files: read,

    readline and readlines. • The read function reads all characters. >>>fh = open("filename", "r") >>>content = fh.read()
  51. functions File Handling • The readline function reads a single

    line from the file >>>fh = open("filename", "r") >>>content = fh.readline() • The readlines function returns a list containing all the lines of data in the file >>>fh = open("filename", "r") >>>content = fh.readlines()
  52. Write and write lines To write a fixed sequence of

    characters to a file: >>>fh = open("hello.txt","w") >>>fh.write("Hello World")
  53. Write and writelines You can write a list of strings

    to a file >>>fh = open("hello.txt", "w") >>>lines_of_text = ["a line of text", "another line of text", "a third line"] >>>fh.writelines(lines_of_text)
  54. Renaming Files Python os module provides methods that help you

    perform file-processing operations, such as renaming and deleting files. rename() Method >>>import os >>>os.rename( "test1.txt", "test2.txt" )
  55. Class A set of attributes that characterize any object of

    the class. The attributes are data members (class variables and instance variables) and methods Code: class Employee: empCount = 0 def __init__(self, name, salary): self.name = name self.salary = salary Employee.empCount += 1 def displayCount(self): print "Total Employee %d" % Employee.empCount
  56. Class • empCount is a class variable shared among all

    instances of this class. This can be accessed as Employee.empCount from inside the class or outside the class. • first method __init__() is called class constructor or initialization method that Python calls when a new instance of this class is created. • You declare other class methods like normal functions with the exception that the first argument to each method is self.