⚡️ Книги по Python
Часто задают вопрос новички: «Что почитать про Python». Это список лучших книг для начинающих разработчиков и не только.
Марк Лутц «Изучаем Python» — Библия разработчика на Python. Автор подробно рассказывает все возможности языка.
Эрик Мэтиз «Изучаем Python» — Отличная книга, для тех, кто только начинает свое знакомство с Python.
A Byte of Python — Книга, которую тоже часто рекомендуют новичкам. Единственный минус — она на английском.
#книги
Часто задают вопрос новички: «Что почитать про Python». Это список лучших книг для начинающих разработчиков и не только.
Марк Лутц «Изучаем Python» — Библия разработчика на Python. Автор подробно рассказывает все возможности языка.
Эрик Мэтиз «Изучаем Python» — Отличная книга, для тех, кто только начинает свое знакомство с Python.
A Byte of Python — Книга, которую тоже часто рекомендуют новичкам. Единственный минус — она на английском.
#книги
⚡️ is vs ==
Оператор сравнения (==) вызывает метод
Оператор is сравнивает, является ли этот объект одним и тем же. То есть сравнивает ссылки объектов:
Кстати, поскольку создатели некоторых классов могут неправильно реализовать
#теория
Оператор сравнения (==) вызывает метод
__eq__
у объекта, который сравнивает себя с другим и возвращает True или False.Оператор is сравнивает, является ли этот объект одним и тем же. То есть сравнивает ссылки объектов:
id(a) == id(b)
.Кстати, поскольку создатели некоторых классов могут неправильно реализовать
__eq__
, при сравнении с None рекомендуют использовать is.#теория
⚡️ Про область видимости
Вы можете просмотреть все переменные, которые хранятся в определённой области видимости (модуль, класс, функция) с помощью функций
#теория
Вы можете просмотреть все переменные, которые хранятся в определённой области видимости (модуль, класс, функция) с помощью функций
locals()
и dir()
.dir(object)
— возвращает список со всеми доступными именами у object. Если ничего не передано, возвращает имена в конкретной области видимости.locals()
— возвращает словарь со всеми доступными переменными и их значениями в конкретной области видимости. #теория
⚡️ Наследование
Это один из принципов ООП, который позволяет дочернему классу перенять все возможности родителя. Или, проще говоря, мы переиспользуем код другого класса.
Получить доступ к родителю можно с помощью вызова super(). Оттуда уже можно брать реализации функций, которые мы переопределяем, из родительского класса.
Кстати, по умолчанию все классы наследуются от object, даже если мы этого не указываем. Поэтому у класса будет всё, что есть у object.
#теория
Это один из принципов ООП, который позволяет дочернему классу перенять все возможности родителя. Или, проще говоря, мы переиспользуем код другого класса.
Получить доступ к родителю можно с помощью вызова super(). Оттуда уже можно брать реализации функций, которые мы переопределяем, из родительского класса.
Кстати, по умолчанию все классы наследуются от object, даже если мы этого не указываем. Поэтому у класса будет всё, что есть у object.
#теория
⚡️ Распаковка
Это удобный инструмент для разделения списка, кортежа, строки на именованные части.
Также распаковка может использоваться при вызове функции. Таким образом мы передаём элементы списка как аргументы.
Для распаковки последовательностей используется одна звёздочка, а для словарей — две.
#теория
Это удобный инструмент для разделения списка, кортежа, строки на именованные части.
Также распаковка может использоваться при вызове функции. Таким образом мы передаём элементы списка как аргументы.
Для распаковки последовательностей используется одна звёздочка, а для словарей — две.
#теория
⚡️ Несколько вариантов одной функции
В Python у вас не может существовать несколько функций с одинаковыми именами, которые работают с разными типами данных. Но такое возможно сделать с помощью multipledispatch.
Установка:
В зависимости от переданных аргументов будет выбираться правильная функция.
#миниурок #multipledispatch
В Python у вас не может существовать несколько функций с одинаковыми именами, которые работают с разными типами данных. Но такое возможно сделать с помощью multipledispatch.
Установка:
pip install multipledispatch
Просто навешиваете @dispatch
на функцию, куда передаёте тип, с которыми работает именно эта функция.В зависимости от переданных аргументов будет выбираться правильная функция.
#миниурок #multipledispatch
Что выведет этот код?
Anonymous Quiz
33%
hello world
29%
hello w o r l d
29%
h e l l o w o r l d
9%
Узнать ответ