Python Learning
5.84K subscribers
546 photos
2 videos
85 files
120 links
Python learning resources

Beginner to advanced Python guides, cheatsheets, books and projects.

For data science, backend and automation.
Join 👉 https://rebrand.ly/bigdatachannels

DMCA: @disclosure_bds
Contact: @mldatascientist
Download Telegram
Forwarded from Programming Quiz Channel
What is the output in Python?
0.1 + 0.2 == 0.3
Anonymous Quiz
61%
True
30%
False
6%
Error
3%
Depends
🐍 Python Dictionaries (Key-Value Pairs) 🔑

Dictionaries are unordered collections of data that store items in key-value pairs. They are incredibly powerful for organizing and quickly accessing related information.

👉 Ideal for representing real-world objects with unique identifiers (keys).

🔹 1. What is a Dictionary?

A mutable, unordered collection where each item has a unique key and an associated value. Defined by curly braces {}.

Example:
person = {"name": "Alice", "age": 30, "city": "New York"}
print(person)

Output: {'name': 'Alice', 'age': 30, 'city': 'New York'}

🔹 2. Accessing Dictionary Items

Access values using their associated key inside square brackets [] or with the .get() method.

Example:
student = {"id": 101, "name": "Bob", "grade": "A"}
print(student["name"])
print(student.get("grade"))

Output:
Bob
A

🔹 3. Adding and Modifying Items

To add a new item, assign a value to a new key. To modify, assign a new value to an existing key.

Example:
car = {"brand": "Ford", "model": "Mustang"}
car["year"] = 2020 # Add new item
car["model"] = "Explorer" # Modify existing item
print(car)

Output: {'brand': 'Ford', 'model': 'Explorer', 'year': 2020}

🔹 4. Removing Items

del dict[key]: Removes the item with the specified key.
.pop(key): Removes (and returns) the item with the specified key.
.clear(): Empties the entire dictionary.

Example:
settings = {"theme": "dark", "sound": "on", "notifications": "off"}
del settings["sound"] # Remove by key
print(settings)
settings.pop("theme") # Also removes by key
print(settings)

Output:
{'theme': 'dark', 'notifications': 'off'}
{'notifications': 'off'}

🔹 5. Looping Through a Dictionary

You can loop through keys, values, or both (items).

Example:
for k, v in person.items(): # Loops through key-value pairs
print(f"{k}: {v}")

Output:
name: Alice
age: 30
city: New York

🎯 Today's Goal(What you should do)

✔️ Understand how dictionaries store data in key-value pairs
✔️ Add, access, modify, and remove dictionary items
✔️ Iterate over keys, values, or items
5
🐍 Python Strings (Text Manipulation) 🔤

Strings are sequences of characters, used for handling text data. They are immutable, meaning once created, they cannot be changed directly. Python provides many built-in methods for working with strings.

👉 Essential for almost any program that interacts with text, from usernames to file paths.

🔹 1. What is a String?

A string is a sequence of characters, enclosed in single quotes '', double quotes "", or triple quotes """ """ for multi-line strings.

Example:
name = "Pythonista"
message = 'Hello, world!'
multiline = """This is
a multi-line
string."""
print(name)

Output: Pythonista

🔹 2. Accessing Characters (Indexing & Slicing)

Indexing: Get a single character using its position (index starts at 0).
Slicing: Get a sub-sequence of characters (a "slice") using [start:end]. The end index is exclusive.

Example:
word = "developer"
print(word[0]) # First character
print(word[3:7]) # Characters from index 3 up to (but not including) 7
print(word[-1]) # Last character

Output:
d
elop
r

🔹 3. String Concatenation & Length

Concatenation: Joining strings using the + operator.
len() function: Returns the number of characters in a string.

Example:
first = "Hello"
last = "World"
full_message = first + " " + last + "!"
print(full_message)
print(len(full_message))

Output:
Hello World!
12

🔹 4. Common String Methods

.upper() / .lower(): Convert to uppercase/lowercase.
.strip(): Removes leading/trailing whitespace.
.replace(old, new): Replaces occurrences of a substring.
.split(delimiter): Splits the string into a list of substrings.

Example:
text = "   Hello Python!   "
print(text.strip())
print("apple,banana,cherry".split(','))
print("Python".replace('o', '0'))

Output:
Hello Python!
['apple', 'banana', 'cherry']
Pyth0n

🔹 5. F-strings (Formatted String Literals)

A powerful and easy way to embed expressions inside string literals. Prefix the string with f or F.

Example:
item = "book"
price = 19.99
print(f"The {item} costs ${price:.2f}.") # .2f for 2 decimal places

Output: The book costs $19.99.

🎯 Today's Goal(What you should do)

✔️ Understand string immutability
✔️ Access characters and slice strings
✔️ Use common string methods for manipulation
✔️ Format strings with f-strings
7
60 Python Project Ideas (Beginner + Intermediate + Advanced)
3👍1
🐍 Python Classes & Objects (OOP Basics) 🏗

Object-Oriented Programming (OOP) is a powerful paradigm where you design your applications using classes and objects. Classes serve as blueprints, and objects are instances of those blueprints.

👉 Essential for building structured, reusable, and scalable code in larger projects.

🔹 1. What is OOP?

OOP organizes code around objects rather than just functions and data. It focuses on concepts like encapsulation, inheritance, and polymorphism to make complex systems easier to manage.

🔹 2. Class vs. Object

Class: A blueprint or a template for creating objects. It defines the properties (attributes) and behaviors (methods) that all objects of that type will have.
Object: An instance of a class. It's a real-world entity created from the class blueprint.

Example: Class = Car, Object = "My blue Honda Civic"

🔹 3. Defining a Class

We use the class keyword to define a new class. Class names typically start with an uppercase letter.

Syntax:
class ClassName:
# attributes (variables)
# methods (functions)

Example:
class Dog:
species = "Canis familiaris" # Class attribute

def __init__(self, name, age): # Constructor method
self.name = name # Instance attribute
self.age = age # Instance attribute

🔹 4. Creating an Object (Instantiating a Class)

To create an object from a class, you call the class name as if it were a function. This process is called instantiation.

Example:
my_dog = Dog("Buddy", 3) # Creating an object 'my_dog'
your_dog = Dog("Lucy", 5) # Creating another object 'your_dog'

🔹 5. Object Attributes & Methods

Attributes: Variables that belong to an object (e.g., name, age). Accessed using dot notation: object.attribute.
Methods: Functions that belong to an object (e.g., bark()). Defined inside the class and always take self as their first parameter.

Example:
class Dog:
def __init__(self, name):
self.name = name

def bark(self): # A method
print(f"{self.name} says Woof!")

my_dog = Dog("Rex")
print(my_dog.name) # Access attribute
my_dog.bark() # Call method

Output:
Rex
Rex says Woof!

🎯 Today's Goal(What you should do)

✔️ Understand the concept of classes as blueprints and objects as instances
✔️ Define a simple class with attributes and methods
✔️ Create objects from a class
4
📚 The Algorithms: Python

This is the largest open-source collection of algorithms implemented exclusively in Python. It provides clean, well-documented, educational implementations of every major algorithm, from sorting to machine learning, actively maintained by a global community of 1,200+ contributors. No prerequisites required.

Key highlights:

🐍 Python-only focus - perfect for Python learners and developers
📈 219k stars, 50k forks - trusted by millions worldwide
🧠 Covers 50+ algorithmic domains: backtracking, dynamic programming, graphs, machine learning, neural networks, computer vision, cryptography, and more
🔄 Actively updated - last commit March 28, 2026
🎓 Educational purpose - implementations are clear and intended for learning, not just production

🔗 Link

@python_bds
4👏2
🐍 Python Modules & Packages (Code Organization) 📂

Modules and packages help organize your Python code into reusable files and directories. They make your projects manageable, prevent name conflicts, and allow you to share code.

🔹 1. What are Modules?

A module is simply a Python file (.py extension) containing Python code (functions, classes, variables).

Example:
If you have my_math.py:
# my_math.py
def add(a, b):
return a + b


🔹 2. Importing Modules

You use the import statement to bring functionality from one module into another.

Syntax:
import module_name
from module_name import specific_item
from module_name import * # Avoid this in large projects
import module_name as alias
Example:python
import my_math
print(my_math.add(5, 3)) # Access function using module_name.function

from my_math import add
print(add(10, 2)) # Access function directly

import math as m # Using an alias for built-in 'math' module
print(m.sqrt(16))

Output:
8
12
4.0

🔹 3. What are Packages?

A package is a way to organize related modules into a directory hierarchy. A directory becomes a Python package if it contains an __init__.py file (even if empty).

Example:
my_project/
├── main.py
└── my_package/
├── __init__.py
├── graphics.py
└── sound.py


🔹 4. Importing from Packages

You import modules or specific items from modules within a package using dot notation.

Example (assuming my_package above):
# In main.py
from my_package import graphics
# Now you can use functions/classes from graphics.py like: graphics.draw_circle()

from my_package.sound import play_effect
# Now you can use play_effect() directly


🔹 5. Benefits of Modules & Packages

Reusability: Write code once, use everywhere.
Organization: Keeps related code together.
Readability: Easier to understand structured code.
Namespace management: Prevents variable/function name clashes.

🎯 Today's Goal (What you should do)

✔️ Understand what modules and packages are
✔️ Learn how to import functionality
✔️ Appreciate the benefits of code organization
4
Python Dictionaries
3🔥3
🐍 Python File I/O (Reading & Writing Files) 📝

File Input/Output (I/O) allows your Python programs to interact with external files, reading data from them or writing data to them. This is crucial for persistence, logging, and data processing.

🔹 1. Opening Files (open())

The open() function is used to open a file. It returns a file object.

Syntax:
file_object = open("filename.txt", "mode")

Common modes:
"r": Read (default) - file must exist.
"w": Write - creates a new file or overwrites an existing one.
"a": Append - creates a new file or adds to the end of an existing one.
"x": Exclusive creation - creates a new file, fails if it exists.

🔹 2. Reading from Files

Once opened in read mode, you can read content:
.read(): Reads the entire file content as a single string.
.readline(): Reads one line at a time.
.readlines(): Reads all lines into a list of strings.

Example:
# Assuming 'data.txt' contains "Line 1\nLine 2\n"
file = open("data.txt", "r")
content = file.read()
print(content)
file.close() # Always close the file!

Output:
Line 1
Line 2

🔹 3. Writing to Files

Once opened in write ("w") or append ("a") mode, you can write content:
.write(string): Writes a string to the file. Remember to add \n for new lines.

Example:
file = open("output.txt", "w")
file.write("Hello from Python!\n")
file.write("This is a new line.")
file.close()

(Creates/overwrites output.txt with the text.)

🔹 4. The with Statement (Best Practice!)

The with statement ensures files are automatically closed even if errors occur. This is the recommended way.

Syntax:
with open("filename.txt", "mode") as file_object:
# perform file operations here
# File is automatically closed after this block
Example:python
with open("names.txt", "w") as f:
f.write("Alice\nBob\n")

with open("names.txt", "r") as f:
for line in f:
print(line.strip()) # .strip() removes newline characters

Output:
Alice
Bob

🔹 5. File Modes (Binary vs. Text)

• Text mode (default): "r", "w", "a" - handles text encoding/decoding.
• Binary mode: "rb", "wb", "ab" - handles raw bytes, useful for images, executables, etc.

Example (Binary Write):
with open("data.bin", "wb") as f:
f.write(b'\x01\x02\x03') # Writing bytes


🎯 Today's Goal

✔️ Understand how to open files in different modes
✔️ Read and write data to files
✔️ Master the with statement for safe file handling
4👏1
Forwarded from Programming Quiz Channel
Which Python concept allows efficient iteration over large datasets?
Anonymous Quiz
18%
List
26%
Tuple
34%
Dictionary
21%
Generator
How to Setup Python the Right Way
4
🐍 Python Lambda Functions (Anonymous Functions) 👻

Lambda functions are small, anonymous (unnamed) functions defined with the lambda keyword. They can take any number of arguments but can only have one expression.

🔹 1. What is a Lambda Function?

A compact way to write simple functions without def. They are essentially a shortcut for defining simple, inline functions.

Syntax:
lambda arguments: expression
Example:python
add_ten = lambda x: x + 10
print(add_ten(5))

Output: 15

🔹 2. Why Use Lambda?

Conciseness: Shorter syntax for simple operations.
Anonymity: No need to name a function that will only be used once.
Readability: Can make code cleaner when used appropriately in specific contexts.

🔹 3. Lambda with Multiple Arguments

Lambdas can take multiple arguments, just like regular functions.

Example:
multiply = lambda a, b: a × b
print(multiply(4, 7))

Output: 28

🔹 4. Common Use Case 1: filter()

The filter() function constructs an iterator from elements of an iterable for which a function returns True. Lambdas are often used as this function.

Example:
numbers = [1, 2, 3, 4, 5, 6]
evens = list(filter(lambda x: x % 2 == 0, numbers))
print(evens)

Output: [2, 4, 6]

🔹 5. Common Use Case 2: map()

The map() function applies a given function to each item of an iterable and returns an iterator of the results.

Example:
numbers = [1, 2, 3]
squared_numbers = list(map(lambda x: x × x, numbers))
print(squared_numbers)

Output: [1, 4, 9]

🔹 6. Common Use Case 3: sorted() (Custom Sort Key)

Lambdas are frequently used with sorted() as the key argument to define custom sorting logic.

Example:
students = [('Alice', 25), ('Bob', 20), ('Charlie', 30)]
# Sort by age (the second element of each tuple)
sorted_students = sorted(students, key=lambda student: student[1])
print(sorted_students)

Output: [('Bob', 20), ('Alice', 25), ('Charlie', 30)]

🎯 Today's Goal

✔️ Understand what lambda functions are
✔️ Write short, single-expression functions
✔️ Use lambdas effectively with filter(), map(), and sorted()
4
Python Web Scraping
3👍1
🥊 Flask vs. Django

1. Django: The "Batteries Included" Giant 🔋
Philosophy: Everything you need is built-in: ORM (database), admin panel, auth, templating.
Structure: Opinionated (MTV architecture). Dictates how your project is organized.
Best For: Large, database-heavy apps (CMS, e-commerce), rapid development with lots of features.
Vibe: "We've thought of everything, just use our system."


2. Flask: The "Microframework" Chameleon 🦎
Philosophy: Minimal core (routing, request handling). You add libraries as needed.
Structure: Flexible, unopinionated. Your project structure is up to you.
Best For: APIs, microservices, smaller apps, projects needing full control over components.
Vibe: "Here are the basics, build your perfect app with the tools you choose."
3👍1
Python Data Visualization Study Guide
5
🐍 Python List Comprehensions (Concise Lists)

List comprehensions provide a concise and elegant way to create lists. They allow you to build new lists by applying an expression to each item in an existing iterable, optionally with a condition.

🔹 1. What is a List Comprehension?

A single line of code to create a new list based on an existing sequence.

Syntax:
new_list = [expression for item in iterable if condition]

The if condition part is optional.

🔹 2. Basic List Comprehension

Creating a new list by transforming each item from an existing list or range.

Example (Squares):
numbers = [1, 2, 3, 4, 5]
squares = [num × num for num in numbers]
print(squares)

Output: [1, 4, 9, 16, 25]

Example (Uppercase names):
names = ["alice", "bob", "charlie"]
upper_names = [name.upper() for name in names]
print(upper_names)

Output: ['ALICE', 'BOB', 'CHARLIE']

🔹 3. List Comprehension with Condition (if)

You can include an if clause to filter items, only including those that satisfy the condition.

Example (Even numbers):
all_numbers = range(10) # 0 to 9
even_numbers = [num for num in all_numbers if num % 2 == 0]
print(even_numbers)

Output: [0, 2, 4, 6, 8]

Example (Words starting with 'a'):
words = ["apple", "banana", "apricot", "cherry"]
a_words = [word for word in words if word.startswith('a')]
print(a_words)

Output: ['apple', 'apricot']

🔹 4. List Comprehension with if-else (Conditional Expression)

You can use an if-else expression within the expression part to choose a value based on a condition.

Syntax:
new_list = [expression_if_true if condition else expression_if_false for item in iterable]
Example:python
nums = [1, 2, 3, 4]
status = ["Even" if n % 2 == 0 else "Odd" for n in nums]
print(status)

Output: ['Odd', 'Even', 'Odd', 'Even']

🎯 Today's Goal

✔️ Understand the structure of list comprehensions
✔️ Create new lists from existing iterables
✔️ Filter items using if conditions
✔️ Use if-else for conditional value assignment
3👍1👏1
Why Your Python Code Keeps Breaking: Learn Variables and Data Types
4👍2