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
Больше📈 Аналитический обзор Telegram-канала Learn Python Coding
Канал Learn Python Coding (@pythonre) языкового сегмента Английский является активным участником. Сейчас сообщество объединяет 40 871 подписчиков, занимая 3 292 место в категории Технологии и приложения и 9 285 место в регионе Индия.
📊 Показатели аудитории и динамика
С момента создания невідомо проект демонстрирует стремительный рост, собрав аудиторию из 40 871 подписчиков.
Согласно последним данным от 28 октября, 2026, канал показывает стабильную активность. За последние 30 дней изменение числа участников составило 351, а за последние 24 часа — -15, при этом общий охват остаётся высоким.
- Статус верификации: Не верифицирован
- Уровень вовлечённости (ER): Средний показатель вовлечённости аудитории составляет 4.54%. В первые 24 часа после публикации контент обычно набирает 1.43% реакций от общего числа подписчиков.
- Охват публикаций: В среднем каждый пост получает 1 854 просмотров. В течение первых суток публикация набирает 586 просмотров.
- Реакции и взаимодействия: Аудитория активно поддерживает контент: среднее количество реакций на один пост — 3.
- Тематические интересы: Контент сосредоточен на ключевых темах, таких как math, harvard, oxford, supervision, waybienad.
📝 Описание и контентная политика
Автор описывает ресурс как площадку для выражения субъективного мнения:
“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”
Благодаря высокой частоте обновлений (последние данные получены 29 октября, 2026) канал поддерживает актуальность и высокий уровень охвата публикаций. Аналитика показывает, что аудитория активно взаимодействует с контентом, что делает его важной точкой влияния в категории Технологии и приложения.
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