Python 🇺🇦
▪️Вивчаємо Python разом. ▪️Високооплачувана професія ▪️Допомагаємо з пошуком роботи Зв'язок: @Ekater1na_admin
إظهار المزيد📈 نظرة تحليلية على قناة تيليجرام Python 🇺🇦
تُعد قناة Python 🇺🇦 في القطاع اللغوي أوكراني لاعباً نشطاً. يضم المجتمع حالياً 20 860 مشتركاً، محتلاً المرتبة 6 480 في فئة التكنولوجيات والتطبيقات والمرتبة 2 947 في منطقة أوكرانيا.
📊 مؤشرات الجمهور والحراك
منذ تأسيسه في невідомо، حقق المشروع نمواً سريعاً وجمع 20 860 مشتركاً.
بحسب آخر البيانات بتاريخ 12 يونيو, 2026، تحافظ القناة على نشاط مستقر. خلال آخر 30 يوماً تغيّر عدد الأعضاء بمقدار -180، وفي آخر 24 ساعة بمقدار -7، مع بقاء الوصول العام مرتفعاً.
- حالة التحقق: غير موثّقة
- معدل التفاعل (ER): يبلغ متوسط تفاعل الجمهور 9.57%. وخلال أول 24 ساعة من النشر يحصد المحتوى عادةً 5.40% من ردود الفعل نسبةً إلى إجمالي المشتركين.
- وصول المنشورات: يحصل كل منشور على متوسط 1 996 مشاهدة. وخلال اليوم الأول يجمع عادةً 1 127 مشاهدة.
- التفاعلات والاستجابة: يتفاعل الجمهور بانتظام؛ متوسط التفاعلات لكل منشور يبلغ 12.
- الاهتمامات الموضوعية: يركز المحتوى على مواضيع رئيسية مثل шпаргалка, mcp, user1, python'er, бібліотека.
📝 الوصف وسياسة المحتوى
يصف المؤلف القناة بأنها مساحة للتعبير عن الآراء الذاتية:
“▪️Вивчаємо Python разом.
▪️Високооплачувана професія
▪️Допомагаємо з пошуком роботи
Зв'язок: @Ekater1na_admin”
بفضل وتيرة التحديث المرتفعة (أحدث البيانات بتاريخ 13 يونيو, 2026) تحافظ القناة على حداثتها ومستوى وصول مرتفع. وتُظهر التحليلات تفاعلاً نشطاً من الجمهور، ما يجعلها نقطة تأثير مهمة ضمن فئة التكنولوجيات والتطبيقات.
__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
متاح الآن! بحث تيليغرام 2025 — أهم رؤى العام 
