The document provides an introduction to the Python programming language. It discusses Python's core features like being an interpreted, object-oriented, and dynamic language. It covers basic Python concepts like data types, variables, operators, control flow, functions, modules, file handling, and object-oriented programming. The document contains examples and explanations of built-in types like numbers, strings, lists, tuples, and dictionaries. It also discusses control structures, functions, modules, and classes in Python.
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
Introduction to Python Fundamentals
1. Introduction to Python
Sushant Mane
President @Walchand Linux User's Group
sushantmane.github.io
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
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
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)
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
10. int
>>>a = 3
>>>a
● a is a variable of the int type
11. long
>>>b = 123455L
>>>b = 12345l
● b is a long int
● For long -- apeend l or L to number
12. float
>>>p = 3.145897
>>>p
● real numbers are represented using the float
● Notice the loss of precision
● Floats have a fixed precision
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
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
17. Variables
● All the operations could be done on variables
>>>a = 5
>>>b = 3.4
>>>print a, b
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
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)
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
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”
]]
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” ])
27. Strings . . .
● Contiguous set of characters in between
quotation marks
eg. ”wceLinuxUsers123Group”
● Can use single or double quotes
>>>st = 'wceWlug'
>>>st = ”wceWlug”
28. Strings . . .
● three quotes for a multi-line string.
>>> ''' Walchand
. . . Linux
. . . Users
. . . Group'''
>>> ”””Walchand
. . . Linux
. . . Users
. . . Group”””
30. 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'
31. Strings and Numbers
>>>ord(text)
● converts a string into a number.
● Example:
ord("a") is 97,
ord("b") is 98, ...
32. Strings and Numbers
>>>chr(number)
● Example:
chr(97) is 'a',
chr(98) is 'b', ...
33. 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
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!
35. 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!
37. 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
38. If Statement
>>> x = 12
>>> if x <= 15 :
y = x + 15
>>> print y
● if condition :
statements
Indentation
39. If-else Statement
● if condition :
Statements
else :
Statements
>>> x = 12
>>> if x <= 15 :
y = x + 13
Z = y + y
else :
y = x
>>> print y
40. 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
42. Looping
● Decision making and looping
● Process of repeatedly executing a block of
statements
43. while loop
● while condition :
Statements
>>> x = 0
>>> while x <= 10 :
x = x + 1
print x
>>> print “x=”,x
44. Loop control statement
break Jumps out of the closest enclosing
loop
continue Jumps to the top of the closest
enclosing loop
45. 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)
46. For loop
iterating through a list of values
>>>for n in [1,5,7,6]:
print n
>>>for x in range(4):
print x
47. range()
● range(N) generates a list of numbers [0,1, ...,N-1]
● range(i , j, k)
● I --- start (inclusive)
● j --- stop (exclusive)
● k --- step
48. 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
49. User : Input
● The raw_input(string) method returns a line of
user input as a string
● The parameter is used as a prompt
>>> var = input(“Enter your name :”)
>>> var = raw_input(“Enter your name &
BDay”)
51. 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
52. functions
● Basic types of functions:
● Built-in functions
Examples are: dir()
len()
abs()
● User defined
Functions created with the ‘ def ’
keyword.
53. 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
54. 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
56. modules
● A module is a python file that (generally) has only
● definitions of variables,
● functions and
● classes
57. 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)
58. 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
59. 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!”);
60. 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)
61. 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
63. 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()
64. 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()
65. 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()
66. Write and write lines
To write a fixed sequence of characters to a file:
>>>fh = open("hello.txt","w")
>>>fh.write("Hello World")
67. 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)
68. 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" )
71. 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
72. 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.