Manual of Python
Manual of Python
Table of contents
Chapter 1: Introduction to Python
Chapter 2: Data Types
Chapter 3: Operators
Chapter 4: Objects or sequences
Chapter 5: Control and loop Statements
Chapter 6: Functions
Chapter 7: Objects and Classes
Chapter 8: Files
Chapter 9: GUI using TKinter
Chapter 10: Data Analysis
1.1 History:
Python is introduced by Guido Van Rossum during during 1985 to 1990 at National Research
Institute for Mathematics and Computer Science in the Netherlands. It is derived from many
other languages including ABC, modula-3, c, c++, Unix etc.
1.2 Features:
Easy to learn
Easy to read
Easy to maintain
Broad standard library
Interactive mode
Portable
Extendable
Databases
GUI Programming
Scalable
Python supports functional and Structured programming methods as well as oop. It is also
Used as a Scripting Language or can be compiled to byte code for building large applications.
It provides high level dynamic datatype and supports dynamic type checking. Python
supports automatic garbage collections and easily integrated with other languages like c, c++,
java
1. Interactive mode:
You can write python code using python command line interpreter
Goto command prompt
c:> python
- Command prompt
>>>print ("Hello World!") - Version 3.5 and above
If you are using python version 2.x, you can specify string without brackets
2. Script mode:
Use notepad or notepad++ to write scripts
Open new notepad file and add the below statements
print ("Hello World")
a = 10
b = 20
c = a+b
print ("The result of c is: ", c)
Now save the file as Sample.py
Change the directory to file location
> cd E:\python\example>
> dir : It shows all the files in the current directory
> type sample.py : To display file content
> cls : To clear screen
> python sample.py : To execute the script file
1.8 Pycharm:
PyCharm is a cross-platform editor developed by JetBrains. Pycharm provides all the
tools you need for productive Python development.
Installing Pycharm
To download PyCharm visit the website
https://www.jetbrains.com/pycharm/download/ and Click the "DOWNLOAD" link under the
Community Section.
Features:
Be More Productive
Save time while PyCharm takes care of the routine. Focus on the bigger things and embrace the
keyboard-centric approach to get the most of PyCharm’s many productivity features
Types:
Int
Float
String
Boolean
Numbers:
- int (10)
- long (0122L) - in python3 no long datatype
- float (15.20)
- Complex (3.4j) - j might be lower case or upper case
- Type conversion
- int()
- float()
- long()
- complex()
Example:
a = int(10)
print(a)
10
b = float("10.56")
print(b)
10.56 -- automatically converts string into float
a+b
Chapter 3: Operators
Operators are the constructs, which can manipulate the value of operands
Example:
>>> 4 * 5 = 20
Example:
2.1.2 Comparison Operator
These Operators compare the values on either sides of them and decide the relation
among them.
Equal (==)
Not equal (!=)
Greater than (>)
Less than (<)
Greater than or equal to (>=)
Less than or equal to (<=)
Example:
Example:
<< The left operand's value a << 2 = 240 (means 1111 0000)
is moved left by the
number of bits
specified by the right
operand.
3 Logical Operator:
2.1.5 Membership Operator:
These Operators are used to test whether a value or a variable is found in
a sequence (Lists, Tuples, Sets, Strings, Dictionaries)
Chapter 4: Sequences
4.1 What are sequences?
Sequences are containers with items that are accessible by indexing or slicing
The built-in len() function takes any container as an argument and returns the number of
items in the container.
4.2 Sequence Operations:
Concatenation - Combine multiple sequences together
Repetition - To repeat particular sequence multiple times
Membership Testing - To check the item is belonging to the particular seq
Slicing - To slice particular range
Indexing - Index value for each item (Index starting from 0)
Example:
Subjects = ['physics', 'Chemistry', 'Maths']
Games = ['Football', 'Cricket', 'Tennis']
Subjects.append('History') #append operation
print(Subjects)
Subjects.insert(1, 'History') # TO insert into the second position
print(Subjects)
Subjects.extend(Games)
print(Subjects)
Subjects.remove('Chemistory')
print(Subjects)
Subjects.reverse() # it prints the elements in the reverse order
print(Subjects)
print(Subjects + Games) # Similar to Subjects.extend(Games)
print(Cricket[1])
print(Cricket.index('Virot')) -- To print particular element index
# Slicing
print(Football[0:2]) -- 0 - Starting, 2 - means actually (2-1)
# Concatenation
FoodCric = Football + Cricket
print(FoodCric)
# Repetition
print(Cricket * 2)
# count
print(Football.count('Hazard'))
Question:
Football = [('Dhoni', 'Sachin', 'Virot'),('Hazard', 'Lampard', 'Terry')]
-- In the above example how the indexing will be created
-- Football is a List which contains 2 tuples
-- Football list index is 0 and 1
-- 0 - tuples index ( 0, 1, 2)
-- 1 - tuple index (0,1,2)
Now i want o print 'Lampard'
print(Football[1][1])
Now i want to print 'Virot'
print(Football[0][2])
Example 2:
Points = [(1,2),(3,4),(6,7)]
Points.append((5,6))
print(Points)
Points.remove((1,2))
print(Points)
5. Sets:
-- A set contains an unordered collection of unique and immutable objects(unchanged).
-- Sets are denoted by '{}'
Add element
clear
copy
Difference
Discard
Remove
Intersection
print(Set1)
Set1 = {1,2,3,4,5,6}
Set1.discard(4) - To discard element 4
print(Set1)
print(Set1 | Set2) - Union Operation(Adding)
print(Set1 & Set2) - Intersection (prints common elements
print(Set1 - Set2) - Difference
print(Set1 ^ Set2) - Symmetric difference (Except common elements in both
sets)
Can we convert list into set?
list1 = [1,2,3,4,5,6,5,6,7,8]
print(list1)
Set3 = set(list1)
print(Set3)
If you want to convert list into tuple:
list1 = [1,2,3,4,5,6,5,6,7,8]
tup = tuple(list1)
print(tup)
2. For Loop:
Repeats the group of statements a specific number of times
For loops provides the syntax where the following information is
provided: o Boolean condition
o Initialization of the counting variable
o Incrementation of counting variable
Syntax:
for <variable> in <range>:
statement 1;
statement 2;
statement n;
Example 1:
Fruits = ["Mango", "Apple", "Orangle"]
for fruit in Fruits:
print ("Current fruit is: ", fruit)
print("Good bye")
Example 2:
num = int(input("Number: "))
factorial = 1
if num < 0:
print("must be positive")
elif num == 0:
print("factorial = 1")
else:
for i in range(1, num+1):
factorial = factorial * i
print(factorial)
3. Nested Loop:
Allows use of loop inside another loop
Use for loop inside a for loop
Use while loop inside a while loop
Example: Simulate bank ATM
- ENter 4 digit pin -> check a balance
-> Make a Withdrawl
-> Pay In
-> Return Card
print("Welcome to ATM")
restart = ('Y')
chances = 3
balance = 67.14
while chances >= 0:
pin = int(input('Please enter your 4 digit pin:'))
if pin == (1234):
print('You entered your Pin Correctly \n')
while restart not in ('n', 'no', 'No','N'):
print("Please press 1 for your Balance \n")
print("Please press 2 for your Withdrawl \n")
print("Please press 3 for your Pay in \n")
print("Please press 4 for your Return Card \n") option
= int (input ('What would you like to choose?')) if
option == 1:
print('Your balance is Rs.', balance,'\n')
restart = input('Would you like to go back?')
if restart in ('n', 'no', 'No','N'):
print('Thank you')
break
elif option == 2:
option2 = ('Y')
Withdrawl = float(input('How much would you like to withdraw? \n
Rs.10/Rs.20/Rs.40/Rs.60/Rs.80/Rs.100')
if Withdrawl in [10,20,40,60,80,100]:
balance = balance - Withdrawl
print("\n your balance is now Rs.", balance)
if restart in ('n', 'no', 'No','N'):
print('Thank you')
break
elif Withdrawl != [10,20,40,60,80,100]:
print("Invalid Amount, please Re-try\n")
restart = ('Y')
elif Withdrawl == 1:
Withdrawl = float(input('Please enter desired amount:'))
elif option == 3:
Pay_in = float(input("How much would you like to pay in?"))
balance = balance + Pay_in
print ("Your Balance is now Rs.", balance)
restart = input("Would you like to go back?")
if restart in ('n', 'no', 'No','N'):
print('Thank you')
break
elif option == 4:
print("Please wait while your card is returned...\n")
print("Thank you for your service")
break
else:
print('Please enter a correct number. \n')
restart = ('Y')
elif pin != (1234):
print('Incorrect Password')
chances = chances - 1
if chances == 0:
print ('\n No more tries')
break
Example 2:
count = 1
for i in range(10):
print (str(i) * i)
for j in range(0, i):
count = count +1
Output:
1
22
333
4444
55555
666666
7777777
88888888
999999999
Chapter 6: Functions
Functions are used to perform particular task
Functions takes some input and produce output or change
The function is a piece of code that you can reuse
You can implement your own functions, in many cases use built-in functions
Built-in functions:
- Python has many built-in function, you should know what task that function performs
L1 = [1,2,3,4,5]
len(L1) -- It writtens number of elements in a list
5
sum(L1) -- prints sum of L1
15
print(L3_sorted)
[1, 2, 3, 4, 5]
L2 -- the input not changed
[5, 3, 4, 2, 1]
L2.sort() -- the input is changed
print(L2)
[1, 2, 3, 4, 5]
User-defined functions:
demo 1:
def add1(a):
----- b=a+1 # indents
----- return b
def - keyword to define a function
add1 - function name
a - function argument (formal parameter)
return - keyword to return the output
# call the fuction
add1(5)
6
def add1(a):
... b = a+1
... return b
...
add1(5)
6
# Save the output of a function in variable c
c = add1(10)
print(c)
11
# Document String - To create help document
def add1(a):
... """
... add 1 to a
... """
... b=a+1
... return b
...
help(add1)
Help on function add1 in module __main__:
add1(a)
add 1 to a
# Passing - Multiple Parameters
- A function can have multiple parameters
def mul(a, b):
... c=a*b
... return c
...
mul(2,3)
6
mul(10,3.15)
31.5
mul(2,"XXXX") - 2 * "XXXX"
'XXXXXXXX'
# No return statement & argument
def mj():
... print("XXXX")
...
mj()
XXXX
# Empty block
def nowork():
...
...
File "<stdin>", line 3
^
IndentationError: expected an indented block
2
# Scope Variable: Local Vs
Global def locvar():
... Date = 1984 -- Local
... return(Date)
...
print(locvar())
1984
Date = 1985 -- Global
print(Date)
1985
-- Class varible
define class variable below the class definition
Built-in Types in Python
Python has lots of data types
Types:
- int 1,2,3..
- float
- Strings
- List
- Dictionary
- Bool
- a type
- an internal data representation (a blueprint)
- a set of procedures for interacting with the
object(methods) An object is an instance of a particular type
Object:Type
Type int: instance of type int
- object 1 = 1
- object 2 = 12
- object 3 = 391
- object 4 = 78
- object 5 = 32
List : instance of type list
- object 1:A = [1,2,3,4]
- Object 2:B = [5,6,7,8]
- Object 3:C = ["a","b","c","d"]
-- You can find the type of object using "type()"
-- List object
A = [1,2,3]
print(A)
[1, 2, 3]
type(A)
<class 'list'>
-- integer object
B = 10
print(B)
10
type(B)
<class 'int'>
Methods:
- A class or type's methods are functions that every instance of that class or type provides
- It's how you interact with the data in a object
- Sorting is an example of a method that interact with data in the object
Ratings = [10,9,6,5,10,8,9,6,2]
Ratings.sort()
print(Ratings)
[2, 5, 6, 6, 8, 9, 9, 10, 10]
-- The sort() interact with the data and change the order of the sequence of data
-- Reverse()
Ratings.reverse()
print(Ratings)
[10, 10, 9, 9, 8, 6, 6, 5, 2]
Defining Your Own Types: Defining class
- Class consists of data attributes and methods
- obj1, obj2, obj3 are the Objects or instances of that
class Example:
Class Circle Class Rectangle
Data Attributes - radius, color - color, height, width
Program: Create a class circle
class Circle (Object):
class - class definition
Circle - Name of the class
Object - Class parent
class Circle(object):
def __init__(self,radius,color):
self.radius = radius;
self.color = color;
c1 = Circle(10,"red")
-- Data attributes are used to initialize each instance of the class
-- __init__ (Special method or constructor used to initialize data
attributes) class Rectangle (object):
def __init__(self,color,height,width):
self.height = height;
self.width = width; self.color
= color;
Chapter 8: FILES
In this chapter you will understand how to import and export various files to python
for analyzing
import os.path
import sys
f1=input("enter a source file").strip()
f2=input("enter a target file").strip()
if os.path.isfile(f2):
print(f2 +"already exists")
infile=open(f1,"r")
outfile=open(f2,"w")
countlines=countcharacters=0
for line in infile:
countlines+=1
countcharacters+=len(line)
outfile.write(line)
print(countlines, "lines and",countcharacters,"characters copied")
print("Contents copied from file 1 to file 2")
infile.close()
outfile.close()
Chapter 9: Pygame
Pygame is a cross-platform set of Python modules designed for writing video games. It
includes computer graphics and sound libraries designed to be used with the Python
programming language
import pygame
pygame.init()
screen = pygame.display.set_mode((400, 300))
done = False
is_blue = True
x = 30
y = 30
clock = pygame.time.Clock()
while not done:
for event in pygame.event.get():
if event.type == pygame.QUIT:
done = True
if event.type == pygame.KEYDOWN and event.key == pygame.K_SPACE:
is_blue = not is_blue
pressed = pygame.key.get_pressed()
if pressed[pygame.K_UP]: y -= 3
if pressed[pygame.K_DOWN]: y += 3
if pressed[pygame.K_LEFT]: x -= 3
if pressed[pygame.K_RIGHT]: x += 3
screen.fill((0, 0, 0))
if is_blue:
color = (0, 128, 255)
else:
color = (255, 100, 0)
pygame.draw.rect(screen, color, pygame.Rect(x, y, 60, 60))
pygame.display.flip()
clock.tick(10)
K-means clustering is a type of unsupervised learning, which is used when you have
unlabeled data (i.e., data without defined categories or groups). The goal of this algorithm is
to find groups in the data, with the number of groups represented by the variable K. The
algorithm works iteratively to assign each data point to one of K groups based on the
features that are provided. Data points are clustered based on feature similarity. The results
of the K-means clustering algorithm are:
The centroids of the K clusters, which can be used to label new data
Labels for the training data (each data point is assigned to a single cluster)
KMEANS
# Dependencies
import matplotlib
from pandas import read_csv
import numpy as np
y = np.array(train['Survived'])
train.info()
kmeans = KMeans(n_clusters=2) # You want cluster the passenger records into 2:
Survived or Not survived
kmeans.fit(X)
KMeans(algorithm='auto', copy_x=True, init='k-means++', max_iter=300,
n_clusters=2, n_init=10, n_jobs=1, precompute_distances='auto',
random_state=None, tol=0.0001, verbose=0)
correct = 0
for i in range(len(X)):
predict_me = np.array(X[i].astype(float))
predict_me = predict_me.reshape(-1, len(predict_me))
prediction = kmeans.predict(predict_me)
if prediction[0] == y[i]:
correct += 1
print(correct/len(X))
kmeans = kmeans = KMeans(n_clusters=2, max_iter=600, algorithm = 'auto')
kmeans.fit(X)
KMeans(algorithm='auto', copy_x=True, init='k-means++', max_iter=600,
n_clusters=2, n_init=10, n_jobs=1, precompute_distances='auto',
random_state=None, tol=0.0001, verbose=0)
correct = 0
for i in range(len(X)):
predict_me = np.array(X[i].astype(float))
predict_me = predict_me.reshape(-1, len(predict_me))
prediction = kmeans.predict(predict_me)
if prediction[0] == y[i]:
correct += 1
print(correct/len(X))
scaler = MinMaxScaler()
X_scaled = scaler.fit_transform(X)
kmeans.fit(X_scaled)
KMeans(algorithm='auto', copy_x=True, init='k-means++', max_iter=600,
n_clusters=2, n_init=10, n_jobs=1, precompute_distances='auto',
random_state=None, tol=0.0001, verbose=0)
correct = 0
for i in range(len(X)):
predict_me = np.array(X[i].astype(float))
predict_me = predict_me.reshape(-1, len(predict_me))
prediction = kmeans.predict(predict_me)
if prediction[0] == y[i]:
correct += 1
print(correct/len(X))