Оператор with
Был придуман, чтобы заменить огромные try/except/finally при работе с файлами/соединениями на более простую конструкцию.
Он самостоятельно выполняет обязательные функции по завершению работы с классом после выполнения всех действий. Об этом в PEP 343.
Оператор использует
#теория
Был придуман, чтобы заменить огромные try/except/finally при работе с файлами/соединениями на более простую конструкцию.
Он самостоятельно выполняет обязательные функции по завершению работы с классом после выполнения всех действий. Об этом в PEP 343.
Оператор использует
__enter__
в самом начале, например, для открытия файла. После выполнения всех операций (или если возникла ошибка), используется __exit__
.#теория
👍22❤3😁1
try/except
Эта конструкция используется для «ловли» ошибок и их обработки. Например, если пользователь неправильно ввёл число, попросить его сделать это заново.
#объяснение
Эта конструкция используется для «ловли» ошибок и их обработки. Например, если пользователь неправильно ввёл число, попросить его сделать это заново.
try
— здесь хранится код, который может выдать ошибку.except Exception
— если появилась ошибка, будет выполняться код из этого блока.else
— ошибок не было? Отлично, значит после try выполняем этот блок.finally
— выполняется всегда. Выдало ошибку, не выдало ошибку, функция использовала return — не имеет значение.#объяснение
👍20🤡1
Разница между is и ==
Каждый объект хранится в памяти и имеет свой номер, по которому можно его найти. Этот номер можно получить с помощью функции
is занимается сравниванием этих самых адресов. В то время как == вызывает функцию
Представьте куб, а потом ещё один такой же. Они одинаковые, но это два абсолютно разных объекта. Также и в программировании.
#объяснение
Каждый объект хранится в памяти и имеет свой номер, по которому можно его найти. Этот номер можно получить с помощью функции
id()
.is занимается сравниванием этих самых адресов. В то время как == вызывает функцию
__eq__
и предназначения для сравнения значений класса.Представьте куб, а потом ещё один такой же. Они одинаковые, но это два абсолютно разных объекта. Также и в программировании.
#объяснение
👍53❤2🤯2
📓 Практическое введение в решение дифференциальных уравнений в Python.
• Книга посвящена вопросам практического применения символьных вычислений для решения дифференциальных уравнений и их систем с использованием библиотеки символьных вычислений SymPy языка программирования Python. В каждой главе книги рассматривается какая-либо одна прикладная модель из области физики, химии, биологии и т. д.
• После теоретического вывода возникающих в модели дифференциальных уравнений максимально детально описывается процесс формализации модели и решения соответствующих дифференциальных уравнений с использованием библиотеки SymPy. Особое внимание при этом уделяется анализу и визуализации найденных решений с помощью библиотеки Matplotlib. Изложение материала сопровождается большим числом иллюстраций и упражнений.
• Издание ориентировано на школьников старших классов, студентов, преподавателей и всех интересующихся проблемами математического моделирования.
🟢 Читать/скачать книгу
#RU
• Книга посвящена вопросам практического применения символьных вычислений для решения дифференциальных уравнений и их систем с использованием библиотеки символьных вычислений SymPy языка программирования Python. В каждой главе книги рассматривается какая-либо одна прикладная модель из области физики, химии, биологии и т. д.
• После теоретического вывода возникающих в модели дифференциальных уравнений максимально детально описывается процесс формализации модели и решения соответствующих дифференциальных уравнений с использованием библиотеки SymPy. Особое внимание при этом уделяется анализу и визуализации найденных решений с помощью библиотеки Matplotlib. Изложение материала сопровождается большим числом иллюстраций и упражнений.
• Издание ориентировано на школьников старших классов, студентов, преподавателей и всех интересующихся проблемами математического моделирования.
🟢 Читать/скачать книгу
#RU
👍3💩2
__getattribute__
и __getattr__
Это особые методы, которые вызываются при попытке получить какой-либо атрибут класса. Например, foo.var вызовет __getattribute__
, а после, возможно __getattr__
.Отличие между методами только в том, что
__getattribute__
используется всегда, а __getattr__
только если атрибут не найден.#объяснение
👍33
📌 Это спасёт вас от кучи багов
Просто знайте, что
Если вам нужно, чтобы 2.5 округлялось до трёх, то посмотрите в сторону decimal с настройкой
#урок
Просто знайте, что
round(x)
округляет x до ближайшего чётного числа, а не так, как мы привыкли (3.5 => 4
; 2.5 => 3
).Если вам нужно, чтобы 2.5 округлялось до трёх, то посмотрите в сторону decimal с настройкой
ctx.rounding = ROUND_HALF_UP
📕 Документация#урок
👍15🔥4🤯3❤1
Я утка
В языках без явного указания типа (Python, JS) есть такое понятие как утиная типизация. Описывается так: «Если оно выглядит как утка и крякает как утка, то, наверное, это утка».
Утиный стиль программирования смотрит не на тип объекта, а на его атрибуты. Например, наличие iter() означает, что объект итерируемый.
#теория
В языках без явного указания типа (Python, JS) есть такое понятие как утиная типизация. Описывается так: «Если оно выглядит как утка и крякает как утка, то, наверное, это утка».
Утиный стиль программирования смотрит не на тип объекта, а на его атрибуты. Например, наличие iter() означает, что объект итерируемый.
#теория
👍32😁15
Булевые операции
#объяснение
x or y
— если x правда (True), возвращает x, иначе y.x and y
— если x правда (True), возвращает y, иначе x.#объяснение
👍35
Django-приложение для ведения личного дневника
В этом руководстве мы разработаем и создадим личный дневник, в котором пользователи смогут:
▪️добавлять новые записи;
▪️просматривать их;
▪️редактировать и удалять конкретные записи.
https://nuancesprog.ru/p/14805/
В этом руководстве мы разработаем и создадим личный дневник, в котором пользователи смогут:
▪️добавлять новые записи;
▪️просматривать их;
▪️редактировать и удалять конкретные записи.
https://nuancesprog.ru/p/14805/
🔥8👍3
Всё просто
В нашем случае мы задаём значения кортежу
Можно заметить выражение
#объяснение
for i in range(10)
говорит нам пройтись по списку и сохранить значение каждого элемента в i. В нашем случае мы задаём значения кортежу
(i, some_dict[i]) = (0, 'w')
, а это то же, что и i = 0; some_dict[i] = 'w'
. Можно заметить выражение
some_dict[i] = 'w'
, которое и меняет словарь.#объяснение
👍20❤🔥3❤1
⚙️Программы на Python
▪️Голосовой ассистент на Python - Смотреть
▪️Парсер статей на Python - Смотреть
▪️Чат-бот на Python + Dialogflow - Смотреть
▪️Голосовой ассистент на Python - Смотреть
▪️Голосовой ассистент на Python - добавляем навыки - Смотреть
▪️Голосовой ассистент - разбор кода - Смотреть
▪️Работаем с веб камерой на Python - Смотреть
▪️Работаем с FTP на Python - Смотреть
▪️Создаём Telegram бота на Python - Смотреть
▪️Запуск Telegram бота на сервере - Смотреть
▪️Голосовой ассистент на Python - Смотреть
▪️Парсер статей на Python - Смотреть
▪️Чат-бот на Python + Dialogflow - Смотреть
▪️Голосовой ассистент на Python - Смотреть
▪️Голосовой ассистент на Python - добавляем навыки - Смотреть
▪️Голосовой ассистент - разбор кода - Смотреть
▪️Работаем с веб камерой на Python - Смотреть
▪️Работаем с FTP на Python - Смотреть
▪️Создаём Telegram бота на Python - Смотреть
▪️Запуск Telegram бота на сервере - Смотреть
👍6👎4🤡2
x.as_integer_ratio()
Метод предоставляет десятичную дробь в виде пары «числитель, знаменатель». То есть поделив a на b вы получите нужное число.
Но им лучше не пользоваться из-за стандарта IEEE 754 (ссылка на пост), а импортировать decimal (см. пример на фото).
#объяснение
Метод предоставляет десятичную дробь в виде пары «числитель, знаменатель». То есть поделив a на b вы получите нужное число.
Но им лучше не пользоваться из-за стандарта IEEE 754 (ссылка на пост), а импортировать decimal (см. пример на фото).
#объяснение
👍15😁1
📓 Информатика: разработка программ на языке программирования Python.
• В учебнике рассматриваются основные конструкции языка программирования Python. Приводятся многочисленные примеры, которые позволят современному специалисту овладеть навыками для создания своих приложений разной направленности.
🟢 Читать/скачать книгу
#RU
• В учебнике рассматриваются основные конструкции языка программирования Python. Приводятся многочисленные примеры, которые позволят современному специалисту овладеть навыками для создания своих приложений разной направленности.
🟢 Читать/скачать книгу
#RU
👍3😁2
Приоритеты
Первым делом выполняется умножение, а только потом сложение. Но в Python всё несколько сложнее, ведь там операторов больше, чем в школьной математике.
В документации есть раздел по «значимости» каждого оператора (+x, @, ==, |, даже await).
#объяснение
Первым делом выполняется умножение, а только потом сложение. Но в Python всё несколько сложнее, ведь там операторов больше, чем в школьной математике.
В документации есть раздел по «значимости» каждого оператора (+x, @, ==, |, даже await).
#объяснение
👍10
👨🏻💻 Парсинг (скрапинг) сайтов на Python.
• Парсинг — процесс сбора данных с последующей их обработкой и анализом. К этому способу прибегают, когда предстоит обработать большой массив информации, с которым сложно справиться вручную.
• Быстрый парсинг данных с сайта несколькими процессами с экспортом в csv;
• Парсим Avito при помощи Python;
• Парсинг Avito при помощи Python Часть 2;
• Приемы работы с библиотекой BeautifulSoup;
• Как использовать прокси и менять User-Agent;
• Анализ "ненормальных" сайтов;
• Как скачивать картинки и другие файлы;
• Работа с ошибками.
📌 В дополнение: Почему стоит научиться «парсить» сайты, или как написать свой первый парсер на Python.
#Парсинг #Видео
• Парсинг — процесс сбора данных с последующей их обработкой и анализом. К этому способу прибегают, когда предстоит обработать большой массив информации, с которым сложно справиться вручную.
• Быстрый парсинг данных с сайта несколькими процессами с экспортом в csv;
• Парсим Avito при помощи Python;
• Парсинг Avito при помощи Python Часть 2;
• Приемы работы с библиотекой BeautifulSoup;
• Как использовать прокси и менять User-Agent;
• Анализ "ненормальных" сайтов;
• Как скачивать картинки и другие файлы;
• Работа с ошибками.
📌 В дополнение: Почему стоит научиться «парсить» сайты, или как написать свой первый парсер на Python.
#Парсинг #Видео
👍9👎3
Эти привычки вы должны вбить себе в голову для удобного и более производительного кодинга.
Telegraph
Привычки для Python Developer-ов
Со временем работы, у многих программистов нарабатываются ряд привычек и правил, благодаря которым они могут писать удобный и более производительный код. В данной статье мы как раз и разберем подобные привычки, которые вам могут пригодиться. Генераторы -…
👍4
isinstance(object, classinfo)
Функция проверяет, относится ли объект к типу classinfo. Возможно это тот самый classinfo, а может дочерний тип.
Мы можем передать кортеж, тогда функция будет проверять, относится ли объект к одному из переданных типов.
📕 Документация
#объяснение
Функция проверяет, относится ли объект к типу classinfo. Возможно это тот самый classinfo, а может дочерний тип.
Мы можем передать кортеж, тогда функция будет проверять, относится ли объект к одному из переданных типов.
📕 Документация
#объяснение
👍15🤬3❤2
📌 Получаем курс валют
Узнать цену биткоина в $ или получить стоимость доллара в рублях. Всё это можно сделать с помощью forex-python.
Установка:
📕 Документация
🐙 Github
#урок
Узнать цену биткоина в $ или получить стоимость доллара в рублях. Всё это можно сделать с помощью forex-python.
Установка:
pip install forex-python
На самом деле это просто клиент для этого сайта. Список доступных валют можно посмотреть тут. Также модуль может конвертировать одну валюту в другую.📕 Документация
🐙 Github
#урок
❤4