0% found this document useful (0 votes)
7 views

Day 3 Advanced Python Concepts

Uploaded by

Deep gaichor
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
7 views

Day 3 Advanced Python Concepts

Uploaded by

Deep gaichor
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 4

Day 3: Advanced Python Concepts

Modules and Packages: Modules in Python are simply Python files with the .py extension
that contain Python code. Packages are directories that contain multiple modules.

# Example of importing a module


import math
print(math.sqrt(25)) # Output: 5.0

Error and Exception Handling: Errors in Python can be handled using try-except blocks,
allowing graceful recovery from potential exceptions.

# Example of error handling


try:
result = 10 / 0
except ZeroDivisionError:
print("Cannot divide by zero!")

Introduction to Numpy: NumPy is a powerful library for numerical computing in Python. It


provides support for multidimensional arrays and matrices.

# Example of using NumPy


import numpy as np
arr = np.array([1, 2, 3])
print(arr) # Output: [1 2 3]

1. Array Creation

 numpy.array(): Create an array from a list or tuple.


 numpy.zeros(): Create an array filled with zeros.
 numpy.ones(): Create an array filled with ones.
 numpy.arange(): Create an array with a range of values.
 numpy.linspace(): Create an array with linearly spaced values.
 numpy.random(): Functions to create arrays with random numbers, such as
numpy.random.rand(), numpy.random.randn(), etc.

2. Array Properties

 ndarray.shape: Get the shape of an array.


 ndarray.ndim: Get the number of dimensions of an array.
 ndarray.size: Get the number of elements in an array.
 ndarray.dtype: Get the data type of the array elements.

3. Array Manipulation

 numpy.reshape(): Change the shape of an array.


 numpy.flatten(): Flatten a multi-dimensional array to a one-dimensional array.
 numpy.transpose(): Transpose the array (swap axes).
 numpy.concatenate(): Concatenate two or more arrays along a specified axis.
 numpy.split(): Split an array into multiple sub-arrays.
4. Indexing and Slicing

 Basic slicing: array[start:stop:step].


 Boolean indexing: array[array > value].
 Fancy indexing: array[[index1, index2, ...]].

5. Mathematical Operations

 Arithmetic operations: +, -, *, /, etc., performed element-wise.


 numpy.sum(), numpy.mean(), numpy.std(): Aggregation functions.
 numpy.dot(): Dot product of two arrays.
 numpy.matmul(): Matrix multiplication.
 numpy.linalg.inv(): Inverse of a matrix.
 numpy.linalg.eig(): Eigenvalues and eigenvectors.

6. Statistical Functions

 numpy.min(), numpy.max(): Minimum and maximum values.


 numpy.median(): Median value.
 numpy.percentile(): Percentiles of the array elements.

7. File I/O

 numpy.loadtxt(), numpy.genfromtxt(): Load data from text files.


 numpy.savetxt(): Save an array to a text file.
 numpy.save(), numpy.load(): Save and load arrays in binary format (NumPy .npy
files).

8. Special Functions

 numpy.fft: Fast Fourier Transform.


 numpy.polynomial: Polynomial functions.
 numpy.random: Random number generation and random distributions.

9. Universal Functions (ufuncs)

 Functions that operate element-wise on arrays, such as numpy.sin(), numpy.exp(),


numpy.log(), etc.
Day 3: Advanced Python Concepts
Modules and Packages
Modules:

 A file containing Python code (functions, classes, variables)


 Example:

# mymodule.py
def greet(name):
return f"Hello, {name}!"

# main.py
import mymodule
print(mymodule.greet("Alice"))

 Built-in modules: math, datetime, os, etc.

Packages:

 A directory containing multiple Python modules


 Must contain an __init__.py file
 Example directory structure:

mypackage/
__init__.py
module1.py
module2.py

 Importing from a package:

from mypackage import module1


print(module1.some_function())

Error and Exception Handling


Try-Except Block:

 Used to handle exceptions


 Example:

try:
x = 1 / 0
except ZeroDivisionError:
print("Cannot divide by zero")

Finally Block:

 Executes code regardless of whether an exception occurred


 Example:

try:
x = 1 / 0
except ZeroDivisionError:
print("Cannot divide by zero")
finally:
print("This runs no matter what")

Raising Exceptions:

 Use raise to trigger an exception


 Example:

def check_positive(x):
if x < 0:
raise ValueError("x should be positive")

check_positive(-1)

Introduction to Numpy: Arrays, Array Operations


Numpy:

 Fundamental package for numerical computing


 Install with pip install numpy

Arrays:

 Created using numpy.array()


 Example:

import numpy as np
a = np.array([1, 2, 3])
b = np.array([[1, 2, 3], [4, 5, 6]])

Array Operations:

 Element-wise operations: a + 1, a * 2
 Matrix operations: np.dot(a, b), a.T (transpose)
 Universal functions: np.sqrt(a), np.exp(a)

Example:
import numpy as np
a = np.array([1, 2, 3])
b = np.array([4, 5, 6])
print(a + b) # Output: [5 7 9]
print(a * b) # Output: [ 4 10 18]

You might also like