𝔖 Scriptorium
✦   LIBER   ✦

πŸ“

Python Programming - Using Problem Solving Approach

✍ Scribed by Reema Thareja


Publisher
OUP India
Year
2017
Tongue
English
Leaves
285
Category
Library

⬇  Acquire This Volume

No coin nor oath required. For personal study only.

✦ Synopsis


Python Programming is designed as a textbook to fulfil the requirements of the first-level course in Python programming. It is suited for undergraduate degree students of computer science engineering, IT as well as computer applications. This book will enable students to apply the Python programming concepts in solving real-world problems.

The book begins with an introduction to computers, problem solving approaches, programming languages, object oriented programming, and Python programming. Separate chapters dealing with the important constructs of Python language such as control statements, functions, strings, files, data structures, classes and objects, inheritance, operator overloading, and exceptions are provided in the book.

✦ Table of Contents


1 Introduction to Computers and Problem Solving Strategies

1.1 Introduction
1.2 What is a Computer?
1.3 History of Computers
1.4 Characteristics of Computers
1.5 Classification of Computers
1.6 Basic Applications of Computers
1.7 Stored Program Concept
1.7.1 Types of Stored Program Computers
1.8 Components and Functions of a Computer System
1.9 Concept of Hardware and Software
1.9.1 Hardware
1.9.2 Software
1.10 Central Processing Unit (CPU): Basic Architecture
1.11 Input and Output devices
1.12 Computer Memory
1.12.1 Memory Hierarchy
1.12.2 Primary Memory
1.12.3 Secondary Storage Devices
1.13 Classification of Computer Software
1.13.1 System Software
1.13.2 Application Software
1.14 Representation of Data: Bits and Bytes
1.15 Problem Solving Strategies
1.16 Program Design Tools: Algorithms, Flowcharts, Pseudocodes
1.16.1 Algorithms
1.16.2 Flowcharts
1.16.3 Pseudocodes
1.17 Types of Errors
1.18 Testing and Debugging Approaches
Annexure 1 - Types of Operating Systems

2 Introduction to Object Oriented Programming (OOP)

2.1 Computer Programming and Programming Languages
2.2 Generations of Programming Languages
2.2.1 First Generation: Machine Language
2.2.2 Second Generation: Assembly Language
2.2.3 Third Generation: High-level Language
2.2.4 Fourth Generation: Very High-level Languages
2.2.5 Fifth Generation Programming Language
2.3 Programming Paradigms
2.3.1 Monolithic Programming
2.3.2 Procedural Programming
2.3.3 Structured Programming
2.3.4 Object Oriented Programming (OOP)
2.4 Features of Object Oriented Programming
2.4.1 Classes
2.4.2 Objects
2.4.3 Method and Message Passing
2.4.4 Inheritance
2.4.5 Polymorphism
2.4.6 Containership
2.4.7 Reusability
2.4.8 Delegation
2.4.9 Data Abstraction and Encapsulation
2.5 Merits and Demerits of Object Oriented Programming Language
2.6 Applications of Object Oriented Programming
2.7 Differences Between Popular Programming Languages

3 Basics of Python Programming

3.1 Features of Python
3.2 History of Python
3.3 The Future of Python
3.4 Writing and Executing First Python Program
3.5 Literal Constants
3.5.1 Numbers
3.5.2 Strings
3.6 Variables and Indentifiers
3.7 Data Types
3.7.1 Assigning or Initializing Values to Variables
3.7.2 Multiple Assignment
3.7.3 Multiple Statements on a Single Line
3.7.4 Boolean
3.8 Input Operation
3.9 Comments
3.10 Reserved Words
3.11 Indentation
3.12 Operators and Expressions
3.12.1 Arithmetic Operators
3.13.2 Comparison Operators
3.12.3 Assignment and In-place or Shortcut Operators
3.12.4 Unary Operators
3.12.5 Bitwise Operators
3.12.6 Shift Operators
3.12.7 Logical Operators
3.12.8 Membership Operators
3.12.9 Identity Operators
3.12.10 Operators Precedence and Associativity
3.13 Expressions in Python
3.14 Operations on Strings
3.14.1 Concatenation
3.14.2 Multiplication (or String Repetition)
3.14.3 Slice a String
3.15 Other Data Types
3.15.1 Tuples
3.15.2 Lists
3.15.3 Dictionary
3.16 Type Conversion
Annexure 2 - Installing Python
Annexure 3 - Comparison between Python 2.x and Python 3.x Versions
Annexure 4 - Testing and Debugging

4 Decision Control Statements

4.1 Introduction to Decision Control Statements
4.2 Selection/Conditional Branching Statements
4.2.1 if Statement
4.2.2 if-else Statement
4.2.3 Nested if Statements
4.2.4 if-elif-else Statement
4.3 Basic Loop Structures/ Iterative Statements
4.3.1 while loop
4.3.2 for Loop
4.3.3 Selecting an appropriate loop
4.4 Nested Loops
4.5 The break Statement
4.6 The continue Statement
4.7 The pass Statement
4.8 The else Statement used with Loops
Case Study 1 - Simple Calculator
Case Study 2 - Generating a Calendar

5 Functions and Modules

5.1 Introduction
5.1.1 Need for Functions
5.2 Function Declaration and Definition
5.3 Function Definition
5.4 Function Call
5.4.1 Function Parameters
5.5 Variable Scope and Lifetime
5.5.1 Local and Global Variables
5.5.2 Using the Global Statement
5.5.3 Resolution of Names
5.6 The return statement
5.7 More on Defining Functions
5.7.1 Required Arguments
5.7.2 Keyword Arguments
5.7.3 Default Arguments
5.7.4 Variable-length Arguments
5.8 Lambda Functions or Anonymous Functions
5.9 Documentation Strings
5.10 Good Programming Practices
5.11 Recursive Functions
5.11.1 Greatest Common Divisor
5.11.2 Finding Exponents
5.11.3 The Fibonacci Series
5.11.4 Recursion vs Iteration
5.12 Modules
5.12.1 The fromΓ’import statement
5.12.2 Name of Module
5.12.3 Making your own Modules
5.12.4 The dir() function
5.12.5 The Python Module
5.12.6 Modules and Namespaces
5.13 Packages in Python
5.14 Standard Library modules
5.15 Globals(), Locals(), and Reload()
5.16 Function Redefinition
Annexure 5 - Functions as Objects
Case Study 3 - Tower of Hanoi
Case Study 4 - Shuffling a Deck of Cards

6 Python Strings Revisited

Introduction
6.1 Concatenating, Appending, and Multiplying Strings
6.2 Strings are Immutable
6.3 String Formatting Operator
6.4 Built-in String Methods and Functions
6.5 Slice Operation
6.5.1 Specifying Stride While Slicing Strings
6.6 ord() and chr() Functions
6.7 in and not in operators
6.8 Comparing Strings
6.9 Iterating String
6.10 The String Module
6.11 Regular Expressions
6.11.1 The match() Function
6.11.2 The search() Function
6.11.3 The sub() Function
6.11.4 The findall() and finditer() Functions
6.11.5 Flag Options
6.12 Metacharacters in Regular Expression
6.12.1 Character Classes
6.12.2 Groups
6.12.3 Application of Regular Expression to Extract Email

7 File Handling

7.1 Introduction
7.2 File Path
7.3 Types of Files
7.3.1 ASCII Text Files
7.3.2 Binary Files
7.4 Opening and Closing Files
7.4.1 The open() Function
7.4.2 The File Object Attributes
7.4.3 The close() Method
7.5 Reading and Writing Files
7.5.1 write() and writelines() Methods
7.5.2 append() Method
7.5.3 The read() and readline() Methods
7.5.4 Opening Files using with Keyword
7.5.5 Splitting Words
7.5.6 Some Other Useful File Methods
7.6 File Positions
7.7. Renaming and Deleting Files
7.8 Directory Methods
7.8.1 Methods from the os Module
Case Study 5 - Creating a Hash File (or a message digest of a file)
Case Study 6 - Mail Merge Program
Case Study 7 - Finding Resolution of an Image

8 Data Structures

8.1 Sequence
8.2 Lists
8.2.1 Access Values in Lists
8.2.2 Updating Values in Lists
8.2.3 Nested Lists
8.2.4 Cloning Lists
8.2.5 Basic List Operations
8.2.6 List Methods
8.2.7 Using Lists as Stack
8.2.8 Using Lists as Queues
8.2.9 List Comprehensions
8.2.10 Looping in Lists
8.3 Functional Programming
8.3.1 filter() Function
8.3.2 map() Function
8.3.3 reduce() Function
8.4 Tuple
8.4.1 Creating Tuple
8.4.2 Utility of Tuples
8.4.3 Accessing Values in a Tuple
8.3.4 Updating Tuple
8.4.5 Deleting Elements in Tuple
8.4.6 Basic Tuple Operations
8.4.7 Tuple Assignment
8.4.8 Tuples for Returning Multiple Values
8.3.9 Nested Tuples
8.4.10 Checking the Index: index() method
8.4.11 Counting the Elements: count()Method
8.4.12 List Comprehension and Tuples
8.4.13 Variable-length Argument Tuples
8.4.14 The zip() Function
8.4.16 Advantages of Tuple over List
8.5 Sets
8.5.1 Creating a Set
8.6 Dictionaries
8.6.1 Creating a Dictionary
8.6.2 Accessing Values
8.6.2 Adding and Modifying an Item in a Dictionary
8.6.3 Modifying an Entry
8.6.4 Deleting Items
8.6.5 Sorting Items in a Dictionary
8.6.6 Looping over a Dictionary
8.6.7 Nested Dictionaries
8.6.8 Built-in Dictionary Functions and Methods
8.6.9 Difference between a List and a Dictionary
8.6.10 String Formatting with Dictionaries
8.6.11 When to use which Data Structure?
8.6.12 List vs Tuple vs Dictionary vs Set
Annexure 6 - Iterator and Generator

9 Classes and Objects

9.1 Introduction
9.2 Classes and Objects
9.2.1 Defining Classes
9.2.2 Creating Objects
9.2.3 Data Abstraction and Hiding through Classes
9.3 Class Method and self Argument
9.4 The init() Method (The Class Constructor)
9.5 Class Variables and Object Variables
9.6 The del() Method
9.7 Other Special Methods
9.8 Public and Private Data Members
9.9 Private Methods
9.10 Calling a Class Method from Another Class Method
9.11 Built-in Functions to Check, Get, Set, and Delete Class Attributes
9.12 Built-in Class Attributes
9.13 Garbage Collection (Destroying Objects)
9.14 Class Methods
9.15 Static Methods
Annexure 7 - Getters, Setters, @property, and @deleter

10 Inheritance

10.1 Introduction
10.2 Inheriting Classes in Python
10.2.1 Polymorphism and Method Overriding
10.3 Types of Inheritance
10.3.1 Multiple Inheritance
10.3.2 Multi-level Inheritance
10.3.3 Multi-path Inheritance
10.4 Composition or Containership or Complex Objects
10.5 Abstract Classes and Interfaces
10.6 Metaclass

11 Operator Overloading

11.1 Introduction
11.1.1 Concept Of Operator Overloading
11.1.2 Advantage of Operator Overloading
11.2 Implementing Operator Overloading
11.3 Reverse Adding
11.4 Overriding getitem() and setitem() Methods
11.5 Overriding the in Operator
11.6 Overloading Miscellaneous Functions
11.7 Overriding the call() Method

12 Error and Exception Handling

12.1 Introduction to Errors and Exceptions
12.1.1 Syntax Errors
12.1.2 Logic Error
12.1.3 Exceptions
12.2 Handling Exceptions
12.3 Multiple Except Blocks
12.4 Multiple Exceptions in a Single Block
12.5 Except Block Without Exception
12.6 The else Clause
12.7 Raising Exceptions
12.8 Instantiating Exceptions
12.9 Handling Exceptions in Invoked Functions
12.10 Built-in and User-defined Exceptions
12.11 The finally Block
12.12 Pre-defined Clean-up Action
12.13 Re-raising Exception
12.14 Assertions in Python
Case Study 8 - Compressing String and Files

Appendix A - Multi-threading
Appendix B - GUI Programming with tkinter Package
Appendix C - Simple Graphics Using Turtle
Appendix D - Plotting Graphs in Python
Appendix E - CGI/Web Programming Using Python

✦ Subjects


python


πŸ“œ SIMILAR VOLUMES


Python Programming Using Problem Solving
✍ H. Bhasin πŸ“‚ Library πŸ“… 2023 πŸ› David Pallai 🌐 English

Python is a robust, procedural, object-oriented, and functional language. The features of the language make it valuable for web development, game development, business, and scientific programming. This book deals with problem-solving and programming in Python. It concentrates on the development of e

Python Programming Using Problem Solving
✍ Harsh Bhasin PhD πŸ“‚ Library πŸ“… 2023 πŸ› Mercury Learning and Information 🌐 English

<span>Python is a robust, procedural, object-oriented, and functional language. The features of the language make it valuable for web development, game development, business, and scientific programming. This book deals with problem-solving and programming in Python. It concentrates on the developmen

Problem Solving and Python Programming
✍ Ashok Namdev Kamthane; Amit Ashok Kamthane πŸ“‚ Library πŸ“… 2018 πŸ› McGraw-Hill Education 🌐 English

This book offers a step-by-step approach to the fundamentals and the theoretical concepts of Python programming. Each program is followed by its detailed explanation, which will help students in understanding the concepts. It aims to facilitate practical understanding with numerous programs and solv