Python Basics:
Python Basics:1. Variables and Data Types:2. Control Flow:3. Functions:4. Lists and Dictionaries:5. String Manipulation:6. File Handling:7. Modules and Libraries:8. Exception Handling:9. Handling Data - Filter:10. String Formatting:11. List Manipulation:12. Lambda Functions:13. Classes and Objects:14. Inheritance:15. Modules for Data Science:16. Decorators:17. Virtual Environments:18. Asynchronous Programming:19. Regular Expressions:20. Unit Testing:
1. Variables and Data Types:
pythonCopy code # Variables x = 5 name = "John" # Data Types integer_num = 10 float_num = 3.14 string_var = "Hello, World!" boolean_var = True
Variables in Python dynamically type, meaning you don't need to declare their type explicitly. Python supports various data types, including integers, floats, strings, and booleans.
2. Control Flow:
pythonCopy code # If statement if x > 0: print("Positive") # For loop for i in range(5): print(i) # While loop while x > 0: print(x) x -= 1
Python's control flow includes standard constructs like if statements for conditional execution and for/while loops for iteration.
3. Functions:
pythonCopy code # Define a function def greet(name): return "Hello, " + name # Call a function result = greet("Alice") print(result)
Functions are defined using the
def
keyword. They can take parameters and return values. Function calls are straightforward.4. Lists and Dictionaries:
pythonCopy code # List numbers = [1, 2, 3, 4, 5] # Dictionary person = {'name': 'John', 'age': 25, 'city': 'New York'}
Lists are ordered collections, and dictionaries are key-value pairs. They are versatile data structures used for various purposes.
5. String Manipulation:
pythonCopy code # Concatenate strings greeting = "Hello" name = "Alice" message = greeting + ", " + name # String methods upper_case = message.upper()
Strings in Python support concatenation using
+
. String methods, such as upper()
, provide convenient ways to manipulate strings.6. File Handling:
pythonCopy code # Read from a file with open('example.txt', 'r') as file: content = file.read() # Write to a file with open('output.txt', 'w') as file: file.write("Hello, File!")
Python has robust file handling capabilities, allowing you to easily read from and write to files using
with
statements.7. Modules and Libraries:
pythonCopy code # Import a module import math # Use a module function sqrt_result = math.sqrt(16)
Python's extensive standard library includes modules for various functionalities. You can import these modules and use their functions to enhance your programs.
8. Exception Handling:
pythonCopy code # Try-Except block try: result = 10 / 0 except ZeroDivisionError: print("Cannot divide by zero.")
Python allows you to handle exceptions gracefully using try-except blocks, improving the robustness of your code.
9. Handling Data - Filter:
pythonCopy code # Filtering data using list comprehension numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9] even_numbers = [num for num in numbers if num % 2 == 0]
List comprehensions provide a concise way to filter data. In this example,
even_numbers
will contain only the even numbers from the original list.10. String Formatting:
pythonCopy code # String formatting name = "Alice" age = 30 formatted_string = f"My name is {name} and I am {age} years old."
Python supports various string formatting techniques, including f-strings, which make it easy to embed variables within strings.
11. List Manipulation:
pythonCopy code # List manipulation numbers = [1, 2, 3, 4, 5] numbers_squared = [num**2 for num in numbers]
List comprehensions can also be used for more complex manipulations, such as squaring each element in a list.
12. Lambda Functions:
pythonCopy code # Lambda function multiply = lambda x, y: x * y result = multiply(3, 4)
Lambda functions are anonymous functions defined using the
lambda
keyword. They are often used for short, one-time operations.13. Classes and Objects:
pythonCopy code # Class and Object class Car: def __init__(self, brand, model): self.brand = brand self.model = model my_car = Car("Toyota", "Camry")
Python supports object-oriented programming. Classes define blueprints for objects, and objects are instances of those classes.
14. Inheritance:
pythonCopy code # Inheritance class ElectricCar(Car): def __init__(self, brand, model, battery_capacity): super().__init__(brand, model) self.battery_capacity = battery_capacity
Inheritance allows a new class to inherit attributes and methods from an existing class. Here,
ElectricCar
inherits from the Car
class.15. Modules for Data Science:
pythonCopy code # Data Science modules import pandas as pd import numpy as np # Create a DataFrame data = {'Name': ['Alice', 'Bob', 'Charlie'], 'Age': [25, 30, 35]} df = pd.DataFrame(data) # Use NumPy for numerical operations mean_age = np.mean(df['Age'])
For data science tasks, modules like Pandas for data manipulation and NumPy for numerical operations are essential.
16. Decorators:
pythonCopy code # Decorator def my_decorator(func): def wrapper(): print("Something is happening before the function is called.") func() print("Something is happening after the function is called.") return wrapper @my_decorator def say_hello(): print("Hello!") say_hello()
Decorators are a powerful feature in Python that allows you to extend or modify the behavior of functions.
17. Virtual Environments:
bashCopy code # Create a virtual environment python -m venv myenv # Activate the virtual environment source myenv/bin/activate # On Linux/macOS .\myenv\Scripts\activate # On Windows
Virtual environments help manage dependencies and isolate project environments, preventing conflicts between different projects.
18. Asynchronous Programming:
pythonCopy code # Asynchronous programming with async/await import asyncio async def hello(): print("Hello,") await asyncio.sleep(1) print("World!") await hello()
Asynchronous programming allows you to write concurrent code more efficiently using
async
and await
keywords.19. Regular Expressions:
pythonCopy code # Regular expressions import re pattern = re.compile(r'\b(\w+)\b') text = "Python is an amazing language." matches = pattern.findall(text)
Regular expressions provide a powerful way to search, match, and manipulate strings based on patterns.
20. Unit Testing:
pythonCopy code # Unit testing with the built-in 'unittest' module import unittest def add(a, b): return a + b class TestAddition(unittest.TestCase): def test_add_integers(self): self.assertEqual(add(3, 4), 7) if __name__ == '__main__': unittest.main()
Unit testing is essential for ensuring the correctness of your code. Python's
unittest
module is a standard way to perform unit testing.