__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
Что такое
Каждый раз, когда мы импортируем код, он весь выполняется точно так же, словно мы его просто запустили. Чтобы избежать странного поведения, как на картинке, стоит использовать
Переменная получает значение '
#теория
__name__
?Каждый раз, когда мы импортируем код, он весь выполняется точно так же, словно мы его просто запустили. Чтобы избежать странного поведения, как на картинке, стоит использовать
__name__
.Переменная получает значение '
__main__
', если программу запустили напрямую (python file.py
). Если же файл импортировали как модуль, он получает своё название.#теория
🔥9👍8🤔2🥰1
🕵️ Пишем кейлоггер на Python для Windows
Руководство по созданию кейлоггера на Python, который записывает нажатия клавиш с клавиатуры и отправляет их по электронной почте или сохраняет в файл журнала.
https://proglib.io/p/pishem-keylogger-na-python-dlya-windows-za-5-minut-2022-05-05
Руководство по созданию кейлоггера на Python, который записывает нажатия клавиш с клавиатуры и отправляет их по электронной почте или сохраняет в файл журнала.
https://proglib.io/p/pishem-keylogger-na-python-dlya-windows-za-5-minut-2022-05-05
Библиотека программиста
🕵 Пишем кейлоггер на Python для Windows за 5 минут
Руководство по созданию кейлоггера на Python, который записывает нажатия клавиш с клавиатуры и отправляет их по электронной почте или сохраняет в файл журнала.
👍4🔥2
Ещё не надоело работать с os.path?
С Python 3.4 есть отличная альтернатива — pathlib. Он упрощает работу с путями и добавляет новые функции.
Помимо того, что вы теперь можете удобно составлять пути, так ещё и работать с ними (
К тому же пути нормально работают на Windows и Linux. А если ваш код всё ещё использует os, то pathlib совместим с этим модулем.
#урок
С Python 3.4 есть отличная альтернатива — pathlib. Он упрощает работу с путями и добавляет новые функции.
Помимо того, что вы теперь можете удобно составлять пути, так ещё и работать с ними (
rename()
, rmdir()
, etc).К тому же пути нормально работают на Windows и Linux. А если ваш код всё ещё использует os, то pathlib совместим с этим модулем.
#урок
👍8❤1
Так что же такое NaN
Not a number (не число) — состояние числа с плавающей запятой, при котором машине не удалось посчитать какое-то выражение.
Компьютер не в силах поделить 0 на 0 или узнать asin(2), поэтому возвращает NaN.
Его особенностью среди других чисел является то, что оно не равно самому себе.
#объяснение
Not a number (не число) — состояние числа с плавающей запятой, при котором машине не удалось посчитать какое-то выражение.
Компьютер не в силах поделить 0 на 0 или узнать asin(2), поэтому возвращает NaN.
Его особенностью среди других чисел является то, что оно не равно самому себе.
#объяснение
❤27👍7👎1