Learn Python Coding
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
Mostrar más📈 Análisis del canal de Telegram Learn Python Coding
El canal Learn Python Coding (@pythonre) en el segmento lingüístico de Inglés es un actor destacado. Actualmente la comunidad reúne a 40 871 suscriptores, ocupando la posición 3 292 en la categoría Tecnologías y Aplicaciones y el puesto 9 285 en la región India.
📊 Métricas de audiencia y dinámica
Desde su creación el невідомо, el proyecto ha mostrado un crecimiento acelerado, reuniendo a 40 871 suscriptores.
Según los últimos datos del 28 octubre, 2026, el canal mantiene una actividad estable. En los últimos 30 días la variación de miembros fue de 351, y en las últimas 24 horas de -15, conservando un alto alcance.
- Estado de verificación: No verificado
- Tasa de interacción (ER): El promedio de interacción de la audiencia es 4.54%. Durante las primeras 24 horas tras publicar, el contenido suele obtener 1.43% de reacciones respecto al total de suscriptores.
- Alcance de las publicaciones: Cada publicación recibe en promedio 1 854 visualizaciones. En el primer día suele acumular 586 visualizaciones.
- Reacciones e interacción: La audiencia responde de forma activa: el promedio de reacciones por publicación es 3.
- Intereses temáticos: El contenido se centra en temas clave como math, harvard, oxford, supervision, waybienad.
📝 Descripción y política de contenido
El autor describe el recurso como un espacio para expresar opiniones subjetivas:
“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”
Gracias a la alta frecuencia de actualizaciones (últimos datos recibidos el 29 octubre, 2026), el canal mantiene la vigencia y un amplio alcance. La analítica demuestra que la audiencia interactúa activamente con el contenido, lo que lo convierte en un punto de referencia dentro de la categoría Tecnologías y Aplicaciones.
datetime module. The now() method returns a datetime object representing the current date and time according to the system clock. The strftime() method formats the time for the desired output. This code shows how to use the datetime module together with the strftime() method to get a formatted time string in the format of hours, minutes, and seconds.
from datetime import datetime
time_now = datetime.now().strftime('%H:%M:%S')
print(f'Current time: {time_now}')
Current time: 17:37:28
What if we want to return today's date? We can use date from the datetime module. Below, the today() method is used:
from datetime import date
today_date = date.today()
print(today_date)
2023-09-20
👉 https://t.me/DataScience4calendar. We can import this module to display the calendar. There are many things you can do with the calendar.
Let's say we want to see the calendar for April 2022. We use the month class from the calendar module and pass the year and month as arguments. See below:
import calendar
month = calendar.month(2022, 4)
print(month)
There are many other things you can do with calendar. For example, you can use it to check whether a given year is a leap year or not. Let's check if 2022 is a leap year.
import calendar
month = calendar.isleap(2022)
print(month)
False
👉 https://t.me/DataScience4|) or the operator (**). Below we have two dictionaries: first_dict and second_dict. We will use these two methods to merge the dictionaries. Here's the code:
1️⃣ Using the merge operator (|)
first_dict = {"kelly": 23,
"Derick": 14, "John": 7}
second_dict = {"Ravi": 45, "Mpho": 67}
combined_dict = first_dict | second_dict
print(combined_dict)
Output:
{'kelly': 23, 'Derick': 14, 'John': 7, 'Ravi': 45, 'Mpho': 67}
2️⃣ Method 2: using the merge operator (**)
With this operator, you need to put the dictionaries inside curly braces. In the code below, we "substitute" two dictionaries for merging using two operators *. Both dictionaries are enclosed in curly braces and separated by a comma.
first_dict = {"kelly": 23,
"Derick": 14, "John": 7}
second_dict = {"Ravi": 45, "Mpho": 67}
combined_dict = {**first_dict, **second_dict}
print(combined_dict)
Output:
{'kelly': 23, 'Derick': 14, 'John': 7, 'Ravi': 45, 'Mpho': 67>
👉 https://t.me/DataScience4pip install beautifulsoup4
2. Import
from bs4 import BeautifulSoup
import requests
3. Basic parsing
html_doc = "<html><body><p class='text'>Hello, world!</p></body></html>"
soup = BeautifulSoup(html_doc, 'html.parser') # or 'lxml', 'html5lib'
print(soup.p.text) # Hello, world!
4. Finding elements
# First found element
first_p = soup.find('p')
# Search by class or attribute
text_elem = soup.find('p', class_='text')
text_elem = soup.find('p', {'class': 'text'})
# All elements
all_p = soup.find_all('p')
all_text_class = soup.find_all(class_='text')
5. Working with attributes and text
a_tag = soup.find('a')
print(a_tag['href']) # value of the href attribute
print(a_tag.get_text()) # text inside the tag
print(a_tag.text) # alternative
6. Navigating the tree
# Moving to parent, children, siblings
parent = soup.p.parent
children = soup.ul.children
next_sibling = soup.p.next_sibling
# Finding the previous/next element
prev_elem = soup.find_previous('p')
next_elem = soup.find_next('div')
7. Parsing a real page
response = requests.get('https://example.com')
soup = BeautifulSoup(response.text, 'html. parser')
title = soup.title.text
links = [a['href'] for a in soup.find_all('a', href=True)]
8. CSS selectors
# More powerful and concise search
items = soup.select('div.content > p.text')
first_item = soup.select_one('a.button')
tags: #cheat_sheet #useful
➡ https://t.me/DataScience4frozendict will be "safe by design", because it prevents any unintended changes. This is useful not only for the CPython standard library, but also for third-party maintainers: you can rely on a reliable immutable dictionary type.
Why is this needed at all:
▪️Do you want to use a map as a key in another dict or put it in a set? A regular dict is not allowed, but a frozendict is (if the values are also hashable).
▪️ @functools.lru_cache() and arguments-dictionaries: it's difficult with a dict, but normal with a frozendict.
▪️Defaults in function arguments: instead of a "mutable default", you can give frozendict(...) and not get surprises.
How it looks in the API:
▪️The constructor "like a dict": frozendict(), frozendict(**kwargs), frozendict(mapping) or iterable pairs, plus you can mix with **kwargs.
▪️The order of insertion is preserved (as in a regular dict).
▪️The hash does not depend on the order of elements (logic via frozenset(items)), and the comparison is also based on the content, not on the order.
▪️There is a union via | and an "update" |= (but |= does not mutate the object, but creates a new one).
▪️.copy() in CPython essentially returns the same object (shallow), and if you need deep copying, then copy.deepcopy().
An important point: frozendict is NOT inherited from dict. This is done on purpose, so that you can't bypass the "immutability" by calling dict.__setitem__ and similar tricks.
And a bonus for the stdlib: the authors have marked places where you can replace constant/public maps with frozendict (including where MappingProxyType is now used).
👉 @DataScience4