My Python
2 subscribers
136 photos
3 videos
1 file
144 links
Download Telegram
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 🇺🇦
Forwarded from Python 🇺🇦
Очищення елементів у послідовності

Вбудований модуль itertools був створений для роботи з більш складними випадками ітераторів. Плюс модуля в тому, що він швидко працює та оптимізований у плані пам'яті.

Іноді виникає необхідність видалення непотрібних об'єктів послідовності. Якраз для цього й використовують itertools, а саме метод compress.

Першим аргументом передається якийсь контейнер, наприклад список. Другим аргументом — логічні значення, що відповідають елементам у послідовності.

Якщо логічне значення дорівнює True або 1, то елемент зберігається у послідовності, в іншому випадку — видаляється з неї.

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

Друзі, нагадуємо, що ми нещодавно створили чат для Python ентузіастів, де ми спілкуємося, задаємо питання та отримуємо на них відповіді.

Зараз активно займаємося його розвитком, а обов'язковою частиною здорового чату є наявність цікавих ботів.

Один з модераторів чату вчора добавив бота, котрий перетворює повідомлення учасників у цитати. Дайте відповідь на чиєсь повідомлення командою q або ц — згенерується цитата.

Якщо у вас є ідеї щодо корисних чи просто цікавих ботів, пропонуйте свої ідеї в чаті з хештегом #гобота.

Якщо ж ви самі розробили свого бота, вважаєте що він буде корисним й хочете його додати в чат, пишіть з описом свого бота сюди: @itchannelsbot
Forwarded from Python 🇺🇦
Стовпчасті діаграми: ширина/висота

Bar() приймає ключове слово width, щоб встановити ширину стовпчастих діаграм. За замовчуванням це значення дорівнює 0.8. barh() використовує height, щоб встановити висоту стовпців. Значення за промовчанням також 0.8.

#practice // Python 🇺🇦
Forwarded from Python 🇺🇦
SciPy: Dijkstra

Використовуйте метод dijkstra, щоб знайти найкоротший шлях у графі від одного елемента до іншого. Аргумент return predecessors набуває логічного значення True, щоб повернути весь шлях обходу, інакше — False. indexes – індекс елемента для повернення всіх шляхів тільки з цього елемента. limit – максимальна вага шляху.

#practice // Python 🇺🇦