#python python... PYTHON 🔛 🚀
11 subscribers
914 photos
7 videos
158 files
1.54K links
Download Telegram
Топ. Python 3: изменяемый, неизменяемый…

Рассказываем с самого начала, чем изменяемые объекты отличаются от неизменяемых и как это проявляется на практике. Также затрагиваем тему преаллокации и передачи аргументов в функции.

Читать статью

#ооп
Django. Что нового в третьей версии фреймворка?

Рассматриваем новые функции, появившиеся в Django 3, а также рассказываем, что удалено в новой версии.

Читать статью

#django
Forwarded from Python Academy
Композиция классов

Один из способов организации взаимодействия между классами – это композиция, или же ассоциация, классов.

В этом случае один из классов (в примере выше это Salary) является полем другого (Employee). Сложного здесь, как вы видите, ничего нет.

Ассоциированные объекты зачастую могут циклически ссылаться друг на друга, что ломает стандартный механизм сборки мусора. В таком случае необходимо использовать слабые ссылки из модуля weakref, о котором поговорим позже.

#классы #ооп
Forwarded from Python Academy
Assert

Если выполнить инструкцию assert с логическим выражением, результат которого равен True, ничего не произойдет. Но если попробовать выполнить инструкцию assert с логическим выражением, которое равно False, то будет сгенерировано исключение AssertionError.

Исключения AssertionError предназначены скорее для программистов. При написании программ на этапе разработки мы должны видеть, что делаем что-то не так (к примеру, передали в функцию некорректное значение).

Не нужно, например, обрабатывать пользовательский ввод и пытаться обработать исключение AssertionError блоком try except. Если таких мест будет очень много, то это затронет и производительность программы.

#исключения #assert
Forwarded from Python Academy
Влейся в ряды единомышленников

Кстати, если вы не знали, то у нас также есть чат, в котором уже 500+ участников — @python_academy_chat.

Присоединяйтесь, задавайте свои вопросы и не забывайте помогать другим :)
Forwarded from Python Academy
Статические методы

Отличие статического метода от обычного метода класса в том, что первый привязан к классу, а не объекту.

Такой тип методов по умолчанию не принимает ни объект, ни класс – прописывать self или cls в аргументах не нужно. То есть статические методы не могут модифицировать ни объект, ни сам класс.

Обычную функцию стоит вносить в класс в качестве статического метода в том случае, когда эта функция логически относится к классу и имеет смысл там быть.

#классы
Forwarded from Python Academy
Наследование

Наследование позволяет создавать новый класс на основе уже существующего. Таким образом, можно создать новый класс, взяв за основу все методы и атрибуты другого.

В данном случае класс Person является родительским классом, также его называют базовым классом или суперклассом. А класс Employee называется дочерним классом или подклассом.

Наследование классов нужно для изменения поведения конкретного класса, а также для расширения его функционала.

#классы #ооп
Forwarded from Python Academy
Геттеры и сеттеры

В объектно-ориентированных языках распространено использование геттеров и сеттеров для безопасной работы с приватными полями. Например, в C# для этого есть удобная конструкция { get; set; }.

В Python геттер реализуется через декоратор @property, а сеттер в виде @свойство.setter. В примере метод геттера называется age, поэтому декоратор сеттера – @age.setter.

Оба метода должны иметь одинаковое название, по которому можно будет обращаться как к обычному атрибуту.

#классы #property
Forwarded from Хабр
Что происходит сейчас в мире информационных технологий? На каждом углу реклама курсов, которые сделают из тебя настоящего программиста за 21 день с гарантированным трудоустройство сразу на позицию %Language% Middle Developer.

Вы безумны, остановитесь пока не поздно!
Forwarded from Хабр
Каверзные вопросы по Python

В каждом языке программирования есть моменты, которые требуют повышенной концентрации внимания или больше практики для своего понимания. Python в этом плане не исключение.
Какие навыки тестировщика на Python востребованы в проектах?

Про актуальные технологии автотестирования расскажет 2 декабря Семён Вяземский, QA Lead одной из ведущих телекоммуникационных компаний. Семен поделится своим опытом, ответит на вопросы зрителей и представит программу онлайн-курса «Python QA Engineer». Это Demo day, где вы узнаете об особенностях курса, как организована практика и получите возможность сэкономить на обучении.

Хотите лучше подготовиться к встрече? Проходите вступительный тест, который поможет оценить ваш стартовый уровень. Регистрируйтесь на вебинар и запасайтесь вопросами https://otus.pw/Pcyz/
Advanced Python Development (2020)
Автор: Matthew Wilkes
Количество страниц: 628

Эта книга создана на основе базовых руководств по Python для объяснения различных особенностей языка, которые обычно не рассматриваются: от многократно используемых консольных скриптов, которые выполняют двойную работу в качестве микросервисов за счет использования точек входа, до эффективного использования asyncio для сопоставления данных из большого количества источников. Попутно книга охватывает линтинг на основе типов, тестирование с минимальными затратами и другие автоматические проверки качества, чтобы продемонстрировать надежный процесс разработки в реальном мире.

Скачать книгу
9 магических фактов об Python

Язык Python очень широк в использовании, простой для изучения и использования, но в нем всё-таки есть немного магии.

В статье ниже читайте об этом:

https://towardsdatascience.com/10-magical-facts-about-python-39d7f3a2c203

Не до конца понял либо есть что обсудить? - Сделай это в нашем
чате.

Твой Программист 💻
Forwarded from Python Academy
Дополнение про property

Важно отметить, что property – это класс, реализованный через протокол дескриптора. Его методы setter, getter, deleter и их использование в качестве декораторов – синтаксический сахар.

Конструктор property принимает на вход аргументы fget, fset, fdel, которые должны быть функциями. Они отвечают за получение, установку нового значения и удаление атрибута соответственно.

Простыми словами, в примере property прикрепляет функции get_age и set_age к атрибуту age. Также можно было реализовать условный delete_age, который отвечал бы за удаление атрибута.

Кстати, можете посмотреть простейшую реализацию такого свойства в официальной документации.

#классы #property
Хватит использовать рекурсию в Python

Рекурсия является довольно-таки распространённым подходом в программировании, но автор данной статьи крайне не рекомендует использовать его в Python.

Почему? Читай в статье:

https://towardsdatascience.com/dont-use-recursion-in-python-any-more-918aad95094c

Не до конца понял либо есть что обсудить? - Сделай это в нашем
чате.

Твой Программист 💻
9 магических фактов об Python

Язык Python очень широк в использовании, простой для изучения и использования, но в нем всё-таки есть немного магии.

В статье ниже читайте об этом:

https://towardsdatascience.com/10-magical-facts-about-python-39d7f3a2c203

Не до конца понял либо есть что обсудить? - Сделай это в нашем
чате.

Твой Программист 💻
Вы, вероятно, знаете оператор * как оператор умножения в Python. Но знаете ли вы, что есть еще четыре его применения, которые не имеют ничего общего с умножением?

https://proglib.io/w/921f3372
Forwarded from Python Academy
Дзен Python

Тим Петерс ещё в далёком 1999 году предложил PEP 20, который должен был содержать в себе 20 правил по написанию кода. Но в итоге их оказалось всего 19.

Последний пункт он предложил написать Гвидо Ван Россуму, однако он не написал ничего. В коммьюнити Python пришли к выводу, что разработчик языка хотел этим сказать, что никакие правила не являются абсолютными и везде есть исключения.

Посмотреть Дзен, или же философию Python, можно с помощью импорта модуля this, а вариант перевода Дзена на русском языке здесь.

#python #дзен