Forwarded from Python 🇺🇦
Прогрес виконання програми
Індикатори прогресу додають наочності у скриптах, які виконують якісь функції, що потребують часу для виконання. Модуль
Звичний
До речі, цікавий факт - назва
#practice // Python 🇺🇦
Індикатори прогресу додають наочності у скриптах, які виконують якісь функції, що потребують часу для виконання. Модуль
tqdm є простим та лаконічним варіантом.Звичний
range можна замінити trange для візуалізації прогресу. А для ітерації за якоюсь послідовністю, досить просто передати її у функцію tqdm. Також модуль добре себе зарекомендував і у Jupyter Notebook.До речі, цікавий факт - назва
tqdm походить від арабського слова "taqaddum" (تقدّم), яке означає "прогрес," а також це ще й скорочення від "я тебе сильно люблю" іспанською (te quiero demasiado).#practice // Python 🇺🇦
Forwarded from Python 🇺🇦
Гарні таблиці в терміналі
PrettyTable - це проста бібліотека, призначена для швидкого та легкого представлення табличних даних у вигляді ASCII. Модуль можна встановити в звичний спосіб через
Для створення таблиць та роботи з ними використовується клас
Більш того, модуль
#practice // Python 🇺🇦
PrettyTable - це проста бібліотека, призначена для швидкого та легкого представлення табличних даних у вигляді ASCII. Модуль можна встановити в звичний спосіб через
pip.Для створення таблиць та роботи з ними використовується клас
PrettyTable із цього модуля. Задати назву для стовпців можна за допомогою атрибута fields_name. Рядки до таблиці додаються шляхом виклику методу add_row.Більш того, модуль
prettytable дозволяє регулювати різні параметри, сортувати дані, працювати з html, а також взаємодіяти з csv і sql таблицями. Отже можливостей у цього модуля достатньо.#practice // Python 🇺🇦
Forwarded from Python 🇺🇦
Перевіряємо швидкість інтернету
Кожен хоч раз перевіряв швидкість свого інтернету на Speedtest. А у них, виявляється, є не лише сайт та додатки, а й пакет на Python для цієї справи.
У об'єкта класу
Методи віддають результат у байтах, тому для наочності у прикладі усі дані переведено в мегабайти при виведенні.
#practice // Python 🇺🇦
Кожен хоч раз перевіряв швидкість свого інтернету на Speedtest. А у них, виявляється, є не лише сайт та додатки, а й пакет на Python для цієї справи.
У об'єкта класу
Speedtest методи download() та upload() видають відповідно швидкість скачування та завантаження даних.Методи віддають результат у байтах, тому для наочності у прикладі усі дані переведено в мегабайти при виведенні.
#practice // Python 🇺🇦
Forwarded from Python 🇺🇦
Легкий веб-фреймворк
Незважаючи на свою мінімалістичність,
Після запуску подібного прикладу можете перейти в браузері за адресою
#practice // Python 🇺🇦
Bottle – це швидкий, простий та легкий мікро-веб-фреймворк WSGI для Python. Він розповсюджується як єдиний файловий модуль і не має жодних залежностей, крім стандартної бібліотеки Python.Незважаючи на свою мінімалістичність,
Bottle надає досить широкі можливості, яких на 100% вистачає для малих та середніх проектів. Ось список основних можливостей: routing, templates, POST-routing, обробка форм, cookies та сервер.Після запуску подібного прикладу можете перейти в браузері за адресою
localhost:5000/hello/world та подивитися на результат, отриманий з п'яти рядків коду.#practice // Python 🇺🇦
Forwarded from Python 🇺🇦
Сортування списків
У Python є два вбудовані способи для сортування списків – функція
Функція
Метод
#practice // Python 🇺🇦
У Python є два вбудовані способи для сортування списків – функція
sorted() та метод list.sort(). Результат в обох випадках однаковий, але все ж таки є нюанси.Функція
sorted() приймає на вхід аргумент у вигляді списку, а повертає вже новий, відсортований список. При цьому вихідний список не змінюється.Метод
sort(), в свою чергу, застосовується до списку, безпосередньо змінює його і нічого не повертає.#practice // Python 🇺🇦
Forwarded from Python 🇺🇦
Отримуємо календар
У модулі
Якщо рядки не влаштовують, то в модулі є багато методів для отримання різних ітераторів. А ще там можна навіть одержати календар у вигляді HTML.
До речі, модуль вбудований, окремо його встановлювати не потрібно.
#practice // Python 🇺🇦
У модулі
calendar є функція month(), яка поверне календар зазначеного місяця у вигляді рядка, як показано у прикладі. А функція calendar() видасть цілий рік.Якщо рядки не влаштовують, то в модулі є багато методів для отримання різних ітераторів. А ще там можна навіть одержати календар у вигляді HTML.
До речі, модуль вбудований, окремо його встановлювати не потрібно.
#practice // Python 🇺🇦
Forwarded from Python 🇺🇦
ООП: композиція
Композиція - це відношення, при якому об'єкти одного класу пов'язані з об'єктами іншого. Такий спосіб організації взаємодії між класами називається асоціацією.
Зазвичай, у такому випадку об'єкт одного з класів (у прикладі вище це
Асоційовані об'єкти часто можуть циклічно посилатися один на одного, що ламає стандартний механізм збирання сміття.
У такому випадку необхідно використовувати слабкі посилання з модуля
#practice // Python 🇺🇦
Композиція - це відношення, при якому об'єкти одного класу пов'язані з об'єктами іншого. Такий спосіб організації взаємодії між класами називається асоціацією.
Зазвичай, у такому випадку об'єкт одного з класів (у прикладі вище це
Salary) є полем іншого (Employee). Складного тут, як бачите, нічого немає.Асоційовані об'єкти часто можуть циклічно посилатися один на одного, що ламає стандартний механізм збирання сміття.
У такому випадку необхідно використовувати слабкі посилання з модуля
weakref, про який поговоримо пізніше.#practice // Python 🇺🇦
Forwarded from Python 🇺🇦
Обробка винятків
Винятки - це тип даних, який потрібен для того, щоб повідомляти нам про помилки.
Існує базовий виняток
У блоці
Варто врахувати, що ми можемо робити безліч вкладених блоків.
Грамотним способом є виловлювати лише ті винятки, на які ми очікуємо.
#practice // Python 🇺🇦
Винятки - це тип даних, який потрібен для того, щоб повідомляти нам про помилки.
Існує базовий виняток
BaseException від якого успадковуються всі інші винятки.У блоці
try ми виконуємо інструкцію, яка може спричинити виняток, а в блоці except ми ловимо помилки і робимо свої операції.Варто врахувати, що ми можемо робити безліч вкладених блоків.
Грамотним способом є виловлювати лише ті винятки, на які ми очікуємо.
#practice // Python 🇺🇦