Friday, May 15, 2026

Python Material - Part - 4

 __author__ = "Narendra Boyina"

# -----------------------------------------------------------------------------
# Copyright (c) 2025 BR Technologies PVT LTD
#-----------------------------------------------------------------------------
"""
Topics to be covered in today's class: Operators continuation
--> Bitwise operators
--> Membership operators
"""
"""

6. Membership operators:
====================
The membership operators in Python are used to test whether a value is found
within a sequence (such as strings, lists, or tuples ......)
--> Two membership operators ("in", "not in") exist in Python

"""
in – evaluates to True if the value in the left operand appears in the sequence
found in the right operand
"""
# print('Hello' in 'Hello world!')
# print('!' in 'Hello world!')
# print('house' in 'Hello world!')
# print('hello' in 'Hello world!') # # False // note that Python is case-sensitive


"""not in – evaluates to True if the value in the left operand doesn’t appear in
the sequence found in the right operand"""

# print('Hello' not in 'Hello world!') # False
# print('car' not in 'Hello world!') # True
"""
7. Bitwise operators
================
It operates bit by bit, hence the name.
For example, 2 is 10 in binary, and 7 is 111. ( 128 64 32 16 8 4 2 1 code)
"""
# print("******** Bitwise operators ********")
X = 10 # (0000 1010 in binary)
Y = 7 # (0000 0111 in binary)
# print("X&Y value is", X & Y) # & Binary AND
# print("X|Y value is", X | Y) # | Binary OR
# print("X^Y value is", X ^ Y) # ^ Binary XOR if both are 1 then result is 0
# Y = 7
# print(" ~Y value is", ~Y) # ~ Bitwise Complement
# Bitwise Complement of value is -(value+1) ==> -(-7+1) ==>-(-6) ==> 6
# # Ex: x = 7 ==> ~x ==> -8
# # y = 12 ==> ~y ==> -13

# print(" x<<2 value is", X << 2) # << Binary Left Shift
# print(" Y>>2 value is", Y >> 2)

Author: Boyina Narendra

Supporting Author: M. Meera Sindhu

Request: If you find this information useful, please provide your valuable comments

Python Material - Part -3

 __author__ = "Narendra Boyina"

# -----------------------------------------------------------------------------
# Copyright (c) 2025 BR Technologies PVT LTD
# -----------------------------------------------------------------------------
"""
Topics to be covered in today's class:
--> classification of operators
--> Arithmetic operators
--> Comparison operators
--> Logical operators
--> Assignment operators
--> Identity operators
"""


"""
operators are classified in to 3 types
1. Unary operators (python don't support Unary operators) Ex: a++ a-- ++a --a
2. binary operators --> Which requires 2 Operends to perform operation Ex: a+b x-y
3. ternary operators --> Which requires 3 Operends to perform operation a b c
"""
""" Binary operators ()"""

"""
1. Arithmetic operators
Arithmetic operators are used to perform mathematical operations like addition,
subtraction, multiplication, division, modulus, floor division, power ..etc.
"""
# print("******** Arithmetic operators ********")


x = 9 # this is 1st input --> initialization
y = 2 # this is 2nd input --> initialization

# print('addition value = ', x+y) # this will perform addition

# Subtract right operand from the left
# print('Subtract value = ', x - y)

# Multiply two operands
# print('x * y =', x * y)

# Divide left operand by the right one (always results into float)
# print('x / y =', x / y) # Always output of division operator is Float data type

# Modulus - remainder of the division of left operand by the right (x % y (remainder of x/y) )
# print('x % y =', x % y)

# # # Floor division with integer - division that results into whole number adjusted to the left in the number line
"""
If both inputs are integer values then output will be integer,
if any one of input value is float data type then result will be float value
"""


x = 5
y = 3

# print("x / y =", x / y)
# print('x // y =', x//y)

# # Floor division - with float values
x = 50
y = 4.5
# print('x // y =',x//y)

# # ** acts as power
x = 2
y = 3

# print('x ** y =', x**y)


# salary expense tracker monthly
# salary = 100000
# rent = 10000
# utilities = 2000
# personal = 10000
# expenses = rent + utilities + personal
# saving = salary - expenses
# print("monthly salary :", salary)
# print("monthly expenses are :", expenses)
# print("monthly savings are :", saving)
# emi = 45762
# saving = saving - 45762
# print(saving)

"""
2. Comparison operators
=======================

Comparison operators are used to compare values.
It either returns True or False according to the condition.
"""
# print("******** Comparison operators ********")
x = 10
y = 12

# print('x > y is', x > y)
# #
# print('x < y is', x < y)
# #
# print('x >= y is', x >= y)
# #
# print('x <= y is', x <=y)
# #
# print('x == y is', x == y)
# #
# print('x != y is', x != y)

"""
3. Logical operators
===================
Logical operators are the and, or, not operators
It either returns True or False according to the condition"""

# print("******** Logical operators ********")
# x = True
# y = False
#
# print('x and y is', x and y)
# print('x or y is', x or y)
# print(not y)

"""
4. Assignment operators
======================
Assignment operators are the extention of arthametic operators
Assignment operators are used in Python to assign values to variables.

a = 5 is a simple assignment operator that assigns the value 5 on the right to the variable a on the left.
There are various compound operators in Python like a += 5 that adds to the variable and later assigns the same.
It is equivalent to a = a + 5.

Operator Example Equivalent to

+= =====> x += 5 ===> x = x + 5
-= =====> x -= 5 ===> x = x - 5
*= =====> x *= 5 ===> x = x * 5
/= =====> x /= 5 ===> x = x / 5
%= =====> x %= 5 ===> x = x % 5
**= =====> x **= 5 ===> x = x ** 5
"""
# print("******** Assignment operators ********")
# x = 5
# x += 5 # x = x + 5 it is a in-line comment
# print(x)
# x -= 5 # x= x-5
# print(x)
#
# x *= 5
# print(x)
# #
# x /= 5 # x =x/5
# print(x)
#
# x = 42 # TAKEN NEW X VALUE
# x %= 5 # x = x % 5 Modulus operator will give remainder value
# print(x)
#
#
# x = 18 # TAKEN NEW X VALUE
# x //= 5 # x = x // 5
# print(x)
#
# x = 2
# x **= 4 # x = x**4
# print(x)

"""
5. Identity operators
=================
"is" and "is not" are the identity operators in Python.
They are used to check if two values (or variables) are located on the same part of the memory.
"""

# print("******** Identity operators ********")
# x1 = 15 # initialisation
# print(type(x1))
# print(id(x1)) # to check memory address we have to use id() builtin-function
# y1 = 15
# print(id(y1))
# print(x1 is y1)
# print(x1 is not y1)

# x2 = 'Narendra'
# print(type(x2))
# print(id(x2))
# y2 = 'Narendra'
# print(id(y2))
# print(x2 is y2) # Output:

# x3 = [1, 2, 3] # if you place multiple values inside Square brackets separated by coma operator
# print(type(x3))
# print(id(x3))
# y3 = [1, 2, 3]
# print(id(y3))
# print(x3 is y3)

# x3 = (1, 2, 3) # tuple => Immutable object
# print(type(x3))
# print(id(x3))
# y3 = (1, 2, 3)
# print(id(y3))
# print(x3 is y3)

Author: Boyina Narendra

Supporting Author: M. Meera Sindhu

Request: If you find this information useful, please provide your valuable comments


Python Material - Part -2

 __author__ = "Narendra Boyina"

# -----------------------------------------------------------------------------
# Copyright (c) 2024 BR Technologies PVT LTD
#-----------------------------------------------------------------------------
""" Python Definition:
==================
Python is a very powerful general-purpose, interpreted, interactive,
object-oriented, open source, high-level scripting and programming language
that highlights code readability and
enables developers to use fewer lines of code
"""

"""
Basic syntax & Commenting
Basic syntax
============
1. Indentation used in Python to delimit blocks.
2. All the statements within the same block must be indented the same amount.
3. The header line for compound statements, such as if, while, def, and class should terminated with a colon (:)
"""

"""
Within double quotes symbol, if user provided anything it will be printed as it is on the console..
Except escape sequence characters (\n ==> new line \t ==>4 spaces)
if any escape sequence character presents with in double quotes,
then that escape sequence character will be replced with it's property
"""

# Printing to the console (output screen)
a = "Narendra"
# print(a)
# print("**** I Love you Nanna ****", a)

# print("I Love you Nanna and\tAmma")
# print("I Love you Nanna and\nAmma")
#

# a = input("Enter age")
# print(a, type(a))

# Reading keyboard/user input
# a = float(input("enter 10th class percentage: "))
# print(a, type(a))
#
# a= int(float(input("enter 10th class percentage: ")))
# print(a, type(a))
# b = input("enter marks")
# print(b, type(b))


# a = input("enter 10th class percentage: ")
# b = float(a)
# c = int(b)
# print(c, type(a))

# b = int(input("enter marks"))
# print(b, type(b))

# c =float((input("enter percentage")))
# print(c, type(c))
#
# c =int(float((input("enter percentage"))))
# print(c, type(c))
# a = 10
# print(type(a))
"""
Commenting lines in 3 ways
1. Single line comment
2. Multi lines comment
3. In line comments """

# print("Narendra")

"""
print("Name: Narendra")
print("Qualification: M.tech")
print("Total Experience: 8.5 years")
print("only python experience 5 years")
"""

# print("Narendra & Surendra") # we are brothers

import keyword # importing module (library)
print(keyword.kwlist) # it will print all keywords supported by particular python version
"""
#Variables & Numbers
=====================
#Variables (declaration & Initialisation)
=========================================
1. Python is dynamically typed. You can not need to declare variables!
2. The declaration happen automatically when you assign a value to a variable
3. Variables can change type, simply by assigning them a new value of different type
4. Python allows you to assign a single value to several variables simultaneously
5. You can also assign multiple objects to multiple variables.
Numbers:
=======
1. Numbers are immutable objects in Python that cannot change their values.
2. There are 3 built-in data types for numbers in Python 3
Integer (int)
Floating-point numbers(float)
Complex numbers: <real part> + <imaginary part> (Not used much in programming)
print("NarendraPython,")
"""

# In python we can perform multiple operations on numbers (integers & floats)

import math
x = 5
# print(math.factorial(x)) # 120
# print(math.log(x)) # 1.6094379124341003
# print(math.exp(x)) # 148.4131591025766

x = 5.4
# print(math.ceil(x)) # gives (>=x integer value) 6

# if x<10:
# print("Yamuna")
# print("vijayalakshmi")
# print(1.2)
# name = input("Enter name: ")
# print(name,type(name))

# a = int(input("Enter age: "))
# print(a)
# print(type(a))

Author: Boyina Narendra

Supporting Author: M. Meera Sindhu

Request: If you find this information useful, please provide your valuable comments

Thursday, May 14, 2026

Python Material - Part -1


About Me

My name is Boyina Narendra. I hold an M.Tech degree and seasoned software professional with over 11 years of industry experience, currently employed at a reputed product-based company.

I am a certified quality assurance professional, holding both the ISTQB® Foundation Level and Advanced Level certifications, along with an Agile certification — reflecting my commitment to industry best practices and continuous professional development.

Throughout my career, I have been recognised for my contributions and dedication, receiving several prestigious accolades, including the Best Performer of the Year Award (2019), Spot Awards, Star Awards, and Super Star Awards, among others.

My passion for teaching dates back to my college days, where I simultaneously pursued my studies while working as a tuition teacher. Teaching has not only been a source of livelihood in my early years, but also a deeply fulfilling pursuit that I continue to embrace wholeheartedly.

On the professional training front, I began my journey as a C Language Trainer, later transitioning into the domain of software testing training. For the past six years, I have been actively working as a Python Trainer, helping learners build strong technical foundations.

Through this blog, I aim to bring together all my coding expertise and industry knowledge, making it accessible to everyone — whether you are a beginner taking your first steps or a professional looking to sharpen your skills.


****** PYTHON COURSE CONTENT *********

We provide in-depth knowledge with real-time exposure and practical examples. It’s more interactive and hands-on-based, industry-oriented training for true learners (25% Theory & 75% Practical Programming)

 

  • Introduction to the Python Language.
    • Overview of Python
    • Why Python is the best among multiple Languages
    • Usage of Python in Real-world
    • What Can You Do with Python?
    • Features of Python
    • Installation of Python 3.13 version
    • Basic syntax & Commenting

 

  • IDEs (Integrated development environments)
    • PyCharm Idle (Real-time tool)
    • Jupyter notebook (web-based interactive computing platform)
  • Keywords & Variables
    • List of available keywords in Python
    • Each keyword explanation with a program
    • Variables declaration (Is it required?)
    • Variables Initialization
    • Variables Re-declaration
    • Local variables & global variables with examples
    • What is an identifier
    • What are the rules for an Identifier

 

  • Operators in python
    • Arithmetic operators
    • Comparison operators
    • Logical operators
    • Assignment operators
    • Identity operators
    • Bitwise operators
    • Membership operators 

 

  • Strings in python
    • Different ways to create a string
    • String indexing and string accessing (3 types)
    • Upper(), lower(), swapcase(), tittle(), capitalize()
    • center(), ljust(), rjust(),
    • startswith(), endswith(), count(), find(), rfind(), index()
    • string concatenation and string multiplication
    • splitting the data into different parts as per user requirement
    • split(), join(), partition()
    • min(), max(), replace() and sort()
    • lstrip(), rstrip(), strip(), zfill(), format()
    • isidentifier(), isalpha(), isalnum(), isdigit()
    • isupper(), islower(), isspace(), istitle()
    • Numeric Values of Characters with the ord() and chr() Functions

 

  • Lists
    • Purpose (Importance & Advantages) of learning list.
    • creating and working with homogeneous lists
    • creating and working with heterogeneous lists
    • generating a list by using a split function
    • generating a list by using the range function
    • list indexing and list slicing
    • List slicing (3 types) &Traversing a list
    • creating nested lists and indexing nested lists
    • Mutable (Modifying list elements)
    • index(), count(), Insert(), append(), extend()
    • reverse(), min(), max()
    • remove(), pop() and clear(),
    • Deleting elements from the list (del)
    • list concatenation and list multiplication
    • Membership functions for list
    • Shallow & Deep Copy
    • Difference between sort() and sorted()

 

  • Tuple
    • Purpose (Importance & Advantages) of learning tuple.
    • creating and working with homogeneous tuple
    • creating and working with heterogeneous tuple
    • Converting a list into a tuple
    • Converting a tuple into a list
    • tuple indexing and tuple slicing
    • tuple slicing (3 types) & Traversing a tuple
    • creating nested tuples and indexing a nested tuple
    • index(), count(), min(), max()
    • tuple concatenation
    • Membership operators for tuple

 

  • Dictionary
    • Purpose (Importance & Advantages) of learning tuple.
    • Converting a list of tuples into a dictionary
    • Accessing values
    • Updating Dictionary with new key-value pair
    • copy() & "dict" constructor
    • Delete Dictionary Elements
    • Extend dictionary with "update"
    • Extracting only keys keys()
    • Extracting only values values ()
    • fromkeys(), items(), get()
    • list of dictionaries & working with them (Accessing)
    • dictionary of dictionaries & working with them (Accessing)

 

  • Sets
    • Creating and working with set in different ways
    • Normal sets and frozen sets
    • Set mutable and unpack a set data structure
    • Creating and working with sets with homogeneous elements
    • Creating and working with sets with heterogeneous elements
    • Creating empty sets and modifying the empty sets
    • Why do sets not support indexing and slicing
    • Add, remove, and discard the elements
    • issubset, issuperset
    • Union, intersection, and its difference.
    • Conversions:
      • Converting given string data structure into a set
      • Converting a given list data structure into a set
      • Converting a given tuple data structure into a set
      • Converting a given set data structure into a string
      • Converting a given set data structure into a list
      • Converting a given set data structure into a tuple
  • Decision-making / Conditional statements
    • Simple if 
    • Nested if
    • If-else Statements
    • If-elif-else Statements
    • Nested if-else
    • Using Logical Operators (and, or) 

 

  • Control flow statements (Loops)
    • For Loops (real-time examples)
      • With strings
      • With list
      • With dictionaries
      • With sets
      • With enumerate function
      • With Break statements
      • With Continue statement
      • With else
    • While Loops
      • Infinite loops
      • Break statements
      • Continue statement
      • walrus operator :=
  • Functions
    • Non-recursive functions
      • without arguments
      • With /Required arguments
      • Keyword arguments
      • Default arguments
      • Variable-length arguments
      • command-line arguments
    • Recursive functions

 

  •  Directories & Files
    • Creating, Modifying & Deleting directories
    • Creating a file in a directory
      • Different ways to open the file in Python
      • Writing data to the file
      • Appending data to the existing file
      • Modes of operations
      • Seek and tell methods
      • Read-line and read-lines
      • Organizing files (using OS, pathlib, and shutil modules)

  

Advanced Python course content

 

  • Functionalities of zip and unzip
  • Lambda functions
    • Creating functions by using the lambda keyword
    • Difference between def and lambda functions
    • Working with filter functions
    • Working with map functions
  • Comprehensions
    • List Comprehensions
    • Dictionary comprehensions
    • Set comprehensions
  • Exceptions
    • What is an Exception?
    • When to use exceptions?
    • How many ways, can we raise Exceptions?
    • Different types of Exceptions:
      • TypeError
      • ValueError
      • IOError
      • KeyError
    • Unknown Exception handling
  • Object-oriented programming concepts.
    • What is a class?
    • What is an Object?
    • What is the difference between
      • variables, arguments, attributes
      • Class variable & instance variable (attributes)
    • What is the purpose of the __init__() method
    • Importance of self-keyword in class
    • Object-oriented features with examples & execution.
      • Inheritance
      • Multiple Inheritance
      • Multi-Level Inheritance
      • Hybrid Inheritance
      • Polymorphism
      • Encapsulation
      • Data Hiding (methods & variables)

 

  •  Modules -– In-depth
    • What is a module and what are the purposes of modules?
    • Different types of modules (3)
    • Different ways to import modules (17)
    • Usage of an inbuilt module with examples
      • JSON
      • Time & datetime, Calendar
      • Sys, math
      • OS, pathlib
      • Shutil module, Subprocess module
      • Random module, string module
    • Usage of External module with examples
    • Creating our modules (User defined modules)

 

  • Generators (Generator function & generator expression)
  • Iterators
  • Multi-Threading Module
  • NumPy Module

1. Introduction to NumPy
2. Create Arrays using NumPy
       a. Create integer/float/ heterogeneous arrays
       b. Create a NumPy array using a tuple
3. Create arrays in multiple dimensions
      a. Create a 0D array, 1D array, 2D array, 3D arrays
4. Accessing Elements
       a. Individual elements accessed using the Index from 1-D, 2-D, 3-D arrays
       b. Range of elements accessed using the Index from 1-D, 2-D, 3-D arrays
       c. Step elements accessed using the Index from 1-D, 2-D, 3-D arrays
       c. Accessing elements with Omitting Indices from 1-D, 2-D, 3-D arrays
       d. Elements accessing using Negative indexing for(1D,2D,3D arrays)
       e. Fancy Indexing
5. Properties of nd Arrays
       a. shape
       b. Data Type
       c. size
       d. Itemsize
6. Array Operations - NumPy
       a. Arithmetic operations
       b. Relational operations

 7. Initialization of arrays
        np.arange(), np.zeros(), np.ones() --> 2 dimensions & 3 dimensions
        np.full(), np.eye()
 8. Array Manipulations
        np.resize(), np.reshape(), ravel() vs flatten(), np.matmul(), np.transpose(),
 9. Functions
        a. Aggregate Functions
        b. Broadcast 
        c. Exponential and Logarithmic Functions
10. Arrays Splitting and Joining
        a. np.split()  Vs np.array_split()
        b. np.hstack() Vs  np.vstack()
11. Array Adding and Removing Elements
        a. np.append(), np.insert(). np.delete()
12. Pseudo-random Number Generation
        a. np.random.randint()
        b. np.random.normal()
        c. np.random.rand()

  • Pandas module (Data Manipulation)
·        Introduction of Pandas
·        Creating Series
    a. Creating a Series with integer values
    b. Creating a Series with float values
    c. Creating a Series of different data type values
    d. Creating a Series by providing different labels for the values 
·        Built-In Functions
·        Aggregation Functions
·        DataFrame
    a. Creating a DataFrame using a nested list (list of lists)
        i. Accessing Single Column data
        ii. Accessing Multiple Column data
    b. Creating a DataFrame using a Dictionary
    c. Create a Custom Row Index to the dataframe
·        Accessing required data from Series & DataFrame
    a. Accessing data from series using Index (iloc)
    b. Accessing range of data from series using Index (iloc)
    c. Accessing data from series using label (loc)
    d. Accessing range of data from series using label (loc)
    c. Accessing data from DataFrame using Index (iloc)
    d. Accessing range of data from DataFrame using Index (iloc)
    e. Accessing data from DataFrame using label (loc)
    f. Accessing range of data from DataFrame using label (loc)
·        Handling Missing Data
    Apply below methods for series & DataFrame
    isnull(), notnull(), fillna(value), dropna() --> for series & DataFrame
·        Accessing, and Filtering
·        Merging the dataframes
·        Importing DataSet
·    CSV
·    EXCEL
  • CRUD operations

 

  • Modularization of Python code (PEP-8 standards)
  • We will share the following:
    • Topic-wise multiple-choice IQs (500)
    • Telephonic round /theory-oriented IQs (30)
    • Programming-oriented IQs (40)

Feel free to ask if you have any questions about IQs. 




Author: Boyina Narendra

Supporting Author: M. Meera Sindhu

Request: If you find this information useful, please provide your valuable comments