⚡️ Немного про словари
Это коллекция, которая хранит данные в формате ключ-значение. У неё есть несколько интересных фишек:
#теория
Это коллекция, которая хранит данные в формате ключ-значение. У неё есть несколько интересных фишек:
d | other
— Объединяет два словаря в один новый. Добавили с версии Python 3.9.setdefault(key, default=None)
— Возвращает значение, если ключ есть в словаре. Иначе вставляет default на место ключа и возвращает его.dict.fromkeys(iterable, value=None)
— создаёт словарь с ключами из iterable и заполняет их значениями value.#теория
👍2
Что выведет код выше?
Anonymous Quiz
54%
score: 5 points
9%
score: a points
36%
Ошибку
2%
Узнать ответ
🔥3🤔2
⚡️ Что такое
Теперь поговорим про
#теория
__name__
Эта переменная хранит название модуля, который импортируется. А если это прямой запуск (python3 foo.py
), то его значение будет __main__
. Теперь поговорим про
__name__ == "__main__"
. При импорте модуля весь код выполняется. Чтобы избежать странного поведения (см. пример), стоит делать проверку.#теория
👍3
🤔5
⚡️ Книги по Python
Часто задают вопрос новички: «Что почитать про Python». Это список лучших книг для начинающих разработчиков и не только.
Марк Лутц «Изучаем Python» — Библия разработчика на Python. Автор подробно рассказывает все возможности языка.
Эрик Мэтиз «Изучаем Python» — Отличная книга, для тех, кто только начинает свое знакомство с Python.
A Byte of Python — Книга, которую тоже часто рекомендуют новичкам. Единственный минус — она на английском.
#книги
Часто задают вопрос новички: «Что почитать про Python». Это список лучших книг для начинающих разработчиков и не только.
Марк Лутц «Изучаем Python» — Библия разработчика на Python. Автор подробно рассказывает все возможности языка.
Эрик Мэтиз «Изучаем Python» — Отличная книга, для тех, кто только начинает свое знакомство с Python.
A Byte of Python — Книга, которую тоже часто рекомендуют новичкам. Единственный минус — она на английском.
#книги
👍7🔥1
⚡️ is vs ==
Оператор сравнения (==) вызывает метод
Оператор is сравнивает, является ли этот объект одним и тем же. То есть сравнивает ссылки объектов:
Кстати, поскольку создатели некоторых классов могут неправильно реализовать
#теория
Оператор сравнения (==) вызывает метод
__eq__
у объекта, который сравнивает себя с другим и возвращает True или False.Оператор is сравнивает, является ли этот объект одним и тем же. То есть сравнивает ссылки объектов:
id(a) == id(b)
.Кстати, поскольку создатели некоторых классов могут неправильно реализовать
__eq__
, при сравнении с None рекомендуют использовать is.#теория
🔥11👍4
👍8🤔4
⚡️ Про область видимости
Вы можете просмотреть все переменные, которые хранятся в определённой области видимости (модуль, класс, функция) с помощью функций
#теория
Вы можете просмотреть все переменные, которые хранятся в определённой области видимости (модуль, класс, функция) с помощью функций
locals()
и dir()
.dir(object)
— возвращает список со всеми доступными именами у object. Если ничего не передано, возвращает имена в конкретной области видимости.locals()
— возвращает словарь со всеми доступными переменными и их значениями в конкретной области видимости. #теория
👍6
⚡️ Наследование
Это один из принципов ООП, который позволяет дочернему классу перенять все возможности родителя. Или, проще говоря, мы переиспользуем код другого класса.
Получить доступ к родителю можно с помощью вызова super(). Оттуда уже можно брать реализации функций, которые мы переопределяем, из родительского класса.
Кстати, по умолчанию все классы наследуются от object, даже если мы этого не указываем. Поэтому у класса будет всё, что есть у object.
#теория
Это один из принципов ООП, который позволяет дочернему классу перенять все возможности родителя. Или, проще говоря, мы переиспользуем код другого класса.
Получить доступ к родителю можно с помощью вызова super(). Оттуда уже можно брать реализации функций, которые мы переопределяем, из родительского класса.
Кстати, по умолчанию все классы наследуются от object, даже если мы этого не указываем. Поэтому у класса будет всё, что есть у object.
#теория
👍12
⚡️ Распаковка
Это удобный инструмент для разделения списка, кортежа, строки на именованные части.
Также распаковка может использоваться при вызове функции. Таким образом мы передаём элементы списка как аргументы.
Для распаковки последовательностей используется одна звёздочка, а для словарей — две.
#теория
Это удобный инструмент для разделения списка, кортежа, строки на именованные части.
Также распаковка может использоваться при вызове функции. Таким образом мы передаём элементы списка как аргументы.
Для распаковки последовательностей используется одна звёздочка, а для словарей — две.
#теория
👍7
🤔6👍3