TGViewer
Channel Public Channel
Learn Python Coding

Learn Python Coding

@pythonre

Learn Python through simple, practical examples and real coding ideas. Clear explanations, useful snippets, and hands-on learning for anyone starting or improving their programming skills.

Admin: @HusseinSheikho || @Hussein_Sheikho
Subscribers
40.8K
Photos
710
Videos
37
Links
518

Showing posts older than #8857 · Back to latest

Older Posts 19 shown
Post #8855 1.45K
Python tip:

To create fields that should not be included in the generated init method, use field(init=False).
This is convenient for computed attributes.

Example below 👇

from dataclasses import dataclass, field

@dataclass
class Rectangle:
    width: int
    height: int
    area: int = field(init=False)

    def __post_init__(self):
        self.area = self.width * self.height


👉 @DataScience4
  • ❤ 5
Post #8854 1.66K
✨ PyInstaller | Python Tools ✨

📖 A freezing tool that bundles Python applications for distribution.

🏷️ #Python
  • ❤ 2
Post #8853 1.87K
🐍 A visualizer that shows the code's execution

The tool allows you to run code directly in the browser and see its step-by-step execution: object creation, reference modification, call stack operation, and data movement between memory areas.

There's also a built-in AI assistant, which you can ask to explain why the code behaves the way it does, or to break down an incomprehensible piece of someone else's solution.

⛓ Link to the service

tags: #useful #python

➡ https://t.me/DataScience4
  • ❤ 7
Post #8849 1.53K
"Data Structures and Algorithms in Python"

In this book, which is over 300 pages long, all the main data structures and algorithms are excellently explained.
There are versions for both C++ and Java.

Here's a copy for Python

https://t.me/DataScience4 ✅
  • ❤ 7
Post #8847 1.77K
Python Cheat Sheet: The Ternary Operator 🚀

Shorten your if/else statements for compact, one-line value selection. It's also known as a conditional expression.

#### 📜 The Standard if/else Block

This is the classic, multi-line way to assign a value based on a condition.

# Check if a user is an adult
age = 20
status = ""

if age >= 18:
status = "Adult"
else:
status = "Minor"

print(status)
# Output: Adult


---

#### ✅ The Ternary Operator (One-Line if/else)

The same logic can be written in a single, clean line.

Syntax:
value_if_true if condition else value_if_false

Let's rewrite the example above:

age = 20

# Assign 'Adult' if age >= 18, otherwise assign 'Minor'
status = "Adult" if age >= 18 else "Minor"

print(status)
# Output: Adult


---

💡 More Examples

The ternary operator is an expression, meaning it returns a value and can be used almost anywhere.

1. Inside a Function return

def get_fee(is_member):
# Return 5 if they are a member, otherwise 15
return 5.00 if is_member else 15.00

print(f"Your fee is: ${get_fee(True)}")
# Output: Your fee is: $5.0
print(f"Your fee is: ${get_fee(False)}")
# Output: Your fee is: $15.0


2. Inside an f-string or print()

is_logged_in = False

print(f"User status: {'Online' if is_logged_in else 'Offline'}")
# Output: User status: Offline


3. With List Comprehensions (Advanced)

This is where it becomes incredibly powerful for creating new lists.

numbers = [1, 10, 5, 22, 3, -4]

# Create a new list labeling each number as "even" or "odd"
labels = ["even" if n % 2 == 0 else "odd" for n in numbers]
print(labels)
# Output: ['odd', 'even', 'odd', 'even', 'odd', 'even']

# Create a new list of only positive numbers, or 0 for negatives
sanitized = [n if n > 0 else 0 for n in numbers]
print(sanitized)
# Output: [1, 10, 5, 22, 3, 0]


---

🧠 When to Use It (and When Not To!)

• DO use it for simple, clear, and readable assignments. If it reads like a natural sentence, it's a good fit.

• DON'T use it for complex logic or nest them. It quickly becomes unreadable.

❌ BAD EXAMPLE (Avoid This!):

# This is very hard to read!
x = 10
message = "High" if x > 50 else ("Medium" if x > 5 else "Low")


✅ BETTER (Use a standard if/elif/else for clarity):

x = 10
if x > 50:
message = "High"
elif x > 5:
message = "Medium"
else:
message = "Low"


━━━━━━━━━━━━━━━
By: @DataScience4 ✨
  • ❤ 9
  • 👍 4
  • 🔥 1
Post #8846 1.48K
❌ YOU CAN'T USE LAMBDA LIKE THIS IN PYTHON

The main mistake is turning lambda into a logic dump: adding side effects, print calls, long conditions, and calculations to it.

Such lambdas are hard to read, impossible to debug properly, and they violate the very idea of being a short and clean function. Everything complex should be moved into a regular function. Subscribe for more tips every day !

# you can't do this - lambda with state changes
data = [1, 2, 3]
logs = []

# dangerous antipattern
process = lambda x: logs.append(f"processed {x}") or (x * 10)

result = [process(n) for n in data]

print("RESULT:", result)
print("LOGS:", logs)

https://t.me/DataScience4 🔰
  • ❤ 6
  • 👏 1
Post #8845 1.41K
✨ Pipenv | Python Tools ✨

📖 A dependency and virtual environment manager for Python.

🏷️ #Python
  • ❤ 4
Post #8844 1.45K
✨ ptpython | Python Tools ✨

📖 An enhanced interactive REPL for Python.

🏷️ #Python
  • ❤ 4
Post #8843 1.5K
This channels is for Programmers, Coders, Software Engineers.

0️⃣ Python
1️⃣ Data Science
2️⃣ Machine Learning
3️⃣ Data Visualization
4️⃣ Artificial Intelligence
5️⃣ Data Analysis
6️⃣ Statistics
7️⃣ Deep Learning
8️⃣ programming Languages

✅ https://t.me/addlist/8_rRW2scgfRhOTc0

✅ https://t.me/Codeprogrammer
  • ❤ 2
Post #8842 1.37K
✨ How to Build the Python Skills That Get You Hired ✨

📖 Build a focused learning plan that helps you identify essential Python skills, assess your strengths, and practice effectively to progress.

🏷️ #basics #career
  • ❤ 4
Post #8841 1.37K
# Less readable
items = ["a", "b", "c"]
for item in items[::-1]:
print(item)

# More readable 👍
for item in reversed(items):
print(item)


---

🔟. Use continue to Skip the Rest of an Iteration

The continue keyword ends the current iteration and moves to the next one. It's great for skipping items that don't meet a condition, reducing nested if statements.

# Using 'if'
for i in range(10):
if i % 2 == 0:
print(i, "is even")

# Using 'continue' can be cleaner
for i in range(10):
if i % 2 != 0:
continue # Skip odd numbers
print(i, "is even")


━━━━━━━━━━━━━━━
By: @DataScience4 ✨
  • ❤ 5
Post #8840 1.25K
🔰 For Loop In Python (10 Best Tips & Tricks)

Here are 10 tips to help you write cleaner, more efficient, and more "Pythonic" for loops.

---

1️⃣. Use enumerate() for Index and Value

Instead of using range(len(sequence)) to get an index, enumerate gives you both the index and the item elegantly.

# Less Pythonic 👎
items = ["a", "b", "c"]
for i in range(len(items)):
print(i, items[i])

# More Pythonic 👍
for i, item in enumerate(items):
print(i, item)


---

2️⃣. Use zip() to Iterate Over Multiple Lists

To loop through two or more lists at the same time, zip() is the perfect tool. It stops when the shortest list runs out.

names = ["Alice", "Bob", "Charlie"]
ages = [25, 30, 35]

for name, age in zip(names, ages):
print(f"{name} is {age} years old.")


---

3️⃣. Iterate Directly Over Dictionaries with .items()

To get both the key and value from a dictionary, use the .items() method. It's much cleaner than accessing the key and then looking up the value.

# Less Pythonic 👎
config = {"host": "localhost", "port": 8080}
for key in config:
print(key, "->", config[key])

# More Pythonic 👍
for key, value in config.items():
print(key, "->", value)


---

4️⃣. Use List Comprehensions for Simple Loops

If your for loop just creates a new list, a list comprehension is almost always a better choice. It's more concise and often faster.

# Standard for loop
squares = []
for i in range(5):
squares.append(i * i)
# squares -> [0, 1, 4, 9, 16]

# List comprehension 👍
squares_comp = [i * i for i in range(5)]
# squares_comp -> [0, 1, 4, 9, 16]


---

5️⃣. Use the _ Underscore for Unused Variables

If you need to loop a certain number of times but don't care about the loop variable, use _ as a placeholder by convention.

# I don't need 'i', I just want to repeat 3 times
for _ in range(3):
print("Hello!")


---

6️⃣. Unpack Tuples Directly in the Loop

If you're iterating over a list of tuples or lists, you can unpack the values directly into named variables for better readability.

points = [(1, 2), (3, 4), (5, 6)]

# Unpacking directly into x and y
for x, y in points:
print(f"x: {x}, y: {y}")


---

7️⃣. Use break and a for-else Block

A for loop can have an else block that runs only if the loop completes without hitting a break. This is perfect for search operations.

numbers = [1, 3, 5, 7, 9]

for num in numbers:
if num % 2 == 0:
print("Even number found!")
break
else: # This runs only if the 'break' was never hit
print("No even numbers in the list.")


---

8️⃣. Iterate Over a Copy to Safely Modify

Never modify a list while you are iterating over it directly. This can lead to skipped items. Instead, iterate over a copy.

# This will not work correctly! 👎
numbers = [1, 2, 3, 2, 4]
for num in numbers:
if num == 2:
numbers.remove(num) # Skips the second '2'

# Correct way: iterate over a slice copy [:] 👍
numbers = [1, 2, 3, 2, 4]
for num in numbers[:]:
if num == 2:
numbers.remove(num)
print(numbers) # [1, 3, 4]


---

9️⃣. Use reversed() for Reverse Iteration

To loop over a sequence in reverse, use the built-in reversed() function. It's more readable and efficient than creating a reversed slice.
  • ❤ 2
  • 👍 1
Post #8838 1.23K
✨ MkDocs | Python Tools ✨

📖 A static site generator for Python projects.

🏷️ #Python
  • ❤ 1
Post #8837 1.37K
✨ bpython | Python Tools ✨

📖 A lightweight, enhanced interactive Python REPL.

🏷️ #Python
  • ❤ 4
Post #8836 1.38K
✨ Lazy Imports Land in Python and Other Python News for December 2025 ✨

📖 PEP 810 brings lazy imports to Python 3.15, PyPI tightens 2FA security, and Django 6.0 reaches release candidate. Catch up on all the important Python news!

🏷️ #community #news
  • ❤ 4
Post #8835 1.28K
✖️ MODIFYING A LIST WHILE LOOPING OVER IT SKIPS ITEMS.

Because of this, Python's iterator gets confused. When you remove an element, the next element shifts into its place, but the loop moves on to the
next index, causing the shifted element to be skipped entirely.

The code looks logical, but the result is buggy — a classic iteration trap.
Correct — iterate over a
copy* of the list, or build a new list.

Follow for more Python tips daily!

# hidden error — removing items while iterating skips elements
numbers = [1, 2, 3, 2, 4, 2, 5]

for num in numbers:
if num == 2:
numbers.remove(num) # seems like it should remove all 2s

# a '2' was skipped and remains in the list!
print(numbers) # [1, 3, 4, 2, 5]


# 🖕 correct version — iterate over a copy
numbers_fixed = [1, 2, 3, 2, 4, 2, 5]

# The [:] makes a crucial copy!
for num in numbers_fixed[:]:
if num == 2:
numbers_fixed.remove(num)

print(numbers_fixed) # [1, 3, 4, 5]

# A more Pythonic way is to use a list comprehension:
# [n for n in numbers if n != 2]


━━━━━━━━━━━━━━━
By: @DataScience4 ✨
  • ❤ 6
  • 👍 4
Post #8833 1.24K
🏆 Mastering Python Generators

📢 Unlock the power of Python generators! Learn how these memory-efficient iterators yield items on demand with 20 practical examples.

⚡️ Tap to unlock the complete answer and gain instant insight.

━━━━━━━━━━━━━━━
By: @DataScience4 💛
Telegraph Mastering Python Generators Of course! Let's master Python generators. This guide will take you from the absolute basics to advanced, practical applications with 20 distinct examples. 🔰 Mastering Python Generators What is a Generator?
  • ❤ 5
Older posts →
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →