Forwarded from Python 🇺🇦
Обробка винятків
Винятки - це тип даних, який потрібен для того, щоб повідомляти нам про помилки.
Існує базовий виняток
У блоці
Варто врахувати, що ми можемо робити безліч вкладених блоків.
Грамотним способом є виловлювати лише ті винятки, на які ми очікуємо.
#practice // Python 🇺🇦
Винятки - це тип даних, який потрібен для того, щоб повідомляти нам про помилки.
Існує базовий виняток
BaseException від якого успадковуються всі інші винятки.У блоці
try ми виконуємо інструкцію, яка може спричинити виняток, а в блоці except ми ловимо помилки і робимо свої операції.Варто врахувати, що ми можемо робити безліч вкладених блоків.
Грамотним способом є виловлювати лише ті винятки, на які ми очікуємо.
#practice // Python 🇺🇦
Forwarded from Python RU
Основа любого приложения — данные. Если вы создаете социальную сеть, то данными являются пользователи и их друзья. При разработке игры в качестве данных выступают графика и пользовательские операции. А в случае с интернет-магазином данными становятся информация о товаре и клиенте. И это лишь несколько примеров из повседневной жизни.
В необработанном виде данные не имеют особого значения. Прежде чем их представить, необходимо определить специальные операции для их обработки. Как правило, такие операции принимают форму функции, некого блока кода, который принимает входные данные, выполняет операции и на выходе выдает результат. Можно сказать, что функции — это главная движущая сила любого проекта.
В статье мы рассмотрим 3 полезных приема, которые пригодятся Python-программистам при написании функций.
Обратите внимание, что данный материал не содержит общепринятые лучшие практики определения функций, такие как продуманные имена, конкретно предусмотренные цели (а не смешанные задачи) и грамотные строки документации docstrings. Статья рассматривает вопрос с более технической точки зрения.
Прервем потоки слов и приступим сразу к делу!
➡️ Читать дальше
@pro_python_code
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from Python RU
Мы рассмотрим методы и фрагменты кода для документации Python, кодирования, тестирования, проверки и непрерывной интеграции.
Есть примеры кода Python до и после, в которых применяется каждый метод.
@pro_python_code
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from Python RU
Поделитесь своим Python Notebook в качестве веб-приложения
Mercury — это идеальный инструмент для преобразования Python Notebook в интерактивное веб-приложение и совместного использования с непрограммистами. Благодаря ему даже простые пользователи смогут взаимодействовать с данными, используя привычный и понятный интерфейс.
pip install mljar-mercury📄 Документация
@pro_python_code
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from Python 🇺🇦
Точка входу
У деяких мовах програмування є функції
Як варіант, багато хто пишуть основну логіку програми в звичайну функцію
Змінна
Таким чином, програма коректно запрацює тільки якщо запустити її напряму. Якщо імпортувати її як модуль до іншого скрипту, то умова не спрацює.
#practice // Python 🇺🇦
У деяких мовах програмування є функції
main(), з яких починається виконання програми. Але в Python весь код виконується рядково.Як варіант, багато хто пишуть основну логіку програми в звичайну функцію
main(), а викликають її лише за умови if __name__ == '__main__'. Тут варто пояснити окремо про те, що таке __name__.Змінна
__name__ — це спеціальна змінна, яка дорівнює '__main__', тільки якщо файл запускається як основна програма. А при імпорті у якості модуля виставляється рівною імені модуля.Таким чином, програма коректно запрацює тільки якщо запустити її напряму. Якщо імпортувати її як модуль до іншого скрипту, то умова не спрацює.
#practice // Python 🇺🇦
Forwarded from Python 🇺🇦
Використання комплексних чисел у Python
Нікого вже не здивувати такими вбудованими типами, як наприклад
У Python комплексні числа представлені у вигляді
Комплексне число легко можна перетворити на рядок за допомогою функції
Хоча
#practice // Python 🇺🇦
Нікого вже не здивувати такими вбудованими типами, як наприклад
int, float, та подібними. Але крім них у Python існує ще один досить цікавий тип, а саме complex.У Python комплексні числа представлені у вигляді
x + iy. А точніше кажучи, замість літери i тут використовується буква j, щоб уникнути деякої плутанини, оскільки i найчастіше зайнята під цикли. Python перетворює реальні числа x і y (будь то int або float) на комплексні за допомогою функції complex(x,y).Комплексне число легко можна перетворити на рядок за допомогою функції
str або порахувати його модуль за допомогою функції abs, а також для доступу до його реальної або уявної частин можна скористатися методами real і imag.Хоча
complex є вбудованим типом, для більш зручної роботи з комплексними операціями рекомендується імпортувати модуль cmath.#practice // Python 🇺🇦
Forwarded from Python RU
Мы рассмотрим методы и фрагменты кода для документации Python, кодирования, тестирования, проверки и непрерывной интеграции.
Есть примеры кода Python до и после, в которых применяется каждый метод.
@pro_python_code
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from Python RU
Как известно, мы используем функции для автоматизации процессов в программном обеспечении.
Lambda-функции на самом деле просто известны как анонимные функции. Таким образом, принимая любое количество аргументов, мы получаем в результате выражение.
По сути, lambda-функция, которая принимает параметр x и возвращает его, выглядит так:
func = lambda x : xОбратите внимание, как мы используем здесь ключевое слово lambda. И это по сути та же самая ситуация, когда функция, определенная в python, просто возвращает себя:
def func(x):
return xА теперь давайте приведем еще один пример того, какие другие варианты использования lambda могут быть в одной и той же строке в быстрой последовательности:
print((lambda x: x + 10)(90))
output:
100@pro_python_code
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from Python 🇺🇦
Колекція slots
Python використовує
👀 Відео, котре допоможе розібратися із
#practice // Python 🇺🇦
Python використовує
dict для зберігання атрибутів екземпляра об'єкта. Це корисно, коли в тебе є довільна кількість атрибутів. У невеликих класах це вже проблема – dict витрачає багато оперативної пам'яті. Python не може просто так виділити статичний обсяг пам'яті для зберігання всіх атрибутів. Для цього потрібно використати slots. Ти відразу вказуєш на всі очікувані атрибути. Таким чином, можна знизити використання оперативної пам'яті майже на 40-50 відсотків. 👀 Відео, котре допоможе розібратися із
slots.#practice // Python 🇺🇦
Forwarded from Python 🇺🇦
Decimal та Fraction
Через те, що дробові числа з плаваючою точкою зберігаються в двійковому вигляді, ми зазвичай працюємо з приблизними значеннями, як у першому варіанті на скрині.
Для отримання більш точних результатів можна використовувати клас
У такому разі, для ідеальних обчислень краще використовувати клас
#practice // Python 🇺🇦
Через те, що дробові числа з плаваючою точкою зберігаються в двійковому вигляді, ми зазвичай працюємо з приблизними значеннями, як у першому варіанті на скрині.
Для отримання більш точних результатів можна використовувати клас
Decimal, але і його може не вистачити в деяких випадках.У такому разі, для ідеальних обчислень краще використовувати клас
Fraction, бо він працює з числами у вигляді раціональних дробів.#practice // Python 🇺🇦
Forwarded from Python 🇺🇦
Параметри *args та **kwargs
Усі хоч раз бачили такий запис, і зараз ми дізнаємося, що то за символи. Одразу скажу, що
У прикладі функція приймає обов'язковий аргумент
Конструкція з
#practice // Python 🇺🇦
Усі хоч раз бачили такий запис, і зараз ми дізнаємося, що то за символи. Одразу скажу, що
args і kwargs — загальноприйняті імена змінних, а розбирати ми будемо зірочки перед ними.У прикладі функція приймає обов'язковий аргумент
value, а інших аргументів вона ніби то не чекає. У такому разі *args пакує всі не іменовані аргументи в кортеж, а **kwargs – усі іменовані у словник.Конструкція з
*args, **kwargs виходить досить корисною, якщо ми не знаємо, хто і в яких цілях буде використовувати нашу функцію. Тобто, ми можемо запхати в аргументи практично будь-що.#practice // Python 🇺🇦
Forwarded from Python 🇺🇦
Знаходимо схожі рядки
У стандартній бібліотеці Python існує модуль
Цей метод шукає "найкращі" можливі збіги. Перший аргумент задає рядок, другий - список, в якому виконується пошук.
Також у метод можна передати необов'язковий аргумент
#practice // Python 🇺🇦
У стандартній бібліотеці Python існує модуль
difflib, який має метод get_close_matches. Цей метод шукає "найкращі" можливі збіги. Перший аргумент задає рядок, другий - список, в якому виконується пошук.
Також у метод можна передати необов'язковий аргумент
n, який задає максимальну кількість збігів, що повертаються.#practice // Python 🇺🇦
Forwarded from Python 🇺🇦
Створюємо безкінечний ітератор
Функція
Фішка полягає в тому, що коли елементи послідовності закінчуються, ітерація починається знову з першого елемента.
Але якщо ви проходите циклом по такому ітератору, то важливо передбачити вихід з циклу, інакше він стане нескінченним (як у нас в першому випадку на картинці).
Ми також можемо скористатися
#practice // Python 🇺🇦
Функція
cycle() з itertools приймає на вхід об'єкт, що ітерується, і створює нескінченний ітератор, що циклічно повертає елементи даного об'єкта.Фішка полягає в тому, що коли елементи послідовності закінчуються, ітерація починається знову з першого елемента.
Але якщо ви проходите циклом по такому ітератору, то важливо передбачити вихід з циклу, інакше він стане нескінченним (як у нас в першому випадку на картинці).
Ми також можемо скористатися
islice(), який поверне ітератор по підмножині переданого об'єкта.#practice // Python 🇺🇦
Forwarded from Python 🇺🇦
Виводимо вкладені словники та списки
При виведенні вкладених словників та списків за допомогою звичайного
Але у стандартній бібліотеці є модуль
З цікавих аргументів є
#practice // Python 🇺🇦
При виведенні вкладених словників та списків за допомогою звичайного
print() ми отримуємо все в один рядок та у нерозбірливому вигляді.Але у стандартній бібліотеці є модуль
pprint, котрий допоможе вивести подібну справу у гарному форматі – достатньо в коді замінити print() на pprint.pprint().З цікавих аргументів є
depth, що відповідає за глибину вкладеності при виведенні, а також width, який відповідає за ширину виведення в консолі.#practice // Python 🇺🇦
Forwarded from Python 🇺🇦
Генерація капчі
Сьогодні покажемо створення найпростішої капчі. Для цього нам знадобиться модуль
Все максимально просто, за нас по суті все робить написаний у модулі код. Створюємо об'єкт зображення
#practice // Python 🇺🇦
Сьогодні покажемо створення найпростішої капчі. Для цього нам знадобиться модуль
captcha та Pillow, який використовується для створення зображень у captcha.Все максимально просто, за нас по суті все робить написаний у модулі код. Створюємо об'єкт зображення
ImageCaptcha, на який буде нанесений текст. Після чого викликаємо метод write із заданим текстом та ім'ям файлу, в який буде записано зображення.#practice // Python 🇺🇦
Forwarded from Python 🇺🇦
isdisjoint
Метод
#practice // Python 🇺🇦
Метод
isdisjoint() повертає True, якщо жоден із елементів не присутній в обох наборах. Інакше він повертає False. Ви можете використовувати список, кортеж, словник або рядок. У цьому випадку isdisjoint() спочатку перетворює ітерації у набори, а потім перевіряє, чи не перетинаються вони.#practice // Python 🇺🇦
Forwarded from Python 🇺🇦
Отримуємо вихідний код об'єкта
Вбудований модуль
На разі поговоримо лише про
До аргументів достатньо передати необхідний об'єкт. Але важливо відзначити, що вбудовані функції не вдасться проінспектувати.
#practice // Python 🇺🇦
Вбудований модуль
inspect допомагає розробникам досліджувати вже написані програми.На разі поговоримо лише про
getsource(), який повертає весь вихідний код функції, класу чи модуля у вигляді рядка.До аргументів достатньо передати необхідний об'єкт. Але важливо відзначити, що вбудовані функції не вдасться проінспектувати.
#practice // Python 🇺🇦
Forwarded from Микита Лук'яниця
Ну для имён есть faker, речки думаю надо апи искать хз