My Python
2 subscribers
136 photos
3 videos
1 file
144 links
Download Telegram
Forwarded from Python 🇺🇦
Прогрес виконання програми

Індикатори прогресу додають наочності у скриптах, які виконують якісь функції, що потребують часу для виконання. Модуль tqdm є простим та лаконічним варіантом.

Звичний range можна замінити trange для візуалізації прогресу. А для ітерації за якоюсь послідовністю, досить просто передати її у функцію tqdm. Також модуль добре себе зарекомендував і у Jupyter Notebook.

До речі, цікавий факт - назва tqdm походить від арабського слова "taqaddum" (تقدّم), яке означає "прогрес," а також це ще й скорочення від "я тебе сильно люблю" іспанською (te quiero demasiado).

#practice // Python 🇺🇦
Forwarded from Python 🇺🇦
Гарні таблиці в терміналі

PrettyTable - це проста бібліотека, призначена для швидкого та легкого представлення табличних даних у вигляді ASCII. Модуль можна встановити в звичний спосіб через pip.

Для створення таблиць та роботи з ними використовується клас PrettyTable із цього модуля. Задати назву для стовпців можна за допомогою атрибута fields_name. Рядки до таблиці додаються шляхом виклику методу add_row.

Більш того, модуль prettytable дозволяє регулювати різні параметри, сортувати дані, працювати з html, а також взаємодіяти з csv і sql таблицями. Отже можливостей у цього модуля достатньо.

#practice // Python 🇺🇦
Forwarded from Python 🇺🇦
Перевіряємо швидкість інтернету

Кожен хоч раз перевіряв швидкість свого інтернету на Speedtest. А у них, виявляється, є не лише сайт та додатки, а й пакет на Python для цієї справи.

У об'єкта класу Speedtest методи download() та upload() видають відповідно швидкість скачування та завантаження даних.

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

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

Метод splitlines() розбиває рядок на список. Розбиття виконується на розривах рядків. За бажанням можна вказати, чи слід включати розриви рядків (True) чи ні (False). Значення за замовчуванням – False.

#practice // Python 🇺🇦
Forwarded from Python 🇺🇦
Легкий веб-фреймворк

Bottle – це швидкий, простий та легкий мікро-веб-фреймворк WSGI для Python. Він розповсюджується як єдиний файловий модуль і не має жодних залежностей, крім стандартної бібліотеки Python.

Незважаючи на свою мінімалістичність, Bottle надає досить широкі можливості, яких на 100% вистачає для малих та середніх проектів. Ось список основних можливостей: routing, templates, POST-routing, обробка форм, cookies та сервер.

Після запуску подібного прикладу можете перейти в браузері за адресою localhost:5000/hello/world та подивитися на результат, отриманий з п'яти рядків коду.

#practice // Python 🇺🇦
Forwarded from Python 🇺🇦
NumPy: Пошук у масиві

Ти можеш здійснювати пошук у масиві для певного значення та повертати індекси, які набувають збігу. Для пошуку в масиві використовуй метод where(). У цьому прикладі йде пошук індексів, де значення дорівнює 4.

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

У Python є два вбудовані способи для сортування списків – функція sorted() та метод list.sort(). Результат в обох випадках однаковий, але все ж таки є нюанси.

Функція sorted() приймає на вхід аргумент у вигляді списку, а повертає вже новий, відсортований список. При цьому вихідний список не змінюється.

Метод sort(), в свою чергу, застосовується до списку, безпосередньо змінює його і нічого не повертає.

#practice // Python 🇺🇦
Forwarded from Python 🇺🇦
Отримуємо календар

У модулі calendar є функція month(), яка поверне календар зазначеного місяця у вигляді рядка, як показано у прикладі. А функція calendar() видасть цілий рік.

Якщо рядки не влаштовують, то в модулі є багато методів для отримання різних ітераторів. А ще там можна навіть одержати календар у вигляді HTML.

До речі, модуль вбудований, окремо його встановлювати не потрібно.

#practice // Python 🇺🇦
Forwarded from Python 🇺🇦
ООП: композиція

Композиція - це відношення, при якому об'єкти одного класу пов'язані з об'єктами іншого. Такий спосіб організації взаємодії між класами називається асоціацією.

Зазвичай, у такому випадку об'єкт одного з класів (у прикладі вище це Salary) є полем іншого (Employee). Складного тут, як бачите, нічого немає.

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

У такому випадку необхідно використовувати слабкі посилання з модуля weakref, про який поговоримо пізніше.

#practice // Python 🇺🇦
Forwarded from Python 🇺🇦
Обробка винятків

Винятки - це тип даних, який потрібен для того, щоб повідомляти нам про помилки.

Існує базовий виняток BaseException від якого успадковуються всі інші винятки.

У блоці try ми виконуємо інструкцію, яка може спричинити виняток, а в блоці except ми ловимо помилки і робимо свої операції.

Варто врахувати, що ми можемо робити безліч вкладених блоків.

Грамотним способом є виловлювати лише ті винятки, на які ми очікуємо.

#practice // Python 🇺🇦