Introduction to Python :
Python is a high-level, interpreted, interactive and
object-oriented scripting language.
·
Python
is Interpreted: Python is processed at
runtime by the interpreter.
You do not need to compile your program before executing it. This is similar to PERL and PHP.
You do not need to compile your program before executing it. This is similar to PERL and PHP.
·
Python
is Interactive: You can actually sit at
a Python prompt and interact with the
interpreter directly to write your programs.
interpreter directly to write your programs.
·
Python
is Object-Oriented: Python supports
Object-Oriented style or technique
of programming that encapsulates code within objects.
of programming that encapsulates code within objects.
·
Python
is a Beginner's Language:
Python is a great language for the
beginner-level programmers and supports the development of a wide range of applications
from simple text processing to W W W browsers to games.
beginner-level programmers and supports the development of a wide range of applications
from simple text processing to W W W browsers to games.
History of Python:
Python was developed by
Guido van Rossum in the late 80s and early 90s 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.
Python Features
Python's features
include:
·
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.
·
Easy-to-maintain: Python's source code is fairly
easy-to-maintain.
·
A
broad standard library:
Python's bulk of the library is very portable and cross-platform compatible on
UNIX, Windows, and Macintosh.
·
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.
·
Databases: Python provides interfaces to all major
commercial databases.
·
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.
Apart from the
above-mentioned features, Python has a big list of good features, few are
listed below:
·
It supports functional
and structured programming methods as well as OOP.
·
It can be used as a
scripting language or can be compiled to byte-code for building large
applications.
·
It provides very
high-level dynamic data types and supports dynamic type checking.
·
IT supports automatic
garbage collection.
·
It can be easily
integrated with C, C++, COM, ActiveX, CORBA, and Java.
####################
Method to execute Python Code ######################
Interactive
mode:
>>>
print "Hello, Python!"; ßsyntex
for 2.7
Scripted
mode:
Open
notepad , type following command and save it with .py extension .
print "Hello, Python!";
python
test.py
$ chmod +x test.py # This is to make file executable
$./test.py
######################### Installation ################################
Installation
of Python:
For
windows
X 64
version for 64 bit OS
X 86
version for 32 bit OS
Document
comes with CHM (compiled HTML)
Python - V to verify version of python
##########################
Vocabulary #############################
Python
program flow
·
Program à module(s) ----- std library / import (top level py file)
·
Modules
à statements ----- statement is reserved key word
·
Statements
à expression
--- expression is mathematical that operate on data
·
Expressions
à objects ---
anything can be object, data entity
Modules
·
Modules
are functions and variables defined in separate files
·
Items
are imported using from or import
from module import
function
function()
import module
module.function()
·
Modules
are namespaces
o
Can
be used to organize variable names, i.e.
atom.position =
atom.position - molecule.position
Python is:
(based on different type of data)
·
Dynamically
typed (e.g we don’t have to declare type for variable )
·
Strongly
typed
################ Python Identifiers #############################
·
A
Python identifier is a name used to identify a variable, function, class,
module, or other object.
·
An
identifier starts with a letter A to Z or a to z, or an underscore (_) followed
by zero or more letters, underscores and digits (0 to 9).
·
Python
does not allow punctuation characters such as @, $, and % within identifiers.
·
Python
is a case sensitive programming language. Thus, Manpower and manpower
are two different identifiers in Python.
Here are naming
conventions for Python identifiers:
·
Class
names start with an uppercase letter. All other identifiers start with a
lowercase letter.
·
Starting
an identifier with a single leading underscore indicates that the identifier is
private
·
Starting
an identifier with two leading underscores indicates a strongly private
identifier.
·
If
the identifier also ends with two trailing underscores, the identifier is a
language-defined special name
############### Lines and Indentation
#############################
Blocks of
code are denoted by line indentation, no braces used.
The
number of spaces in the indentation is variable, but all statements within the
block must be indented the same amount.
E.g
if True:
print "True"
else:
print "False"
### Above
statement is correct, but bellow statement give error ######
if True:
print "Answer"
print "True"
else:
print "Answer"
print "False"
################### Python Keywords #############################
The
following list shows the Python keywords. These are reserved words and you
cannot use them as constant or variable or any other identifier names. All the
Python keywords contain lowercase letters only.
And
Assert
|
exec
finally
|
Not
or
|
Break
|
for
|
pass
|
Class
|
from
|
print
|
Continue
|
global
|
raise
|
def
|
if
|
return
|
del
|
import
|
try
|
elif
|
in
|
while
|
else
|
is
|
with
|
except
|
lambda
|
yield
|
########################## DATA TYPES ###########################
Immutable
date (Fixed data type)
·
Number
o
Int
o
Float
·
String
·
Tuple (“Sunday”,”Monday”, 123, “mango”)
Mutable data
type (that can be changed or modified)
·
List [ “Sunday”, “Monday, 123 ]
·
Dictionary {
1:”Sunday”, 2: “Monday” }
contain key:value pair
·
file
Verify
data time using type() function
isinstance() --- test for data type (Boolean)
################# Python Strings ################################
·
Strings
in Python are identified as a contiguous set of characters represented in the
quotation marks.
·
Python
allows for either pairs of single or double quotes.
·
Subsets
of strings can be taken using the slice operator ([ ] and [:] ) with indexes
starting at 0 in the beginning of the string and working their way from -1 at
the end.
·
The
plus (+) sign is the string concatenation operator and the asterisk (*) is the
repetition operator. For example:
PYTHON 2 uses ASCII character only 128 values using 7
bit
PYTHON 3
uses UTF-8 (1 – 4 byte)
str = 'Hello World!'
print str # Prints
complete string
print str[0] # Prints
first character of the string
print str[2:5] # Prints
characters starting from 3rd to 5th
print str[2:] # Prints
string starting from 3rd character
print str * 2 # Prints
string two times
print str + "TEST" # Prints concatenated string
String
operation :
Name =
“myname”
Len(name) --- gives character length
+ --- concatenation
‘ *
‘ ---- repetition
str(name) ----
type casting, changing identity of data type
String slicing:
String
method
Object.find()
Name.split() cuts string @ delimiter
Find
location (position) of letter / character in string
Raw
string prevent escape sequence interruption
Verify if
particular sub-string exist in string
Syntax: “text” not in
(variable) returns True / False
Syntax: “text” in
returns True / False
Join()
To verify
if string consist of alphabet or digit..
Isalpha()
Isdigit()
Byte
class provides an immutable sequence. Value must be integers from 0 – 255 to
represent a byte.
Byte
array class provide an mutable sequence.
########################
Tuples #####################################
Tuples ()
·
order
set of data
·
used
for storing static program data
·
Read
only data
·
Can
be integrated with dictionary
·
Immutable
·
Slicing
in tuple
Empty
tuple e.g tup1
= ()
Single
entry tuple e.g tup2 = (1,) , is necessary for single entry.
“a” in tup1
“a” not
in tup1
Range
# set
class provide a mapping of unique immutable elements
Exercise.
########################
List #######################################
List [ ]
·
Can
be modified or updated.
List
operation :
Append() à add 1 element at the end
Count() à
Extend() à extend list
Index()
Insert () à insert element
Pop() à remove last element
and returns the value, we can use pop using index to remove specific element.
Remove(0) à remove element using
value, instead of index used in pop
Clear
() à
remove all element
Min()
Max()
Sorted() à only shows list in
sorted
Sort() à will change original
string
Reverse() à reverse the order
Dictionary
{key:value}
To retrieve information from dictionary.
.keys()
.values()
.items()
Pop() --
must provide value / key
In
dictionary array is associated with hash table and don’t have order, so
splicing don’t’ work.
######################
Operator ################################
‘ +
‘ add
‘ –
‘ subtract
‘ *
‘ multiply
‘ /
‘ divide
// quotient
% reminder
** power
e.g 2**4 means 2^4
Comparison < ,
> , == , !=
Boolean
: AND
, OR , NOT
Order of
operation (PEMDAS)
Parenthesis
– exponential – Multiplication – Division – Addition – Subtraction
For more
complex maths we can use standard library
1.
fraction
2.
math
external
module : mum py &
sci py
######################## Date & Time: ################################
>>>
Import datetime
To display
today’s date and time:
>>> datetime.datetime.today()
To
display only date
>>>
datetime.date.today()
Changing
date in DD MM YYYY format
Where d à Day, b à
Month, y à Year
#### File
handling ###
CSV ,
comma separated value
Open file
F = open
(“file_name”, “x”)
X =
r (read only)
= a
(append)
= w (write)
= r+
R/W
File
opened using above method should always be closed manually. Using command
f.close()
In case
we forgot to close the file, it will remain open.
So to
avoid mistake / issue we should open file with context manage
So above
command open file with context manage and content is stored in f_contents
f.readline() -- read line by line from 1st to
end
to go
back to start use
f.seek(0)
#####
copy one file to another file #####
#############
Public and Private Data ######################
·
In
Python anything with two leading underscores is private
__a, __my_variable
·
Anything
with one leading underscore is semiprivate, and you should feel guilty
accessing this data directly.
_b
·
Sometimes
useful as an intermediate step to making data private
#######################
Turtle ###################################
Import
turtle
Turtle.Forward(25) -move forward by 25
Turtle.backward(30)
Turtle.left(30) - rotate left by 30
degree
Turtle.right(30) - rotate right by 30 degree
Turtle.shape(“turtle”) - changes cursor from triangle
to turtle shape
Turtle.exitonclic() - close turtle window on click
Turtle.color(“red”)
To user
RGB format for color
Turtle.colormode(255)
Turtle.color(215,100,170) for pink color
Help(turtle.color)
Turtle.width() change width of
turtle cursor
turtle.reset() clears the screen
turtle.undo()
turtle.circle(10) where value 10 represent
radius
turtle.penup() no lines – like pen not
touching paper
turtle.pendonw()
turtle.title("welcome") change name of turtle window
input box
inside turtle
>>>
title = "input your data"
>>>
promt = " what is your name ?"
>>>
turtle.textinput(title,promt)
'Santosh'