Forwarded from Python 🇺🇦
Модуль bisect
Модуль bisect забезпечує підтримку вставки значень у відсортований список без необхідності сортувати цей список після кожної вставки. Для довгих списків елементів із дорогими операціями порівняння це може бути покращенням порівняно з більш поширеним підходом.
Модуль називається "bisect", тому що він використовує базовий алгоритм розподілу навпіл для виконання своєї роботи. Вихідний код може бути найбільш корисним як робочий приклад алгоритму.
#practice // Python 🇺🇦
Модуль bisect забезпечує підтримку вставки значень у відсортований список без необхідності сортувати цей список після кожної вставки. Для довгих списків елементів із дорогими операціями порівняння це може бути покращенням порівняно з більш поширеним підходом.
Модуль називається "bisect", тому що він використовує базовий алгоритм розподілу навпіл для виконання своєї роботи. Вихідний код може бути найбільш корисним як робочий приклад алгоритму.
#practice // Python 🇺🇦
Forwarded from Python 🇺🇦
Чат-бот: що це, навіщо воно треба і як його створити
Ви просили зачепити тему про ботів, у цій статті поговоримо трішки про існуючі конструктори для створення таких ботів. У подальшому розберемо їх написання з ноля.
#lessons // Python 🇺🇦
Ви просили зачепити тему про ботів, у цій статті поговоримо трішки про існуючі конструктори для створення таких ботів. У подальшому розберемо їх написання з ноля.
#lessons // Python 🇺🇦
Forwarded from Python 🇺🇦
База даних на мінімалках
Вбудований модуль
Доступ до даних здійснюється за допомогою ключів, як і у випадку зі словниками. А метод
У документації заявляють, що така база даних є "надійною". Але враховуючи, що
#practice // Python 🇺🇦
Вбудований модуль
shelve дозволяє зберігати та читати довільні дані. Таким чином можна зберігати будь-які Python об'єкти для подальшого використання.Доступ до даних здійснюється за допомогою ключів, як і у випадку зі словниками. А метод
shelve.open підтримує протокол контекстного менеджера, тобто можна викликати метод close.У документації заявляють, що така база даних є "надійною". Але враховуючи, що
shelve написаний на pickle, його варто використовувати лише у зовсім маленьких проектах.#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 🇺🇦
Форма масиву – це кількість елементів у кожному вимірі. Змінюючи форму, ти можеш додавати чи видаляти виміри. Це робиться за допомогою функції reshape бібліотеки NumPy. У цьому прикладі одномірний масив з 12 елементами перетворюється на двомірний масив. Якщо ти спробуєш перетворити масив на форму, яка математично неможлива, виникне ValueError.
#practice // Python 🇺🇦
Forwarded from Python 🇺🇦
Створюємо пакети
Пакет у Python – це, грубо кажучи, папка з іншими папками та модулями. Крім розділення частин проекту, пакети потрібні для формування простору імен, щоб можна працювати з пакетами та модулями через точку, як у прикладі вище.
При імпорті типу
Також примітний файл
#practice // Python 🇺🇦
Пакет у Python – це, грубо кажучи, папка з іншими папками та модулями. Крім розділення частин проекту, пакети потрібні для формування простору імен, щоб можна працювати з пакетами та модулями через точку, як у прикладі вище.
При імпорті типу
from package import * будуть підключені або всі модулі та об'єкти модуля __init__.py, або те, що знаходиться в змінній all в тому ж модулі __init__.py - докладніше про цю змінну було в пості раніше.Також примітний файл
init.py, який раніше був обов'язковим для створення пакетів. З версії Python 3.3 його потреба зникла. Проте його функціональність на цьому не закінчуються.#practice // Python 🇺🇦
Forwarded from Python 🇺🇦
Forwarded from Python 🇺🇦
Створюємо віртуальне оточення
Віртуальне оточення — це ізольоване середовище, яке має свої локальні інтерпретатори та пакети, незалежні від глобального інтерпретатора та інших оточень.
У стандартній бібліотеці Python третьої версії є пакет venv, який дозволяє створювати віртуальні оточення зручно та швидко. Приклад представлений на зображенні.
Скрипт activate у директорії bin призначений для активації оточення, а команда deactivate у вже активованому оточенні – для виходу з нього.
У разі успішного створення та активації у вас у терміналі має з'явитися назва вашого віртуального оточення у круглих дужках.
#practice // Python 🇺🇦
Віртуальне оточення — це ізольоване середовище, яке має свої локальні інтерпретатори та пакети, незалежні від глобального інтерпретатора та інших оточень.
У стандартній бібліотеці Python третьої версії є пакет venv, який дозволяє створювати віртуальні оточення зручно та швидко. Приклад представлений на зображенні.
Скрипт activate у директорії bin призначений для активації оточення, а команда deactivate у вже активованому оточенні – для виходу з нього.
У разі успішного створення та активації у вас у терміналі має з'явитися назва вашого віртуального оточення у круглих дужках.
#practice // Python 🇺🇦
Forwarded from Python 🇺🇦
Forwarded from Python 🇺🇦
Статичні методи
Відмінність статичних методів від звичайних у тому, що вони прив'язані до класу, а не об'єкту. Тобто, вони можуть бути викликані безпосередньо у класу.
Статичний метод не приймає ні об'єкт (self), ні клас (cls) у аргументах. Тобто, такі методи не можуть модифікувати ні об'єкт, ні сам клас.
Реалізувати статичний метод можна двома способами. Один з них - присвоїти класу новий метод, безпосередньо передавши початковий метод у функцію staticmethod.
Але так робити не прийнято, тому найчастіше staticmethod використовують як декоратор при написанні методів прямо в класі.
#practice // Python 🇺🇦
Відмінність статичних методів від звичайних у тому, що вони прив'язані до класу, а не об'єкту. Тобто, вони можуть бути викликані безпосередньо у класу.
Статичний метод не приймає ні об'єкт (self), ні клас (cls) у аргументах. Тобто, такі методи не можуть модифікувати ні об'єкт, ні сам клас.
Реалізувати статичний метод можна двома способами. Один з них - присвоїти класу новий метод, безпосередньо передавши початковий метод у функцію staticmethod.
Але так робити не прийнято, тому найчастіше staticmethod використовують як декоратор при написанні методів прямо в класі.
#practice // Python 🇺🇦
Forwarded from Python 🇺🇦
statistics.stdev
Метод
#practice // Python 🇺🇦
Метод
statistics.stdev() обчислює стандартне відхилення вибірки даних. Стандартне відхилення це міра того, наскільки розкидані числа. Велике стандартне відхилення свідчить про те, що дані розкидані. Невелике стандартне відхилення свідчить про те, що дані згруповані близько до середнього значення. Стандартне відхилення виявляється у тих самих одиницях, як і дані.#practice // Python 🇺🇦
Forwarded from Python 🇺🇦
Друзі, ми створили чат для ком'юніті Python ентузіастів!
Зараз там пусто, але сподіваємося, що з часом нам з вами вдасться налагодити середовище, де кожен зможе задати питання й отримати на нього відповідь.
Якщо у когось є бажання й необхідний рівень знань, щоб стати модератором чату, пишіть нам сюди: @itchannelsbot
Давайте спілкуватися!
Зараз там пусто, але сподіваємося, що з часом нам з вами вдасться налагодити середовище, де кожен зможе задати питання й отримати на нього відповідь.
Якщо у когось є бажання й необхідний рівень знань, щоб стати модератором чату, пишіть нам сюди: @itchannelsbot
Давайте спілкуватися!
Forwarded from Python 🇺🇦
Отримуємо інформацію про пам'ять на диску
З вбудованим модулем
Але за допомогою
Так як всі три значення повертаються в байтах, у прикладі ми їх перевели та вивели у гігабайти для кращої наочності.
#practice // Python 🇺🇦
З вбудованим модулем
shutil багато хто вже, ймовірно, знайомий, але його зазвичай використовують у контексті завдань копіювання, перенесення файлів і папок.Але за допомогою
shutil ми можемо навіть отримати інформацію про пам'ять на жорсткому диску комп'ютера. Метод disk_usage повертає кількість всієї, зайнятої та вільної пам'яті.Так як всі три значення повертаються в байтах, у прикладі ми їх перевели та вивели у гігабайти для кращої наочності.
#practice // Python 🇺🇦
Forwarded from Python 🇺🇦
fnmatch
Метод
#practice // Python 🇺🇦
Метод
fnmatch() перевіряє, чи ім'я файлу відповідає шаблонному рядку. Зверніть увагу, що цей метод нечутливий до регістру. Зазвичай fnmatch() робить порівняння, використовуючи ті самі правила обліку регістру, що і операційна система. Метод fnmatchcase() робить те саме, тільки він чутливий до регістру.#practice // Python 🇺🇦
Forwarded from Python 🇺🇦
Itertools.groupby
Метод
#practice // Python 🇺🇦
Метод
groupby() в itertools проходить через ітерацію і групує значення на основі певного ключа. Потім він повертає ітератор (потік кортежів). Важливим попереднім кроком є сортування даних по області, що цікавить. Оскільки groupby() перевіряє лише послідовні елементи, відсутність початкового сортування не призведе до угруповання записів так, як ти хочеш.#practice // Python 🇺🇦
Forwarded from Python 🇺🇦
Поліноміальна регресія
Якщо твої точки даних не підходять для лінійної регресії, використовуй поліноміальну регресію. Поліноміальна регресія використовує взаємозв'язок між змінними x та y, щоб найкращим способом провести лінію через точки даних. Метод
#practice // Python 🇺🇦
Якщо твої точки даних не підходять для лінійної регресії, використовуй поліноміальну регресію. Поліноміальна регресія використовує взаємозв'язок між змінними x та y, щоб найкращим способом провести лінію через точки даних. Метод
numpy.poly1d дає змогу створити поліноміальну модель.#practice // Python 🇺🇦
Forwarded from Python 🇺🇦
KDTrees
KD-дерева — це структура даних, яка оптимізована для запитів найближчих сусідів. Наприклад, у наборі точок можна ефективно дізнатися, які точки є найближчими до певної заданої точки. Метод
#practice // Python 🇺🇦
KD-дерева — це структура даних, яка оптимізована для запитів найближчих сусідів. Наприклад, у наборі точок можна ефективно дізнатися, які точки є найближчими до певної заданої точки. Метод
KDTree() повертає об'єкт KDTree. Метод query() повертає відстань до найближчого сусіда та розташування сусідів.#practice // Python 🇺🇦