CODE EXPLANINATIONS FOR BUILTINS FUNCTION
CODE EXPLANATION FOR BUILTINS FUNCTION
The builtins module in Python contains all the built-in functions, exceptions, and objects that are always
available without needing to import them. These functions help with various operations like input/output,
type conversion, and mathematical computations.
Common Built-in Functions and Their Explanations
Here are some commonly used built-in functions:
1. Input/Output Functions
print(*objects, sep=' ', end='\n')
Prints objects to the console with a separator (sep) and an ending character (end).
print("Hello", "World", sep=", ") # Output: Hello, World
input(prompt)
Takes user input as a string.
name = input("Enter your name: ") # User enters "Alice"
print(name) # Output: Alice
2. Type Conversion Functions
int(x), float(x), str(x), bool(x), list(x), tuple(x), set(x), dict(x)
num = int("10") # Converts string "10" to integer 10
pi = float("3.14") # Converts string "3.14" to float 3.14
flag = bool(1) # Converts 1 to True
3. Mathematical Functions
abs(x)
Returns the absolute value of a number.
print(abs(-5)) # Output: 5
round(x, ndigits)
Rounds a number to a given number of decimal places.
print(round(3.14159, 2)) # Output: 3.14
pow(base, exp, mod=None)
Computes base raised to exp, optionally modulo mod.
print(pow(2, 3)) # Output: 8
4. Sequence Functions
len(s)
Returns the length of a sequence.
print(len("Python")) # Output: 6
max(iterable), min(iterable)
Returns the maximum or minimum value in an iterable.
1
CODE EXPLANINATIONS FOR BUILTINS FUNCTION
print(max([1, 2, 3])) # Output: 3
print(min("hello")) # Output: e
sum(iterable, start=0)
Sums up elements of an iterable.
print(sum([1, 2, 3], 10)) # Output: 16
5. Object & Variable Handling
type(obj)
Returns the type of an object.
print(type(42)) # Output: <class 'int'>
id(obj)
Returns the memory address of an object.
x = 10
print(id(x))
isinstance(obj, class)
Checks if obj is an instance of class.
print(isinstance(10, int)) # Output: True
6. Miscellaneous Functions
dir(obj)
Returns a list of attributes of an object.
print(dir(str)) # Lists all methods of a string
help(obj)
Displays documentation for an object.
help(str) # Shows documentation for string methods
Accessing All Built-in Functions
To list all built-in functions in Python, you can use:
import builtins
print(dir(builtins))
2
CODE EXPLANINATIONS FOR BUILTINS FUNCTION
ITETATORS
Iterators in Python – Code Explanation
An iterator in Python is an object that allows sequential traversal of elements, typically from an iterable like
a list, tuple, or string.
1. Understanding Iterators
An iterator must implement two special methods:
__iter__() → Returns the iterator object itself.
__next__() → Returns the next item in the sequence and raises StopIteration when exhausted.
2. Example: Using an Iterator with iter() and next()
# Creating an iterator from a list
My_list = [1, 2, 3]
Iterator = iter(my_list) # Convert list to an iterator
Print(next(iterator)) # Output: 1
Print(next(iterator)) # Output: 2
Print(next(iterator)) # Output: 3
# print(next(iterator)) # Raises StopIteration
3. Creating a Custom Iterator Class
3
CODE EXPLANINATIONS FOR BUILTINS FUNCTION
You can define your own iterator by implementing __iter__() and __next__().
Class MyNumbers:
Def __init__(self, start, end):
Self.start = start
Self.end = end
Def __iter__(self):
Self.current = self.start # Initialize the iterator
Return self
Def __next__(self):
If self.current > self.end: # Stop condition
Raise StopIteration
Value = self.current
Self.current += 1 # Increment value
Return value
# Using the custom iterator
My_nums = MyNumbers(1, 5)
For num in my_nums:
Print(num)
Output:
1
2
3
4
4
CODE EXPLANINATIONS FOR BUILTINS FUNCTION
4. Using Generators as Iterators
Instead of creating a class, you can use generators (yield) to create iterators more easily.
Def count_up(start, end):
While start <= end:
Yield start
Start += 1
# Using the generator
For num in count_up(1, 5):
Print(num)
Output:
1
2
3
4
5
5. Iter() with a Sentinel (Infinite Iterator)
5
CODE EXPLANINATIONS FOR BUILTINS FUNCTION
You can use iter() with a sentinel value to stop iteration.
Import random
Def get_random():
Return random.randint(1, 10)
Rand_iter = iter(get_random, 5) # Stops when 5 is generated
For num in rand_iter:
Print(num)
This keeps generating numbers until it hits 5.
6. Built-in Iterators: map(), filter(), zip()
Python provides built-in iterator functions:
Nums = [1, 2, 3, 4]
# map() applies a function to each element
Squared = map(lambda x: x**2, nums)
Print(list(squared)) # Output: [1, 4, 9, 16]
# filter() filters elements based on a condition
Evens = filter(lambda x: x % 2 == 0, nums)
Print(list(evens)) # Output: [2, 4]
6
CODE EXPLANINATIONS FOR BUILTINS FUNCTION
# zip() pairs elements from multiple iterables
A = [1, 2, 3]
B = [“a”, “b”, “c”]
Zipped = zip(a, b)
Print(list(zipped)) # Output: [(1, ‘a’), (2, ‘b’), (3, ‘c’)]
Key Takeaways
1. Iterators allow sequential access to elements using next().
2. Custom Iterators must define __iter__() and __next__().
3. Generators (yield) simplify iterator creation.
4. Built-in iterators like map(), filter(), and zip() provide convenience.
7
CODE EXPLANINATIONS FOR BUILTINS FUNCTION
MATPLOTLIB
Matplotlib – Code Explanation
Matplotlib is a popular Python library for creating static, animated, and interactive visualizations. The
primary module used is matplotlib.pyplot.
1. Installing Matplotlib
If not already installed, you can install it using:
Pip install matplotlib
2. Basic Line Plot
Import matplotlib.pyplot as plt
X = [1, 2, 3, 4, 5]
Y = [10, 20, 25, 30, 50]
Plt.plot(x, y, label=”Line”, color=”blue”, linestyle=”—“, marker=”o”)
Plt.xlabel(“X-axis Label”)
Plt.ylabel(“Y-axis Label”)
Plt.title(“Basic Line Plot”)
8
CODE EXPLANINATIONS FOR BUILTINS FUNCTION
Plt.legend()
Plt.grid(True)
Plt.show()
Explanation:
Plt.plot(x, y) → Plots x vs y as a line graph.
Label=”Line” → Adds a label for the legend.
Color=”blue”, linestyle=”—“, marker=”o” → Customizes the line.
Plt.xlabel() / plt.ylabel() → Labels for axes.
Plt.title() → Adds a title.
Plt.legend() → Displays the legend.
Plt.grid(True) → Adds a grid.
Plt.show() → Displays the plot.
3. Scatter Plot
Import matplotlib.pyplot as plt
9
CODE EXPLANINATIONS FOR BUILTINS FUNCTION
X = [1, 2, 3, 4, 5]
Y = [10, 20, 25, 30, 50]
Plt.scatter(x, y, color=”red”, marker=”s”, s=100) # ‘s’ sets marker size
Plt.xlabel(“X-axis”)
Plt.ylabel(“Y-axis”)
Plt.title(“Scatter Plot”)
Plt.show()
Explanation:
Plt.scatter(x, y, color=”red”, marker=”s”, s=100) → Creates a scatter plot with red square markers.
4. Bar Chart
Categories = [“A”, “B”, “C”, “D”]
Values = [10, 20, 15, 25]
Plt.bar(categories, values, color=”green”)
Plt.xlabel(“Categories”)
Plt.ylabel(“Values”)
Plt.title(“Bar Chart”)
Plt.show()
10
CODE EXPLANINATIONS FOR BUILTINS FUNCTION
Explanation:
Plt.bar(categories, values, color=”green”) → Creates a vertical bar chart.
5. Histogram
Import numpy as np
Data = np.random.randn(1000) # Generates 1000 random numbers
Plt.hist(data, bins=30, color=”purple”, alpha=0.7) # alpha controls transparency
Plt.xlabel(“Value”)
Plt.ylabel(“Frequency”)
Plt.title(“Histogram”)
Plt.show()
Explanation:
Np.random.randn(1000) → Generates 1000 random numbers.
Plt.hist(data, bins=30, color=”purple”) → Creates a histogram with 30 bins.
11
CODE EXPLANINATIONS FOR BUILTINS FUNCTION
6. Pie Chart
Labels = [“Apple”, “Banana”, “Cherry”, “Date”]
Sizes = [40, 30, 20, 10]
Colors = [“red”, “yellow”, “pink”, “brown”]
Plt.pie(sizes, labels=labels, colors=colors, autopct=”%1.1f%%”, startangle=140)
Plt.title(“Pie Chart”)
Plt.show()
Explanation:
Plt.pie(sizes, labels=labels, autopct=”%1.1f%%”, startangle=140) → Creates a pie chart.
7. Subplots (Multiple Plots)
Fig, axes = plt.subplots(1, 2, figsize=(10, 4)) # 1 row, 2 columns
# First subplot
Axes[0].plot([1, 2, 3], [4, 5, 6], color=”blue”)
Axes[0].set_title(“Line Plot”)
# Second subplot
Axes[1].bar([“A”, “B”, “C”], [10, 20, 15], color=”orange”)
Axes[1].set_title(“Bar Chart”)
12
CODE EXPLANINATIONS FOR BUILTINS FUNCTION
Plt.tight_layout()
Plt.show()
Explanation:
Fig, axes = plt.subplots(1, 2, figsize=(10, 4)) → Creates 1 row, 2 columns of plots.
Axes[0].plot(…) → First subplot.
Axes[1].bar(…) → Second subplot.
Plt.tight_layout() → Adjusts layout.
8. Customizing Plots
Plt.plot(x, y, linewidth=2, linestyle=”dashed”, marker=”o”, markersize=8, color=”blue”)
Plt.xticks([1, 2, 3, 4, 5], [“One”, “Two”, “Three”, “Four”, “Five”])
Plt.yticks([10, 20, 30, 40, 50], [“Low”, “Medium”, “High”, “Very High”, “Peak”])
Plt.show()
Explanation:
Plt.xticks() / plt.yticks() → Customizes tick labels.
Linewidth=2, linestyle=”dashed”, marker=”o” → Custom styling.
13
CODE EXPLANINATIONS FOR BUILTINS FUNCTION
9. Saving a Plot
Plt.plot(x, y)
Plt.savefig(“my_plot.png”, dpi=300, bbox_inches=”tight”)
Explanation:
Plt.savefig(“my_plot.png”, dpi=300, bbox_inches=”tight”) → Saves the figure.
Key Takeaways:
Matplotlib is used for data visualization.
Plt.plot(), plt.scatter(), plt.bar(), plt.hist(), plt.pie() → Different types of plots.
Plt.subplots() → Multiple plots in one figure.
Plt.savefig() → Saves the figure as an image.
14
CODE EXPLANINATIONS FOR BUILTINS FUNCTION
SCIKIT –LEARN
Scikit-Learn – Code Explanation
Scikit-Learn (sklearn) is a Python library for machine learning, including classification, regression,
clustering, and preprocessing. Below is a breakdown with example codes.
1. Installing and Importing Scikit-Learn
Installation
Pip install scikit-learn
Importing Common Modules
Import numpy as np
Import pandas as pd
Import matplotlib.pyplot as plt
From sklearn.model_selection import train_test_split
From sklearn.preprocessing import StandardScaler
From sklearn.linear_model import LinearRegression, LogisticRegression
From sklearn.metrics import mean_squared_error, accuracy_score
✔ numpy, pandas → Data handling
✔ matplotlib.pyplot → Visualization
✔ train_test_split → Splitting data
✔ StandardScaler → Feature scaling
✔ LinearRegression, LogisticRegression → Machine learning models
15
CODE EXPLANINATIONS FOR BUILTINS FUNCTION
✔ mean_squared_error, accuracy_score → Model evaluation
2. Loading a Dataset
Scikit-Learn provides built-in datasets.
From sklearn.datasets import load_iris
Iris = load_iris()
Print(iris.keys()) # Show dataset keys
Print(iris.data[:5]) # First 5 rows of feature data
Print(iris.target[:5]) # First 5 labels (target)
✔ load_iris() → Loads the Iris dataset (used for classification)
✔ .data → Feature matrix
✔ .target → Target labels (flower species)
3. Splitting Data into Training and Testing Sets
X_train, X_test, y_train, y_test = train_test_split(iris.data, iris.target, test_size=0.2, random_state=42)
✔ test_size=0.2 → 80% training, 20% testing
✔ random_state=42 → Ensures reproducibility
16
CODE EXPLANINATIONS FOR BUILTINS FUNCTION
4. Feature Scaling (Normalization)
Scaler = StandardScaler()
X_train_scaled = scaler.fit_transform(X_train)
X_test_scaled = scaler.transform(X_test)
✔ StandardScaler() → Normalizes features to mean = 0, variance = 1
✔ fit_transform(X_train) → Learns & applies transformation
✔ transform(X_test) → Applies the learned transformation
5. Training a Regression Model (Linear Regression)
Model = LinearRegression()
Model.fit(X_train, y_train) # Train the model
✔ LinearRegression() → Initializes a linear regression model
✔ fit(X_train, y_train) → Trains the model
Making Predictions
Y_pred = model.predict(X_test)
Print(y_pred[:5]) # First 5 predictions
✔ predict(X_test) → Predicts labels for test data
Evaluating Regression Performance
17
CODE EXPLANINATIONS FOR BUILTINS FUNCTION
Mse = mean_squared_error(y_test, y_pred)
Print(f”Mean Squared Error: {mse:.2f}”)
✔ mean_squared_error(y_test, y_pred) → Measures prediction error
6. Training a Classification Model (Logistic Regression)
Clf = LogisticRegression()
Clf.fit(X_train, y_train) # Train the classifier
Y_pred_class = clf.predict(X_test)
✔ LogisticRegression() → Used for classification
✔ fit(X_train, y_train) → Trains the model
✔ predict(X_test) → Predicts class labels
Evaluating Classification Performance
Accuracy = accuracy_score(y_test, y_pred_class)
Print(f”Accuracy: {accuracy * 100:.2f}%”)
✔ accuracy_score(y_test, y_pred_class) → Measures accuracy
7. Support Vector Machine (SVM) Classifier
18
CODE EXPLANINATIONS FOR BUILTINS FUNCTION
From sklearn.svm import SVC
Svm_model = SVC(kernel=”linear”)
Svm_model.fit(X_train, y_train)
Y_pred_svm = svm_model.predict(X_test)
Accuracy = accuracy_score(y_test, y_pred_svm)
Print(f”SVM Accuracy: {accuracy * 100:.2f}%”)
✔ SVC(kernel=”linear”) → Linear Support Vector Machine
✔ accuracy_score() → Measures model accuracy
8. Decision Tree Classifier
From sklearn.tree import DecisionTreeClassifier
Tree = DecisionTreeClassifier()
Tree.fit(X_train, y_train)
Y_pred_tree = tree.predict(X_test)
Accuracy = accuracy_score(y_test, y_pred_tree)
Print(f”Decision Tree Accuracy: {accuracy * 100:.2f}%”)
✔ DecisionTreeClassifier() → Builds a decision tree
✔ fit(X_train, y_train) → Trains the model
19
CODE EXPLANINATIONS FOR BUILTINS FUNCTION
9. Random Forest Classifier
From sklearn.ensemble import RandomForestClassifier
Rf = RandomForestClassifier(n_estimators=100, random_state=42)
Rf.fit(X_train, y_train)
Y_pred_rf = rf.predict(X_test)
Accuracy = accuracy_score(y_test, y_pred_rf)
Print(f”Random Forest Accuracy: {accuracy * 100:.2f}%”)
✔ RandomForestClassifier(n_estimators=100) → Uses 100 decision trees
✔ accuracy_score() → Measures accuracy
10. K-Means Clustering
From sklearn.cluster import Kmeans
Kmeans = Kmeans(n_clusters=3, random_state=42)
Kmeans.fit(iris.data)
Print(“Cluster Centers:”, kmeans.cluster_centers_)
✔ Kmeans(n_clusters=3) → Creates 3 clusters
✔ fit(iris.data) → Groups similar data points
20
CODE EXPLANINATIONS FOR BUILTINS FUNCTION
11. Principal Component Analysis (PCA)
From sklearn.decomposition import PCA
Pca = PCA(n_components=2) # Reduce to 2 dimensions
X_pca = pca.fit_transform(iris.data)
Plt.scatter(X_pca[:, 0], X_pca[:, 1], c=iris.target, cmap=”viridis”)
Plt.xlabel(“PCA 1”)
Plt.ylabel(“PCA 2”)
Plt.title(“PCA on Iris Dataset”)
Plt.show()
✔ PCA(n_components=2) → Reduces features to 2 dimensions
✔ fit_transform(iris.data) → Transforms data
✔ plt.scatter(…, c=iris.target) → Colors points by target labels
12. Saving & Loading a Model
Import joblib
# Save model
Joblib.dump(model, “linear_regression.pkl”)
# Load model
21
CODE EXPLANINATIONS FOR BUILTINS FUNCTION
Loaded_model = joblib.load(“linear_regression.pkl”)
Print(loaded_model.predict(X_test[:5])) # Predict using loaded model
✔ joblib.dump(model, “file.pkl”) → Saves the trained model
✔ joblib.load(“file.pkl”) → Loads a saved model
Key Takeaways
✔ Scikit-Learn is used for machine learning in Python.
✔ Provides classification, regression, clustering, feature scaling, and model evaluation tools.
✔ train_test_split() → Splits data into training and testing sets.
✔ StandardScaler() → Standardizes data.
✔ Multiple models available → LinearRegression, LogisticRegression, SVC, DecisionTreeClassifier,
RandomForestClassifier, Kmeans, PCA.
✔ Model persistence → Use joblib.dump() and joblib.load().
22
CODE EXPLANINATIONS FOR BUILTINS FUNCTION
POLYMARPHISM :
Polymorphism in Python – Code Explanation
Polymorphism allows objects of different classes to be treated as objects of a common superclass. It enables
method overriding and method overloading (though Python handles overloading differently).
1. Polymorphism with Functions
A single function can work with different objects.
Class Cat:
Def speak(self):
Return “Meow”
Class Dog:
Def speak(self):
Return “Woof”
Def make_sound(animal):
Print(animal.speak())
Cat = Cat()
Dog = Dog()
Make_sound(cat) # Output: Meow
23
CODE EXPLANINATIONS FOR BUILTINS FUNCTION
Make_sound(dog) # Output: Woof
Explanation:
✔ Both Cat and Dog have a speak() method.
✔ The function make_sound(animal) calls speak() on different objects.
2. Polymorphism with Inheritance (Method Overriding)
A child class can override a method from its parent class.
Class Animal:
Def speak(self):
Return “Animal sound”
Class Cat(Animal):
Def speak(self): # Overriding parent method
Return “Meow”
Class Dog(Animal):
Def speak(self):
Return “Woof”
Animals = [Cat(), Dog(), Animal()]
For animal in animals:
Print(animal.speak())
24
CODE EXPLANINATIONS FOR BUILTINS FUNCTION
✔ speak() in Cat and Dog overrides the speak() method in Animal.
✔ The method called depends on the **actual
25
CODE EXPLANINATIONS FOR BUILTINS FUNCTION
CLASS:
Classes in Python – Code Explanation
A class is a blueprint for creating objects. Objects represent real-world entities with attributes (variables) and
methods (functions).
1. Defining a Class and Creating an Object
Class Car:
Def __init__(self, brand, model, year):
Self.brand = brand # Attribute
Self.model = model
Self.year = year
Def display_info(self): # Method
Return f”{self.year} {self.brand} {self.model}”
# Creating an object
Car1 = Car(“Toyota”, “Corolla”, 2022)
# Accessing attributes and methods
Print(car1.brand) # Output: Toyota
Print(car1.display_info()) # Output: 2022 Toyota Corolla
Explanation:
✔ __init__() → Constructor method, initializes object attributes.
26
CODE EXPLANINATIONS FOR BUILTINS FUNCTION
✔ self → Represents the instance of the class.
✔ display_info() → Method to return formatted information.
✔ car1 → Object (instance) of Car.
2. Class vs. Instance Attributes
Class Employee:
Company = “TechCorp” # Class attribute (shared by all objects)
Def __init__(self, name, salary):
Self.name = name # Instance attribute (unique per object)
Self.salary = salary
Emp1 = Employee(“Alice”, 50000)
Emp2 = Employee(“Bob”, 60000)
Print(emp1.company) # Output: TechCorp
Print(emp2.company) # Output: TechCorp
# Changing class attribute
Employee.company = “NewTech”
Print(emp1.company) # Output: NewTech
✔ Class attribute (company) → Shared across all instances.
✔ Instance attributes (name, salary) → Unique per object.
27
CODE EXPLANINATIONS FOR BUILTINS FUNCTION
3. Encapsulation (Private and Protected Attributes)
Class BankAccount:
Def __init__(self, balance):
Self._balance = balance # Protected attribute
Def deposit(self, amount):
Self._balance += amount
Def withdraw(self, amount):
If amount <= self._balance:
Self._balance -= amount
Return f”Withdrawn: {amount}, Remaining: {self._balance}”
Return “Insufficient balance”
Account = BankAccount(1000)
Account.deposit(500)
Print(account.withdraw(300)) # Withdrawn: 300, Remaining: 1200
✔ _balance → Protected attribute (indicated by _ but still accessible).
✔ Encapsulation → Data is hidden but can be modified via methods.
4. Inheritance (Parent-Child Relationship)
Class Animal:
Def speak(self):
28
CODE EXPLANINATIONS FOR BUILTINS FUNCTION
Return “Some sound”
Class Dog(Animal): # Dog inherits from Animal
Def speak(self): # Overriding method
Return “Woof”
Dog = Dog()
Print(dog.speak()) # Output: Woof
✔ Inheritance → Dog inherits methods from Animal.
✔ Method Overriding → speak() in Dog replaces speak() from Animal.
5. Polymorphism (Multiple Classes with the Same Method)
Class Cat:
Def speak(self):
Return “Meow”
Class Dog:
Def speak(self):
Return “Woof”
Def make_sound(animal):
Print(animal.speak())
Make_sound(Cat()) # Output: Meow
Make_sound(Dog()) # Output: Woof
29
CODE EXPLANINATIONS FOR BUILTINS FUNCTION
✔ make_sound(animal) calls speak() on different types of objects.
✔ Polymorphism → Different classes implement the same method differently.
6. Static and Class Methods
Class MathOperations:
@staticmethod
Def add(a, b):
Return a + b
@classmethod
Def class_method_example(cls):
Return “This is a class method”
Print(MathOperations.add(5, 10)) # Output: 15
Print(MathOperations.class_method_example()) # Output: This is a class method
✔ @staticmethod → A method that does not use self or cls.
✔ @classmethod → A method that operates on class-level data.
Key Takeaways
✔ Class → Defines a blueprint for objects.
✔ Objects (instances) → Created using a class.
30
CODE EXPLANINATIONS FOR BUILTINS FUNCTION
✔ Encapsulation → Hides data (protected/private attributes).
✔ Inheritance → A child class inherits from a parent class.
✔ Polymorphism → Different classes can have the same method name.
✔ Static/Class Methods → Used for utility functions and class-wide operations.
31