Report On Python
Report On Python
“Any serious and lasting achievement or success, one can never achieve without the help,
guidance and co-operation of so many people involved in the work.
This report documents the work done during the inudstrial trainig in bhiwadi under the
supervision of Mr. Tanusmita mam who gave me an opportunity to take professional
training in msme technology bhiwadi.
I would like to express deep gratitude to Mr. bl pal sir , Head of Department (computer
application and technology).
I have tried my best to keep report simple yet technically correct. I hope I succeed
in my attempt.
ABSTRACT
The objective of a practical training is to learn something about industries practically and to
be familiar with a working style of a technical worker to adjust simply according to industrial
environment . This report deals with the equipments their relation and their general operating
principle.
Python, an interpreted language which was developed by Guido van Rossum came into
implementation in 1989. The language supports both object oriented and procedure oriented
approach. Python is designed to be a highly extensible language. Python works on the
principle of “there is only one obvious way to do a task” rather than “there is more than one
way to solve a particular problem”. Python is very easy to learn and implement. The simpler
syntax, uncomplicated semantics and approach with which Python has been developed makes
it very easier to learn. A large number of python implementations and extensions have been
developed since its inception.
Training Cover provides both six weeks as well as six months industrial
training in Python. Python is divided into two parts as “Core Python” and
“Advance Python”. Accordingly all the basic and advanced topics are discussed
in both of the modules.
CERTIFICATE
INDEX
Chapter Page No.
1.Introduction to Python 1
1.1What is Python
1.2 History
1.3 Python Features
2.Operartor 4
3.Collecyion In Python 11
3.1 List
3.2 Tuple
3.3 Dictionary
4.Functions 21
5.Python modules 24
INTRODUCTION
1.1 PYTHON
Python is Interactive: You can actually sit at a Python prompt and interact with the
interpreter directly to write your programs.
1
1.2 History of Python
Python was developed by Guido van Rossum in the late eighties and early nineties at the
National Research Institute for Mathematics and Computer Science in the Netherlands.
Python is derived from many other languages, including ABC, Modula-3, C, C++, Algol-68,
SmallTalk, and Unix shell and other scripting languages.
Python is copyrighted. Like Perl, Python source code is now available under the GNU
General Public License (GPL).
Python is now maintained by a core development team at the institute, although Guido van
Rossum still holds a vital role in directing its progress.
Easy-to-learn: Python has few keywords, simple structure, and a clearly defined
syntax. This allows the student to pick up the language quickly.
Easy-to-read: Python code is more clearly defined and visible to the eyes.
A broad standard library: Python's bulk of the library is very portable and cross-
platform compatible on UNIX, Windows, and Macintosh.
2
Interactive Mode: Python has support for an interactive mode which allows
interactive testing and debugging of snippets of code.
Portable: Python can run on a wide variety of hardware platforms and has the same
interface on all platforms.
Extendable: You can add low-level modules to the Python interpreter. These
modules enable programmers to add to or customize their tools to be more efficient.
GUI Programming: Python supports GUI applications that can be created and
ported to many system calls, libraries and windows systems, such as Windows MFC,
Macintosh, and the X Window system of Unix.
Scalable: Python provides a better structure and support for large programs than shell
scripting.
It provides very high-level dynamic data types and supports dynamic type checking.
It can be easily integrated with C, C++, COM, ActiveX, CORBA, and Java.
3
Chapter 2
OPERATORS
4
2.1 ARITHMETIC OPERATORS
- Subtraction Subtracts right hand operand from left hand operand. a–b=-
10
% Modulus Divides left hand operand by right hand operand and b%a=
returns remainder 0
5
2.2ASSIGNMENT OPERATOR
6
%= Modulus It takes modulus using two operands and c %= a is
AND assign the result to left operand equivalent to c = c
%a
7
2.4 COMPARISON OPERATOR
& Binary AND Operator copies a bit to the result if it exists in both (a & b)
operands (means
0000 1100)
^ Binary XOR It copies the bit if it is set in one operand but not both. (a ^ b) = 49
(means
0011 0001)
~ Binary Ones It is unary and has the effect of 'flipping' bits. (~a ) = -61
Complement (means
1100 0011
in 2's
complement
form due to
a signed
binary
number.
<< Binary Left Shift The left operands value is moved left by the number of bits a << 2 =
specified by the right operand. 240 (means
1111 0000)
>> Binary Right The left operands value is moved right by the number of a >> 2 = 15
Shift bits specified by the right operand. (means
0000 1111)
8
2.5 LOGICAL OPERATOR
and Logical If both the operands are true then condition (a and b)
AND becomes true. is true.
not Logical Used to reverse the logical state of its operand. Not(a
NOT and b) is
false.
not in Evaluates to true if it does not finds a variable in the x not in y, here
specified sequence and false otherwise. not in results in a
1 if x is not a
member of
sequence y.
9
Python Operators Precedence
Operator Description
~+- Complement, unary plus and minus (method names for the last two are
+@ and -@)
10
Chapter 3
COLLECTION IN PYTHON
3.1 LIST
The list is a most versatile data type available in Python which can be written as a list of
comma-separated values (items) between square brackets. Important thing about a list is that
items in a list need not be of the same type.
11
1 cmp(list1, list2)
2 len(list)
3 max(list)
4 min(list)
5 list(seq)
12
Python includes following list methods
1 list.append(obj)
2 list.count(obj)
3 list. extend(seq)
4 list.index(obj)
5 list.insert(index, obj)
6 list.pop(obj=list[-1])
7 list.remove(obj)
8 list.reverse()
9 list.sort([func])
tup1 = ();
To write a tuple containing a single value you have to include a comma, even though there is
only one value −
tup1 = (50,);
Like string indices, tuple indices start at 0, and they can be sliced, concatenated, and so on.
tup1[0]: physics
tup2[1:5]: [2, 3, 4, 5]
14
Updating Tuples:
Tuples are immutable which means you cannot update or change the values of tuple
elements. We are able to take portions of existing tuples to create new tuples as the
following example demonstrates −
To explicitly remove an entire tuple, just use the del statement. For example:
15
Basic Tuples Operations:
Python Expression Results Description
1
cmp(tuple1, tuple2):Compares elements of both tuples.
2
len(tuple):Gives the total length of the tuple.
3
max(tuple):Returns item from the tuple with max value.
4
min(tuple):Returns item from the tuple with min value.
5
tuple(seq):Converts a list into tuple.
16
3.2 DICTIONARY
Each key is separated from its value by a colon (:), the items are separated by commas, and
the whole thing is enclosed in curly braces. An empty dictionary without any items is
written with just two curly braces, like this: {}.
Keys are unique within a dictionary while values may not be. The values of a dictionary can
be of any type, but the keys must be of an immutable data type such as strings, numbers, or
tuples.
Result –
dict['Name']: Zara
dict['Age']: 7
17
Updating Dictionary
We can update a dictionary by adding a new entry or a key-value pair, modifying an existing
entry, or deleting an existing entry as shown below in the simple example −
Result −
dict['Age']: 8
dict['School']: DPS School
To explicitly remove an entire dictionary, just use the del statement. Following is a simple
example –
18
Built-in Dictionary Functions & Methods –
Python includes the following dictionary functions −
1 cmp(dict1, dict2)
2 len(dict)
Gives the total length of the dictionary. This would be equal to the number of items in
the dictionary.
3 str(dict)
4 type(variable)
Returns the type of the passed variable. If passed variable is dictionary, then it would
return a dictionary type.
19
Python includes following dictionary methods −
3 dict.fromkeys():Create a new dictionary with keys from seq and values set to value.
20
Chapter 4
FUNCTIONS IN PYTHON
A function is a block of organized, reusable code that is used to perform a single, related
action. Functions provide better modularity for your application and a high degree of code
reusing. Python gives you many built-in functions like print(), etc. but you can also create
your own functions. These functions are called user-defined functions.
Defining a Function
Simple rules to define a function in Python.
Function blocks begin with the keyword def followed by the function name and
parentheses ( ( ) ).
Any input parameters or arguments should be placed within these parentheses. You
can also define parameters inside these parentheses.
The code block within every function starts with a colon (:) and is indented.
21
Calling a Function
Defining a function only gives it a name, specifies the parameters that are to be included in
the function and structures the blocks of code.Once the basic structure of a function is
finalized, you can execute it by calling it from another function or directly from the Python
prompt. Following is the example to call printme() function −
Function Arguments
You can call a function by using the following types of formal arguments:
Required arguments
Keyword arguments
Default arguments
Variable-length arguments
22
Scope of Variables
All variables in a program may not be accessible at all locations in that program. This
depends on where you have declared a variable.
The scope of a variable determines the portion of the program where you can access a
particular identifier. There are two basic scopes of variables in Python −
This means that local variables can be accessed only inside the function in which they are
declared, whereas global variables can be accessed throughout the program body by all
functions. When you call a function, the variables declared inside it are brought into scope.
Following is a simple example −
return total;
sum( 10, 20 );
Result −
23
Chapter 5
PYTHON MODULES
A module allows you to logically organize your Python code. Grouping related code into a
module makes the code easier to understand and use. A module is a Python object with
arbitrarily named attributes that you can bind and reference.Simply, a module is a file
consisting of Python code. A module can define functions, classes and variables. A module
can also include runnable code.
Example:
The Python code for a module named aname normally resides in a file named aname.py.
Here's an example of a simple module, support.py
return
When the interpreter encounters an import statement, it imports the module if the module is
present in the search path. A search path is a list of directories that the interpreter searches
before importing a module. For example, to import the module support.py, you need to put
the following command at the top of the script −
24
A module is loaded only once, regardless of the number of times it is imported. This prevents
the module execution from happening over and over again if multiple imports occur.
Packages in Python
A package is a hierarchical file directory structure that defines a single Python application
environment that consists of modules and sub packages and sub-sub packages.
Consider a file Pots.py available in Phone directory. This file has following line of source
code −
def Pots():
Similar way, we have another two files having different functions with the same name as
above −
Phone/__init__.py
To make all of your functions available when you've imported Phone,to put explicit import
statements in __init__.py as follows −
from G3 import G3
25
After you add these lines to __init__.py, you have all of these classes available when you
import the Phone package.
import Phone
Phone.Pots()
Phone.Isdn()
Phone.G3()
RESULT:
I'm 3G Phone
In the above example, we have taken example of a single functions in each file, but you can
keep multiple functions in your files. You can also define different Python classes in those
files and then you can create your packages out of those classes.
25
Chapter 6
This chapter covers all the basic I/O functions available in Python.
Result:
raw_input
input
The raw_input([prompt]) function reads one line from standard input and returns it as a
string (removing the trailing newline).
26
This prompts you to enter any string and it would display same string on the screen. When I
typed "Hello Python!", its output is like this −
The input([prompt]) function is equivalent to raw_input, except that it assumes the input is a
valid Python expression and returns the evaluated result to you.
This would produce the following result against the entered input −
Until now, you have been reading and writing to the standard input and output. Now, we
will see how to use actual data files.
Python provides basic functions and methods necessary to manipulate files by default. You
can do most of the file manipulation using a file object.
Before you can read or write a file, you have to open it using Python's built-
in open() function. This function creates a file object, which would be utilized to call other
support methods associated with it.
Syntax
file object = open(file_name [, access_mode][, buffering])
27
Here are parameter details:
file_name: The file_name argument is a string value that contains the name of the
file that you want to access.
access_mode: The access_mode determines the mode in which the file has to be
opened, i.e., read, write, append, etc. A complete list of possible values is given
below in the table. This is optional parameter and the default file access mode is read
(r).
buffering: If the buffering value is set to 0, no buffering takes place. If the buffering
value is 1, line buffering is performed while accessing a file. If you specify the
buffering value as an integer greater than 1, then buffering action is performed with
the indicated buffer size. If negative, the buffer size is the system default(default
behavior).
Modes Description
r Opens a file for reading only. The file pointer is placed at the beginning of the file. This is the
default mode.
rb Opens a file for reading only in binary format. The file pointer is placed at the beginning of the
file. This is the default mode.
r+ Opens a file for both reading and writing. The file pointer placed at the beginning of the file.
rb+ Opens a file for both reading and writing in binary format. The file pointer placed at the
beginning of the file.
w Opens a file for writing only. Overwrites the file if the file exists. If the file does not exist,
creates a new file for writing.
wb Opens a file for writing only in binary format. Overwrites the file if the file exists. If the file does
not exist, creates a new file for writing.
w+ Opens a file for both writing and reading. Overwrites the existing file if the file exists. If the file
does not exist, creates a new file for reading and writing.
wb+ Opens a file for both writing and reading in binary format. Overwrites the existing file if the file
exists. If the file does not exist, creates a new file for reading and writing.
a Opens a file for appending. The file pointer is at the end of the file if the file exists. That is, the
file is in the append mode. If the file does not exist, it creates a new file for writing.
ab Opens a file for appending in binary format. The file pointer is at the end of the file if the file
exists. That is, the file is in the append mode. If the file does not exist, it creates a new file for
writing.
a+ Opens a file for both appending and reading. The file pointer is at the end of the file if the file
exists. The file opens in the append mode. If the file does not exist, it creates a new file for
reading and writing.
ab+ Opens a file for both appending and reading in binary format. The file pointer is at the end of the
file if the file exists. The file opens in the append mode. If the file does not exist, it creates a new
file for reading and writing.
Once a file is opened and you have one file object, you can get various information related
to that file.
29
Here is a list of all attributes related to file object:
Attribute Description
file.softspace Returns false if space explicitly required with print, true otherwise.
Example
# Open a file
fo = open("foo.txt", "wb")
print "Name of the file: ", fo.name
print "Closed or not : ", fo.closed
print "Opening mode : ", fo.mode
print "Softspace flag : ", fo.softspace
The close() method of a file object flushes any unwritten information and closes the file
object, after which no more writing can be done.Python automatically closes a file when the
reference object of a file is reassigned to another file. It is a good practice to use the close()
method to close a file.
30
Syntax
fileObject.close();
Example
# Open a file
fo = open("foo.txt", "wb")
print "Name of the file: ", fo.name
# Close opend file
fo.close()
Result −
The file object provides a set of access methods to make our lives easier. We would see how
to use read() and write() methods to read and write files.
The write() method writes any string to an open file. It is important to note that Python
strings can have binary data and not just text.The write() method does not add a newline
character ('\n') to the end of the string Syntax
fileObject.write(string);
Here, passed parameter is the content to be written into the opened file. Example
# Open a file
fo = open("foo.txt", "wb")
fo.write( "Python is a great language.\nYeah its great!!\n");
31
The above method would create foo.txt file and would write given content in that file and
finally it would close that file. If you would open this file, it would have following content.
The read() method reads a string from an open file. It is important to note that Python
strings can have binary data. apart from text data.
Syntax
fileObject.read([count]);
Here, passed parameter is the number of bytes to be read from the opened file. This method
starts reading from the beginning of the file and if count is missing, then it tries to read as
much as possible, maybe until the end of file.
Example
# Open a file
fo = open("foo.txt", "r+")
str = fo.read(10);
print "Read String is : ", str
# Close opend file
fo.close()
File Positions
The tell() method tells you the current position within the file; in other words, the next read
or write will occur at that many bytes from the beginning of the file.
32
The seek(offset[, from]) method changes the current file position. The offset argument
indicates the number of bytes to be moved. The from argument specifies the reference
position from where the bytes are to be moved.
If from is set to 0, it means use the beginning of the file as the reference position and 1
means use the current position as the reference position and if it is set to 2 then the end of
the file would be taken as the reference position.
Example
# Open a file
fo = open("foo.txt", "r+")
str = fo.read(10);
print "Read String is : ", str
Python os module provides methods that help you perform file-processing operations, such
as renaming and deleting files.
To use this module you need to import it first and then you can call any related functions.
The rename() method takes two arguments, the current filename and the new filename.
Syntax
os.rename(current_file_name, new_file_name)
Example
import os
You can use the remove() method to delete files by supplying the name of the file to be
deleted as the argument.
Syntax
os.remove(file_name)
Example
#!/usr/bin/python
import os
All files are contained within various directories, and Python has no problem handling these
too. The os module has several methods that help you create, remove, and change
directories.
You can use the mkdir() method of the os module to create directories in the current
directory. You need to supply an argument to this method which contains the name of the
directory to be created.
Syntax
os.mkdir("newdir")
Example
#!/usr/bin/python
import os
You can use the chdir() method to change the current directory. The chdir() method takes an
argument, which is the name of the directory that you want to make the current directory.
Syntax
os.chdir("newdir")
Example
#!/usr/bin/python
import os
# Changing a directory to "/home/newdir"
os.chdir("/home/newdir")
Syntax
os.getcwd()
Example
import os
The rmdir() method deletes the directory, which is passed as an argument in the method.
Syntax:
os.rmdir('dirname')
Example
import os
# This would remove "/tmp/test" directory.
os.rmdir( "/tmp/test" )
File & Directory Related Methods
There are three important sources, which provide a wide range of utility methods to handle
and manipulate files & directories on Windows and Unix operating systems. They are as
follows −
File Object Methods: The file object provides functions to manipulate files.
37
Chapter 7
Python provides two very important features to handle any unexpected error in
your Python programs and to add debugging capabilities in them −
EXCEPTION DESCRIPTION
NAME
StopIteration Raised when the next() method of an iterator does not point to any
object.
StandardError Base class for all built-in exceptions except StopIteration and
SystemExit.
ArithmeticError Base class for all errors that occur for numeric calculation.
ZeroDivisionError Raised when division or modulo by zero takes place for all numeric
types.
EOFError Raised when there is no input from either the raw_input() or input()
function and the end of file is reached.
KeyError Raised when the specified key is not found in the dictionary.
IOError Raised when an input/ output operation fails, such as the print
statement or the open() function when trying to open a file that does
IOError
not exist.
SystemError Raised when the interpreter finds an internal problem, but when this
error is encountered the Python interpreter does not exit.
ValueError Raised when the built-in function for a data type has the valid type
of arguments, but the arguments have invalid values specified.
RuntimeError Raised when a generated error does not fall into any category.
Handling an exception
If you have some suspicious code that may raise an exception, you can defend
your program by placing the suspicious code in a try: block. After the try:
block, include an except: statement, followed by a block of code which
handles the problem as elegantly as possible.
Chapter 8
Python has been an object-oriented language since it existed. Because of this, creating and
using classes and objects are downright easy. This chapter helps you become an expert in
using Python's object-oriented programming support.
If you do not have any previous experience with object-oriented (OO) programming, you
may want to consult an introductory course on it or at least a tutorial of some sort so that you
have a grasp of the basic concepts.
Data member: A class variable or instance variable that holds data associated
with a class and its objects.
42
Instance variable: A variable that is defined inside a method and belongs only to
the current instance of a class.
Inheritance: The transfer of the characteristics of a class to other classes that are
derived from it.
Object: A unique instance of a data structure that's defined by its class. An object
comprises both data members (class variables and instance variables) and
methods.
Creating Classes
The class statement creates a new class definition. The name of the class immediately
follows the keyword class followed by a colon as follows −
class ClassName:
class_suite
The class_suite consists of all the component statements defining class members,
data attributes and functions.
43
Class Inheritance
Instead of starting from scratch, you can create a class by deriving it from a preexisting class
by listing the parent class in parentheses after the new class name.
The child class inherits the attributes of its parent class, and you can use those attributes as if
they were defined in the child class. A child class can also override data members and
methods from the parent.
Syntax
Derived classes are declared much like their parent class; however, a list of base classes to
inherit from is given after the class name −
class_suite
Overriding Methods
You can always override your parent class methods. One reason for overriding parent's
methods is because you may want special or different functionality in your subclass.
Example
class Parent: # define parent class
def myMethod(self):
def myMethod(self):
44
When the above code is executed, it produces the following result −
2 __del__( self )
Destructor, deletes an object
Sample Call : del obj
3 __repr__( self )
Evaluatable string representation
Sample Call : repr(obj)
4 __str__( self )
Printable string representation
Sample Call : str(obj)
5 __cmp__ ( self, x )
Object comparison
Sample Call : cmp(obj, x)
Overloading Operators
Suppose you have created a Vector class to represent two-dimensional vectors, what
happens when you use the plus operator to add them? Most likely Python will yell at you.
You could, however, define the __add__ method in your class to perform vector addition
and then the plus operator would behave as per expectation −
Example
class Vector:
self.a = a
self.b = b
def __str__(self):
def __add__(self,other):
v1 = Vector(2,10)
v2 = Vector(5,-2)
print v1 + v2
Vector(7,8)
Data Hiding
An object's attributes may or may not be visible outside the class definition. You need to
name attributes with a double underscore prefix, and those attributes then are not be directly
visible to outsiders.
Example
class JustCounter:
__secretCount = 0
def count(self):
self.__secretCount += 1
print self.__secretCount
counter = JustCounter()
counter.count()
counter.count()
print counter.__secretCount
Result −
print counter.__secretCount
Python protects those members by internally changing the name to include the class name.
You can access such attributes as object._className__attrName. If you would replace your
last line as following, then it works for you −
.........................
print counter._JustCounter__secretCount
1
2
2
47
Chapter 9
Python MySQL Database Access
The Python standard for database interfaces is the Python DB-API. Most Python database
interfaces adhere to this standard.
You can choose the right database for your application. Python Database API supports a
wide range of database servers such as −
GadFly
mSQL
MySQL
PostgreSQL
Informix
Interbase
Oracle
Sybase
48
The DB API provides a minimal standard for working with databases using Python
structures and syntax wherever possible. This API includes the following:
49