Upgrade to Pro — share decks privately, control downloads, hide ads and more …

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. Introduction to Python
    Sushant Mane
    President @Walchand Linux User's Group
    sushantmane.github.io

    View full-size slide

  2. 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

    View full-size slide

  3. 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

    View full-size slide

  4. 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)

    View full-size slide

  5. Basic Data type's

    Numbers
    – int
    – float
    – complex

    Boolean

    Sequence
    – Strings
    – Lists
    – Tuples

    View full-size slide

  6. 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

    View full-size slide

  7. 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

    View full-size slide

  8. Variables

    No need to declare

    Need to initialize

    Almost everything can be assigned to a variable

    View full-size slide

  9. Numeric Data Types

    View full-size slide

  10. int
    >>>a = 3
    >>>a

    a is a variable of the int type

    View full-size slide

  11. long
    >>>b = 123455L
    >>>b = 12345l

    b is a long int

    For long -- apeend l or L to number

    View full-size slide

  12. float
    >>>p = 3.145897
    >>>p

    real numbers are represented using the float

    Notice the loss of precision

    Floats have a fixed precision

    View full-size slide

  13. 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

    View full-size slide

  14. Numeric Operators

    Addition : 10 + 12

    Substraction : 10 - 12

    Division : 10 / 17

    Multiplication : 2 * 8

    Modulus : 13 % 4

    Exponentiation : 12 ** 2

    View full-size slide

  15. 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

    View full-size slide

  16. Variables
    And
    Assignment

    View full-size slide

  17. Variables

    All the operations could be done on variables
    >>>a = 5
    >>>b = 3.4
    >>>print a, b

    View full-size slide

  18. 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

    View full-size slide

  19. 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)

    View full-size slide

  20. Container Data
    Types
    i.e. Sequences

    View full-size slide

  21. 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

    View full-size slide

  22. 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”
    ]]

    View full-size slide

  23. 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

    View full-size slide

  24. 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” ])

    View full-size slide

  25. Tuple Methods
    Concatenation : myTuple + (13, ”science”)
    Repeat : myTuple * 4
    Index : myTuple[i]
    Length : len( myTuple )
    Membership : ‘m’ in myTuple

    View full-size slide

  26. Strings . . .

    Contiguous set of characters in between
    quotation marks
    eg. ”wceLinuxUsers123Group”

    Can use single or double quotes
    >>>st = 'wceWlug'
    >>>st = ”wceWlug”

    View full-size slide

  27. Strings . . .

    three quotes for a multi-line string.
    >>> ''' Walchand
    . . . Linux
    . . . Users
    . . . Group'''
    >>> ”””Walchand
    . . . Linux
    . . . Users
    . . . Group”””

    View full-size slide

  28. 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

    View full-size slide

  29. Strings Formating

    %

    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'

    View full-size slide

  30. Strings and Numbers
    >>>ord(text)

    converts a string into a number.

    Example:
    ord("a") is 97,
    ord("b") is 98, ...

    View full-size slide

  31. Strings and Numbers
    >>>chr(number)

    Example:
    chr(97) is 'a',
    chr(98) is 'b', ...

    View full-size slide

  32. 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

    View full-size slide

  33. 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!

    View full-size slide

  34. 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!

    View full-size slide

  35. 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

    View full-size slide

  36. If Statement
    >>> x = 12
    >>> if x <= 15 :
    y = x + 15
    >>> print y

    if condition :
    statements
    Indentation

    View full-size slide

  37. If-else Statement

    if condition :
    Statements
    else :
    Statements
    >>> x = 12
    >>> if x <= 15 :
    y = x + 13
    Z = y + y
    else :
    y = x
    >>> print y

    View full-size slide

  38. 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

    View full-size slide

  39. Looping

    Decision making and looping

    Process of repeatedly executing a block of
    statements

    View full-size slide

  40. while loop

    while condition :
    Statements
    >>> x = 0
    >>> while x <= 10 :
    x = x + 1
    print x
    >>> print “x=”,x

    View full-size slide

  41. Loop control statement
    break Jumps out of the closest enclosing
    loop
    continue Jumps to the top of the closest
    enclosing loop

    View full-size slide

  42. 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)

    View full-size slide

  43. For loop
    >>>for n in [1,5,7,6]:
    print n
    >>>for x in range(4):
    print x
    iterating through a list of values

    View full-size slide

  44. range()

    range(N) generates a list of numbers [0,1, ...,N-1]

    range(i , j, k)

    I --- start (inclusive)

    j --- stop (exclusive)

    k --- step

    View full-size slide

  45. 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

    View full-size slide

  46. 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

    View full-size slide

  47. 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

    View full-size slide

  48. functions

    Basic types of functions:

    Built-in functions
    Examples are: dir()
    len()
    abs()

    User defined
    Functions created with the ‘ def ’
    keyword.

    View full-size slide

  49. 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

    View full-size slide

  50. 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

    View full-size slide

  51. modules

    A module is a python file that (generally) has only

    definitions of variables,

    functions and

    classes

    View full-size slide

  52. 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)

    View full-size slide

  53. 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

    View full-size slide

  54. 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!”);

    View full-size slide

  55. 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)

    View full-size slide

  56. 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

    View full-size slide

  57. File
    Handling

    View full-size slide

  58. 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()

    View full-size slide

  59. 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()

    View full-size slide

  60. 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()

    View full-size slide

  61. Write and write lines
    To write a fixed sequence of characters to a file:
    >>>fh = open("hello.txt","w")
    >>>fh.write("Hello World")

    View full-size slide

  62. 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)

    View full-size slide

  63. 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" )

    View full-size slide

  64. Deleting Files
    remove() Method
    >>>os.remove(file_name)

    View full-size slide

  65. 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

    View full-size slide

  66. 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.

    View full-size slide

  67. Class
    Creating instances
    emp1 = Employee("Zara", 2000)
    Accessing attributes
    emp1.displayEmployee()

    View full-size slide