My Python
2 subscribers
136 photos
3 videos
1 file
144 links
Download Telegram
Forwarded from Python 🇺🇦
Модуль bisect

Модуль bisect забезпечує підтримку вставки значень у відсортований список без необхідності сортувати цей список після кожної вставки. Для довгих списків елементів із дорогими операціями порівняння це може бути покращенням порівняно з більш поширеним підходом.

Модуль називається "bisect", тому що він використовує базовий алгоритм розподілу навпіл для виконання своєї роботи. Вихідний код може бути найбільш корисним як робочий приклад алгоритму.

#practice // Python 🇺🇦
Forwarded from Python 🇺🇦
Чат-бот: що це, навіщо воно треба і як його створити

Ви просили зачепити тему про ботів, у цій статті поговоримо трішки про існуючі конструктори для створення таких ботів. У подальшому розберемо їх написання з ноля.

#lessons // Python 🇺🇦
Forwarded from Python 🇺🇦
База даних на мінімалках

Вбудований модуль shelve дозволяє зберігати та читати довільні дані. Таким чином можна зберігати будь-які Python об'єкти для подальшого використання.

Доступ до даних здійснюється за допомогою ключів, як і у випадку зі словниками. А метод shelve.open підтримує протокол контекстного менеджера, тобто можна викликати метод close.

У документації заявляють, що така база даних є "надійною". Але враховуючи, що shelve написаний на pickle, його варто використовувати лише у зовсім маленьких проектах.

#practice // Python 🇺🇦
Forwarded from Python 🇺🇦
statistics.mean

Метод statistics.mean() обчислює середнє арифметичне значення заданого набору даних. Він складає всі задані значення, після чого ділить на їх кількість. Якщо дані не вказані, то повертається помилка StatisticsError.

#practice // Python 🇺🇦
Forwarded from Python 🇺🇦
Список імпортів за замовчуванням

Для обмеження імпорту змінних, функцій та класів за замовчуванням можна використовувати список __all__, до якого записуються назви об'єктів, які будуть підключені.

Таким чином, при імпорті виду з module import * з модуля з подібним записом підключаться тільки об'єкти з назвами зі списку __all__.

Тим не менш, у прикладі вище імпортувати функцію foo з такого модуля все ще можна, наприклад, за допомогою запису from module import foo.

#practice // Python 🇺🇦
Forwarded from Python 🇺🇦
Зміна форми масиву

Форма масиву – це кількість елементів у кожному вимірі. Змінюючи форму, ти можеш додавати чи видаляти виміри. Це робиться за допомогою функції reshape бібліотеки NumPy. У цьому прикладі одномірний масив з 12 елементами перетворюється на двомірний масив. Якщо ти спробуєш перетворити масив на форму, яка математично неможлива, виникне ValueError.

#practice // Python 🇺🇦
Forwarded from Python 🇺🇦
Створюємо пакети

Пакет у Python – це, грубо кажучи, папка з іншими папками та модулями. Крім розділення частин проекту, пакети потрібні для формування простору імен, щоб можна працювати з пакетами та модулями через точку, як у прикладі вище.

При імпорті типу from package import * будуть підключені або всі модулі та об'єкти модуля __init__.py, або те, що знаходиться в змінній all в тому ж модулі __init__.py - докладніше про цю змінну було в пості раніше.

Також примітний файл init.py, який раніше був обов'язковим для створення пакетів. З версії Python 3.3 його потреба зникла. Проте його функціональність на цьому не закінчуються.

#practice // Python 🇺🇦
Forwarded from Python 🇺🇦
math.fsum

Метод math.fsum() повертає суму всіх елементів у будь-якій ітерації. Ітерацією може бути кортеж, масив, список. Якщо об'єкт, що ітерується, не є числом, він повертає TypeError. Цей метод повертає суму всіх значень як значення з плаваючою комою.

#practice // Python 🇺🇦
Forwarded from Python 🇺🇦
Видалення файлів

Щоб видалити файл, ти маєш імпортувати модуль OS, а потім використовувати функцію os.remove(). Попередньо перевір, чи існує файл, перш ніж намагатися його видалити. Якщо ви бажаєте видалити всю папку, використовуй метод os.rmdir().

#practice // Python 🇺🇦
Forwarded from Python 🇺🇦
Створюємо віртуальне оточення

Віртуальне оточення — це ізольоване середовище, яке має свої локальні інтерпретатори та пакети, незалежні від глобального інтерпретатора та інших оточень.

У стандартній бібліотеці Python третьої версії є пакет venv, який дозволяє створювати віртуальні оточення зручно та швидко. Приклад представлений на зображенні.

Скрипт activate у директорії bin призначений для активації оточення, а команда deactivate у вже активованому оточенні – для виходу з нього.

У разі успішного створення та активації у вас у терміналі має з'явитися назва вашого віртуального оточення у круглих дужках.

#practice // Python 🇺🇦
Forwarded from Python 🇺🇦
set.difference

Метод difference() повертає набір, що містить різницю між двома наборами. Набір, що повертається, містить елементи, які існують тільки в першому наборі, а не в обох наборах. Можна також використовувати оператор ( – ).

#practice // Python 🇺🇦
Forwarded from Python 🇺🇦
set.intersection

Метод intersection() повертає набір, який містить схожість між двома чи більше наборами. Набір, що повертається, містить тільки елементи, які існують в обох наборах або у всіх наборах, якщо порівняння виконується більш ніж з двома наборами.

#practice // Python 🇺🇦
Forwarded from Python 🇺🇦
Статичні методи

Відмінність статичних методів від звичайних у тому, що вони прив'язані до класу, а не об'єкту. Тобто, вони можуть бути викликані безпосередньо у класу.

Статичний метод не приймає ні об'єкт (self), ні клас (cls) у аргументах. Тобто, такі методи не можуть модифікувати ні об'єкт, ні сам клас.

Реалізувати статичний метод можна двома способами. Один з них - присвоїти класу новий метод, безпосередньо передавши початковий метод у функцію staticmethod.

Але так робити не прийнято, тому найчастіше staticmethod використовують як декоратор при написанні методів прямо в класі.

#practice // Python 🇺🇦
Forwarded from Python 🇺🇦
statistics.stdev

Метод statistics.stdev() обчислює стандартне відхилення вибірки даних. Стандартне відхилення це міра того, наскільки розкидані числа. Велике стандартне відхилення свідчить про те, що дані розкидані. Невелике стандартне відхилення свідчить про те, що дані згруповані близько до середнього значення. Стандартне відхилення виявляється у тих самих одиницях, як і дані.

#practice // Python 🇺🇦
Forwarded from Python 🇺🇦
Друзі, ми створили чат для ком'юніті Python ентузіастів!

Зараз там пусто, але сподіваємося, що з часом нам з вами вдасться налагодити середовище, де кожен зможе задати питання й отримати на нього відповідь.

Якщо у когось є бажання й необхідний рівень знань, щоб стати модератором чату, пишіть нам сюди: @itchannelsbot

Давайте спілкуватися!
Forwarded from Python 🇺🇦
Отримуємо інформацію про пам'ять на диску

З вбудованим модулем shutil багато хто вже, ймовірно, знайомий, але його зазвичай використовують у контексті завдань копіювання, перенесення файлів і папок.

Але за допомогою shutil ми можемо навіть отримати інформацію про пам'ять на жорсткому диску комп'ютера. Метод disk_usage повертає кількість всієї, зайнятої та вільної пам'яті.

Так як всі три значення повертаються в байтах, у прикладі ми їх перевели та вивели у гігабайти для кращої наочності.

#practice // Python 🇺🇦
Forwarded from Python 🇺🇦
fnmatch

Метод fnmatch() перевіряє, чи ім'я файлу відповідає шаблонному рядку. Зверніть увагу, що цей метод нечутливий до регістру. Зазвичай fnmatch() робить порівняння, використовуючи ті самі правила обліку регістру, що і операційна система. Метод fnmatchcase() робить те саме, тільки він чутливий до регістру.

#practice // Python 🇺🇦
Forwarded from Python 🇺🇦
Itertools.groupby

Метод groupby() в itertools проходить через ітерацію і групує значення на основі певного ключа. Потім він повертає ітератор (потік кортежів). Важливим попереднім кроком є сортування даних по області, що цікавить. Оскільки groupby() перевіряє лише послідовні елементи, відсутність початкового сортування не призведе до угруповання записів так, як ти хочеш.

#practice // Python 🇺🇦
Forwarded from Python 🇺🇦
Поліноміальна регресія

Якщо твої точки даних не підходять для лінійної регресії, використовуй поліноміальну регресію. Поліноміальна регресія використовує взаємозв'язок між змінними x та y, щоб найкращим способом провести лінію через точки даних. Метод numpy.poly1d дає змогу створити поліноміальну модель.

#practice // Python 🇺🇦
Forwarded from Python 🇺🇦
KDTrees

KD-дерева — це структура даних, яка оптимізована для запитів найближчих сусідів. Наприклад, у наборі точок можна ефективно дізнатися, які точки є найближчими до певної заданої точки. Метод KDTree() повертає об'єкт KDTree. Метод query() повертає відстань до найближчого сусіда та розташування сусідів.

#practice // Python 🇺🇦