Python 🇺🇦
▪️Вивчаємо Python разом. ▪️Високооплачувана професія ▪️Допомагаємо з пошуком роботи Зв'язок: @Ekater1na_admin
Show more📈 Analytical overview of Telegram channel Python 🇺🇦
Channel Python 🇺🇦 in the Ukrainian language segment is an active participant. Currently, the community unites 20 860 subscribers, ranking 6 480 in the Technologies & Applications category and 2 947 in the Ukraine region.
📊 Audience metrics and dynamics
Since its creation on невідомо, the project has demonstrated rapid growth, gathering an audience of 20 860 subscribers.
According to the latest data from 12 June, 2026, the channel demonstrates stable activity. Although there has been a change in the number of participants by -180 over the last 30 days and by -7 over the last 24 hours, overall reach remains high.
- Verification status: Not verified
- Engagement rate (ER): The average audience engagement rate is 9.57%. Within the first 24 hours after publication, content typically collects 5.40% reactions from the total number of subscribers.
- Post reach: On average, each post receives 1 996 views. Within the first day, a publication typically gains 1 127 views.
- Reactions and interaction: The audience actively supports content: the average number of reactions per post is 12.
- Thematic interests: Content is focused on key topics such as шпаргалка, mcp, user1, python'er, бібліотека.
📝 Description and content policy
The author describes the resource as a platform for expressing subjective opinions:
“▪️Вивчаємо Python разом.
▪️Високооплачувана професія
▪️Допомагаємо з пошуком роботи
Зв'язок: @Ekater1na_admin”
Thanks to the high frequency of updates (latest data received on 13 June, 2026), the channel maintains relevance and a high level of publication reach. Analytics show that the audience actively interacts with content, making it an important point of influence in the Technologies & Applications category.
__lt__, __le__, __eq__, __ne__, __gt__, __ge__.
from functools import total_ordering
@total_ordering
class Number:
def __init__(self, value):
self.value = value
def __lt__(self, other):
return self.value < other.value
def __eq__(self, other):
return self.value == other.value
print(Number(20) > Number(3))
print(Number(1) < Number(5))
print(Number(15) >= Number(15))
print(Number(10) < Number(2))
Для спрощення можна використовувати декоратор total_ordering із пакету functools. У такому разі достатньо реалізувати в класі тільки __lt__ і __eq__ — це той мінімум, який потрібний декоратору для конструювання інших методів.
#practice // Архів книг // Python.strip та .lsrtip (не розуміючи, як працюють ці методи).
>>> '0b1000101110100010111010001'.lstrip("0b1")
' '
>>> 'Beautiful is better than ugly'.removeprefix('Beautiful')
' is better than ugly'
>>> 'Beautiful is better than ugly'.removesuffix('ugly')
'Beautiful is better than '
>>> 'Beautiful is better than ugly'.removeprefix('Something else')
'Beautiful is better than ugly'
І все ж, нові методи Python 3.9 — .removeprefix і .removesuffix — призначені спеціально для видалення префіксів і суфіксів у рядках.
#practice // Архів книг // PythonCelery — інструмент, який виконує завдання в асинхронному режимі в Python-додатках. Іншими словами, програма виступає в ролі посередника, забезпечуючи паралельне виконання операцій, не забираючи при цьому цінні ресурси основного потоку виконання.
Мова: 🇺🇦
#theory // Архів книг // Pythonabc. І такий варіант все ще є найбільш правильним. Задля різноманіття, покажемо і простий варіант.
class Parent:
def method(self):
raise NotImplementedError
class Child(Parent):
pass
obj = Child() # Помилок немає
obj.method() # NotImplementedError
У батьківському класі можна оголосити метод, який викликатиме виняток. Таким чином, якщо в дочірньому класі його не перевизначати, ми отримаємо те, що потрібно.
Але при створенні екземпляра класу, успадкованого від такого "батька", не виникне помилки — тільки виклик методу видасть виняток, що не дуже очевидно для абстрактного класу.
#practice // Вакансії IT // PythonPoint ми визначили __str__, який відповідає за те, як виводяться об'єкти класу на екран. Для навантаження оператора + потрібно визначити метод __add__. Він приймає два аргументи, якими є операнди в операції складання.
class Point:
def __init__(self, x=0, y=0):
self.x = x
self.y = y
def __str__(self):
return '({0}, {1})'.format(self.x, self.y)
def __add__(self, other):
x = self.x + other.x
y = self.y + other.y
return Point(x, y)
p1 = Point(1, 2)
p2 = Point (2, 3)
print(p1 + p2)
# Output: (3, 5)
Отже, коли розробник пише запис p1 + p2, інтерпретатор сприймає це як Point.__add__(p1, p2). Для всіх операторів у мові, включаючи логічні, є свої магічні методи.
#practice // Вакансії IT // Python>>> a = [i for i in range(5)]
>>> x = (i for i in range(5))
>>>
>>> a
[0, 1, 2, 3, 4]
>>> x
<generator object <genexpr> at 0x100abed60>
>>>
>>> for i in x:
... print(i, end=' ')
...
0 1 2 3 4
Роздрукувавши змінні, можна побачити, що значенням змінної a є список, а змінна x зберігає в собі об'єкт генератора. І тут постає питання: що ж використовувати?
Якщо вам потрібен результат (наприклад, у вигляді списку) прямо зараз для подальшого виконання програми, то використовуйте генератори колекцій.
А якщо значення знадобляться ще не скоро або взагалі невідомо, чи знадобляться взагалі, то краще використовуйте генератори, щоб не займати зайву пам'ять.
#practice // Вакансії IT // PythonStopIteration — породжується вбудованою функцією next, якщо в ітераторі більше немає елементів.
🔴ArithmeticError — арифметична помилка.
🔴AssertionError — вираз у функції assert є хибним.
🔴AttributeError — об'єкт не має атрибуту (значення або методу).
🔴BufferError — операція, пов'язана з буфером, не може бути виконана.
🔴EOFError — функція натрапила на кінець файлу і не змогла прочитати те, що хотіла.
🔴IndexError — індекс не входить до діапазону елементів.
🔴KeyError — неіснуючий ключ (у словнику, множині або іншому об'єкті).
🔴NameError — не знайдено змінної з такою назвою.
🔴OSError — помилка, пов'язана з системою.
🔴ReferenceError — спроба доступу до атрибуту зі слабким посиланням.
🔴RuntimeError — виняток не підпадає під жодну з інших категорій.
🔴NotImplementedError — абстрактні методи класу вимагають перевизначення в дочірніх класах.
🔴SyntaxError — синтаксична помилка.
🔴IndentationError — неправильні відступи.
🔴TabError — змішування у відступах табуляції та пробілів.
🔴SystemError — внутрішня помилка.
🔴TypeError — операція застосована до об'єкта невідповідного типу.
🔴ValueError — функція набуває аргументу правильного типу, але некоректного значення.
🔴UnicodeError — помилка, пов'язана з кодуванням unicode у рядках.
🔴Warning — попередження.
#theory // Архів книг // Pythonglob є зручна та лаконічна робота з пошуком файлів за патернами. Більше того, можна навіть пройтися директоріями рекурсивно.
>>> import glob
>>>
>>> glob.glob('*. txt')
['first.txt', 'second.txt']
>>>
>>> glob.glob('test[0-9].py')
['test1.py', 'test2.py']
>>>
>>> glob.glob('selenium/**/', recursive=True)
['selenium/', 'selenium/webdriver/', selenium/webdriver/firefox/',
'selenium/webdriver/firefox/amd64/', selenium/webdriver/firefox/x86/']
У метод glob передається шаблон пошуку файлів, а повертається список з результатами. Всі методи дотримуються механізму та правил зіставлення патернів у стилі Unix.
Взагалі, модуль є вбудованим, але в деяких ситуаціях імпорт може видати виняток — тоді треба просто перевстановити його через пакетний менеджер pip.
#practice // Вакансії IT // Python
Available now! Telegram Research 2025 — the year's key insights 
