UNIT I – INTRODUCTION TO PYTHON
1. Introduction to Python
Python is a high-level, interpreted, general-purpose programming language developed by Guido
van Rossum. It was designed with an emphasis on simplicity and readability. Python supports
multiple programming paradigms such as procedural, object-oriented, and functional programming.
Python is widely used in web development, artificial intelligence, machine learning, data science,
automation, and software development.
2. Features of Python
Python is easy to learn due to its simple syntax. It is platform-independent, meaning programs
written on one operating system can run on another without modification. Python is dynamically
typed and has automatic memory management. It also provides a large standard library.
3. Python Development Environment (IDLE)
IDLE is Python’s Integrated Development and Learning Environment. It provides an interactive
shell, script editor, syntax highlighting, error messages, and debugging support. IDLE is ideal for
beginners.
4. Python Standard Library
The Python Standard Library contains modules and packages that provide solutions for many
programming tasks. Examples include math for mathematical functions, random for random
numbers, os for operating system interaction, and datetime for date and time handling.
5. Literals and Data Types
Literals are constant values used in programs. Numeric literals include integers, floating-point
numbers, and complex numbers. String literals are enclosed in quotes. Boolean literals represent
True or False values. Python also supports None as a special literal.
6. Variables and Identifiers
Variables are used to store data values. Identifiers are names used to identify variables, functions,
classes, and objects. Identifiers must begin with a letter or underscore and cannot contain special
characters.
7. Variable Assignment and Input
Python supports single and multiple assignments. Input from the user is taken using the input()
function, which reads data as a string.
8. Keywords and Predefined Identifiers
Keywords are reserved words in Python that have special meanings such as if, else, for, while, and
def. Predefined identifiers include functions like print(), input(), and len().
9. Operators and Expressions
Operators are symbols that perform operations on operands. Python supports arithmetic, relational,
logical, assignment, membership, and identity operators. Expressions are combinations of
operators and operands.
10. Operator Precedence and Associativity
Operator precedence determines the order in which operations are performed. Associativity
determines the direction of evaluation when operators have the same precedence.
UNIT II – CONTROL STRUCTURES AND LISTS
1. Control Structures
Control structures determine the flow of execution of a program. Python provides selection,
iteration, and branching control structures.
2. Selection Control Statements
The if statement is used to test a condition. If the condition is true, the block of code inside the if
statement is executed. Multi-way selection is achieved using if-elif-else statements.
3. Indentation in Python
Indentation is used to define blocks of code in Python. Unlike other languages that use braces,
Python uses indentation to group statements.
4. Looping Statements
Loops are used to execute a block of code repeatedly. Python supports while loops and for loops.
The while loop executes as long as a condition remains true.
5. Definite and Indefinite Loops
Definite loops run for a known number of iterations, whereas indefinite loops continue until a
specific condition becomes false.
6. Infinite Loops
An infinite loop continues indefinitely unless externally stopped. Care must be taken to avoid infinite
loops in programs.
7. Lists in Python
Lists are mutable sequences used to store multiple values. They allow duplicate elements and
support indexing, slicing, and various built-in methods.
8. List Operations and Traversal
Common list operations include adding, removing, and updating elements. Traversal means
accessing each element of a list using loops.
9. Tuples and Nested Lists
Tuples are immutable sequences. Nested lists are lists within lists and are used to represent
complex data structures.
10. For Loop and range() Function
The for loop is used to iterate over sequences. The range() function generates a sequence of
numbers used commonly with for loops.
UNIT III – FUNCTIONS, STRINGS AND EXCEPTION
HANDLING
1. Functions
Functions are reusable blocks of code that perform a specific task. They help reduce redundancy
and make programs modular.
2. Types of Functions
Functions may return values or may not return values. Value-returning functions use the return
statement.
3. Function Arguments
Python supports positional arguments, keyword arguments, default arguments, and variable-length
arguments.
4. Variable Scope
Scope defines the visibility of variables. Variables can be local or global depending on where they
are defined.
5. Recursion
Recursion is a process in which a function calls itself to solve a problem by breaking it into smaller
parts.
6. String Processing
Strings are sequences of characters. Python provides various methods to manipulate strings such
as upper(), lower(), replace(), and split().
7. String Traversal
String traversal means accessing each character of a string using loops or indexing.
8. Exception Handling
Exception handling is used to handle runtime errors. Python uses try, except, else, and finally
blocks to manage exceptions gracefully.
9. Propagation of Exceptions
If an exception is not handled in the current function, it is passed to the calling function. This is
known as exception propagation.
UNIT IV – FILE HANDLING AND
OBJECT-ORIENTED PROGRAMMING
1. File Handling
File handling allows programs to store data permanently. Python supports text files, binary files,
and CSV files.
2. File Access Modes
Common file access modes include read (r), write (w), append (a), and read-write (r+).
3. Reading and Writing Files
Files can be read using methods like read(), readline(), and readlines(). Writing is done using write()
and writelines().
4. Additional File Methods
Additional file methods include seek(), tell(), and close().
5. Object-Oriented Programming Concepts
Object-oriented programming is based on classes and objects. It supports abstraction,
encapsulation, inheritance, and polymorphism.
6. Classes and Objects
A class is a blueprint for creating objects. An object is an instance of a class.
7. Constructors and Data Members
Constructors initialize objects. Data members store information inside objects.
8. Class and Static Methods
Class methods operate on class variables, while static methods do not access class or instance
variables.
9. Inheritance and Types of Inheritance
Inheritance allows one class to acquire properties of another. Types include single, multiple,
multilevel, and hierarchical inheritance.
10. Abstract Classes and Interfaces
Abstract classes define methods without implementation. They enforce a common interface for
subclasses.
11. Operator Overloading and Method Overriding
Operator overloading allows custom behavior of operators. Method overriding allows a subclass to
provide its own implementation of a parent class method.