Learn Python Coding
39K subscribers
618 photos
28 videos
24 files
379 links
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
Download Telegram
The Python library itertools contains many useful functions. 🐍✨

One of them is compress(), which returns an iterator over the elements from data, for which the corresponding element in selectors is equal to True. πŸ”πŸ’»

Here's an example: πŸ“πŸ‘‡

#Python #Programming #Itertools #Coding #Tech #DataScience
πŸ”₯2
Cheat sheet on the basics of Python: πŸπŸ“š

basic syntax and language rules πŸ“
scalar types β€” basic data types (int, float, bool, str, NoneType) πŸ”’

datetime β€” working with date and time πŸ“…β°

data structures β€” Python data structures (list, tuple, dict, set) πŸ—„

list β€” mutable lists for storing data collections πŸ“‹
tuple β€” immutable sequences of values πŸ”’
dict (hash map) β€” storing data in a key-value format πŸ—
set β€” unique elements without order πŸ”˜

slicing β€” obtaining parts of sequences through indices and step βœ‚οΈ

module/library β€” connecting modules and libraries πŸ”Œ

help functions β€” using help() and dir() to explore the Python API πŸ› 

#Python #Coding #DataScience #Programming #Tech #DevCommunity
❀5πŸ”₯3πŸ‘2
Do you know that Python can shift sequences without slicing and creating new lists? πŸ€”

When you need to cyclically shift data, many use slicing:

data = data[-1:] + data[:-1]

But deque.rotate() does this at the level of the data structure and usually works more efficiently for cyclical operations. πŸš€

q.rotate(1)

A negative value rotates the queue in the other direction. ⬅️

q.rotate(-2)

This is useful for ring buffers, task schedulers, cyclical queues, and round-robin algorithms. πŸ”„

workers.rotate(-1)

πŸ”₯ deque.rotate() allows you to implement cyclical data structures without manual index logic and without creating new lists. πŸ’‘

#Python #Programming #Deque #CodingTips #Tech #DevCommunity
❀7
How to check for the presence of subclasses in Python? 🐍🧐

Here's how you can do it:

import inspect

def has_subclasses(cls):
return any(issubclass(sub, cls) for sub in inspect.getmembers(sys.modules[cls.__module__], inspect.isclass))

This function uses the inspect module to find all subclasses of the given class. πŸ› οΈ

#Python #Programming #Subclasses #Coding #Dev #Tech
❀5πŸ‘1
πŸ“‚ Reminder about Python map()!

map() β€” a built-in function that applies the specified function to each element of an iterable object (list, tuple, set, etc.).

The picture shows the basic syntax, an example of use with lambda, and a typical case β€” data transformation without a manual for loop.

Save it to quickly remember the syntax!

πŸπŸ’»πŸ—ΊοΈ #Python #Coding #Programming #LearnToCode #DevTips #Tech
❀7πŸ‘1
Why is enumerate() used in Python? πŸ€”πŸ

It allows you to simultaneously obtain the value of an element and its index when iterating through a list. πŸ“Šβœ¨

This is more convenient and more readable than manually working with a counter. βœ…πŸš€

for i, item in enumerate(items):
print(i, item)


#Python #Coding #Programming #Dev #Tech #Code

✨ Join Best TG Channels
https://t.iss.one/addlist/0f6vfFbEMdAwODBk

⭐️ Join Our WhatsApp Channel
https://whatsapp.com/channel/0029VaC7Weq29753hpcggW2A
❀4πŸ‘1πŸ‘1
Deep copying of objects with the copy module πŸπŸ“¦

import copy

# Original list with nested structure
original = [[1, 2, 3], [4, 5, 6]]

# 1. Shallow copy
shallow = copy.copy(original)
shallow[0][0] = 'X'
# Oh no! Both lists have changed, because the nested list wasn't copied, but passed by reference
print(f"Original after shallow: {original}") # [['X', 2, 3], [4, 5, 6]]

# Restore the data
original = [[1, 2, 3], [4, 5, 6]]

# 2. Deep copy
deep = copy.deepcopy(original)
deep[0][0] = 'X'
# Everything is fine! Only deep has changed, the original remains untouched
print(f"Original after deep: {original}") # [[1, 2, 3], [4, 5, 6]]

The link trap in Python πŸ”—πŸ•³οΈ

When you assign a list to another variable (A = B) or make a regular slice (A = B[:]), Python doesn't physically copy the data. It simply creates a new reference to the same objects in memory. If the list contains other mutable objects (lists, dictionaries, custom classes), standard copying methods will only create a shallow copy. The copy module allows you to control this process.

β€” Breaking the links: The deepcopy function recursively traverses the entire data structure and creates honest, independent duplicates for each nested element. This ensures that changes in the copy will not harm the original data. πŸ”“πŸ”’
β€” Safe state: The use of deep copying is critical when implementing design patterns (for example, Snapshot/Memento), creating game state backups, or when you pass complex configurations to functions that may modify them accidentally. πŸ›‘οΈπŸ’Ύ
β€” A sensible balance: It's worth remembering that deepcopy works slower and consumes more memory than shallow copying, as it spends resources on creating new objects and checking for cyclic references. Use it specifically when there are nested mutable containers within the structure. βš–οΈπŸ§ 

#Python #Programming #DeepCopy #Coding #Tech #Dev

✨ Join Best TG Channels https://t.iss.one/addlist/0f6vfFbEMdAwODBk

⭐️ Join Our WhatsApp Channel https://whatsapp.com/channel/0029VaC7Weq29753hpcggW2A
❀2