Python Community
12.9K subscribers
1.25K photos
34 videos
15 files
731 links
Python Community RU - СНГ сообщество Python-разработчиков

Чат канала: @python_community_chat

Сотрудничество: @cyberJohnny и @Sergey_bzd

РКН реестр:
https://knd.gov.ru/license?id=67847dd98e552d6b54a511ed&registryType=bloggersPermission
Download Telegram
Что выведет код выше?
Anonymous Quiz
39%
True
48%
False
10%
Ошибку
4%
Узнать ответ
⚡️ Немного про словари

Это коллекция, которая хранит данные в формате ключ-значение. У неё есть несколько интересных фишек:

d | other — Объединяет два словаря в один новый. Добавили с версии Python 3.9.

setdefault(key, default=None) — Возвращает значение, если ключ есть в словаре. Иначе вставляет default на место ключа и возвращает его.

dict.fromkeys(iterable, value=None) — создаёт словарь с ключами из iterable и заполняет их значениями value.

#теория
👍2
🔥3🤔2
⚡️ Что такое __name__

Эта переменная хранит название модуля, который импортируется. А если это прямой запуск (python3 foo.py), то его значение будет __main__.

Теперь поговорим про __name__ == "__main__". При импорте модуля весь код выполняется. Чтобы избежать странного поведения (см. пример), стоит делать проверку.

#теория
👍3
Что выведет этот код?
Anonymous Quiz
19%
True
51%
False
26%
Ошибку
5%
Узнать ответ
👎7👍1
Что выведет этот код?
Anonymous Quiz
25%
100
18%
0
44%
Ошибку
13%
Узнать ответ
🤔5
⚡️ Книги по Python

Часто задают вопрос новички: «Что почитать про Python». Это список лучших книг для начинающих разработчиков и не только.

Марк Лутц «Изучаем Python» — Библия разработчика на Python. Автор подробно рассказывает все возможности языка.

Эрик Мэтиз «Изучаем Python» — Отличная книга, для тех, кто только начинает свое знакомство с Python.

A Byte of Python — Книга, которую тоже часто рекомендуют новичкам. Единственный минус — она на английском.

#книги
👍7🔥1
⚡️ is vs ==

Оператор сравнения (==) вызывает метод __eq__ у объекта, который сравнивает себя с другим и возвращает True или False.

Оператор is сравнивает, является ли этот объект одним и тем же. То есть сравнивает ссылки объектов: id(a) == id(b).

Кстати, поскольку создатели некоторых классов могут неправильно реализовать __eq__, при сравнении с None рекомендуют использовать is.

#теория
🔥11👍4
Что выведет этот код?
Anonymous Quiz
46%
True
50%
False
4%
Узнать ответ
👍8🤔4
⚡️ Про область видимости

Вы можете просмотреть все переменные, которые хранятся в определённой области видимости (модуль, класс, функция) с помощью функций locals() и dir().

dir(object) — возвращает список со всеми доступными именами у object. Если ничего не передано, возвращает имена в конкретной области видимости.

locals() — возвращает словарь со всеми доступными переменными и их значениями в конкретной области видимости.

#теория
👍6
⚡️ Наследование

Это один из принципов ООП, который позволяет дочернему классу перенять все возможности родителя. Или, проще говоря, мы переиспользуем код другого класса.

Получить доступ к родителю можно с помощью вызова super(). Оттуда уже можно брать реализации функций, которые мы переопределяем, из родительского класса.

Кстати, по умолчанию все классы наследуются от object, даже если мы этого не указываем. Поэтому у класса будет всё, что есть у object.

#теория
👍12
Что выведет этот код?
Anonymous Quiz
28%
1
19%
True
50%
Ошибку
4%
Узнать ответ
⚡️ Распаковка

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

Также распаковка может использоваться при вызове функции. Таким образом мы передаём элементы списка как аргументы.

Для распаковки последовательностей используется одна звёздочка, а для словарей — две.

#теория
👍7
Что выведет этот код?
Anonymous Quiz
26%
Ничего
40%
SyntaxError
15%
OSError
19%
Узнать ответ
🤔6👍3