Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
0% found this document useful (0 votes)
2 views

Programming Paradigms in Python

The document discusses three programming paradigms supported by Python: Object Oriented, Procedure Oriented, and Functional programming. Each paradigm is defined with its advantages and disadvantages, along with examples demonstrating their implementation. The document emphasizes the importance of choosing the right paradigm based on the problem to be solved.

Uploaded by

solai raj
Copyright
© © All Rights Reserved
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
2 views

Programming Paradigms in Python

The document discusses three programming paradigms supported by Python: Object Oriented, Procedure Oriented, and Functional programming. Each paradigm is defined with its advantages and disadvantages, along with examples demonstrating their implementation. The document emphasizes the importance of choosing the right paradigm based on the problem to be solved.

Uploaded by

solai raj
Copyright
© © All Rights Reserved
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 5

Programming Paradigms in Python


Paradigm can also be termed as a method to solve some problems


or do some tasks. A programming paradigm is an approach to solve
the problem using some programming language or also we can say
it is a method to solve a problem using tools and techniques that are
available to us following some approach. There are lots of
programming languages that are known but all of them need to
follow some strategy when they are implemented and this
methodology/strategy is paradigms. Apart from varieties of
programming languages, there are lots of paradigms to fulfill each
and every demand.

Python supports three types of Programming paradigms


 Object Oriented programming paradigms
 Procedure Oriented programming paradigms
 Functional programming paradigms

Object Oriented programming paradigms


In the object-oriented programming paradigm, objects are the key
element of paradigms. Objects can simply be defined as the
instance of a class that contains both data members and the
method functions. Moreover, the object-oriented style relates data
members and methods functions that support encapsulation and
with the help of the concept of an inheritance, the code can be
easily reusable but the major disadvantage of object-oriented
programming paradigm is that if the code is not written properly
then the program becomes a monster.
Advantages
 Relation with Real world entities
 Code reusability
 Abstraction or data hiding

Disadvantages
 Data protection
 Not suitable for all types of problems
 Slow Speed
Example:

# class Emp has been defined here

class Emp:

def __init__(self, name, age):

self.name = name

self.age = age

def info(self):

print("Hello, % s. You are % s old." % (self.name, self.age))

# Objects of class Emp has been

# made here

Emps = [Emp("John", 43),

Emp("Hilbert", 16),

Emp("Alice", 30)]

# Objects of class Emp has been

# used here

for emp in Emps:

emp.info()
Output:
Hello, John. You are 43 old.
Hello, Hilbert. You are 16 old.
Hello, Alice. You are 30 old.

Procedural programming paradigms


In Procedure Oriented programming paradigms, series of
computational steps are divided modules which means that the
code is grouped in functions and the code is serially executed step
by step so basically, it combines the serial code to instruct a
computer with each step to perform a certain task. This paradigm
helps in the modularity of code and modularization is usually done
by the functional implementation. This programming paradigm helps
in an easy organization related items without difficulty and so each
file acts as a container.
Advantages
 General-purpose programming
 Code reusability
 Portable source code
Disadvantages
 Data protection
 Not suitable for real-world objects
 Harder to write
Example:

# Procedural way of finding sum

# of a list

mylist = [10, 20, 30, 40]

# modularization is done by

# functional approach

def sum_the_list(mylist):

res = 0

for val in mylist:

res += val
return res

print(sum_the_list(mylist))

Output:
100

Functional programming paradigms


Functional programming paradigms is a paradigm in which
everything is bind in pure mathematical functions style. It is known
as declarative paradigms because it uses declarations
overstatements. It uses the mathematical function and treats every
statement as functional expression as an expression is executed to
produce a value. Lambda functions or Recursion are basic
approaches used for its implementation. The paradigms mainly
focus on “what to solve” rather than “how to solve”. The ability to
treat functions as values and pass them as an argument make the
code more readable and understandable.
Advantages
 Simple to understand
 Making debugging and testing easier
 Enhances the comprehension and readability of the code
Disadvantages
 Low performance
 Writing programs is a daunting task
 Low readability of the code
Example:
# Functional way of finding sum of a list

import functools

mylist = [11, 22, 33, 44]

# Recursive Functional approach

def sum_the_list(mylist):

if len(mylist) == 1:

return mylist[0]

else:

return mylist[0] + sum_the_list(mylist[1:])

# lambda function is used

print(functools.reduce(lambda x, y: x + y, mylist))

Output:
110

You might also like