🤔1
⚡️ Перечисления в Python
Это набор значений, который заменяет непонятные числа на имена. Создаются они с помощью модуля enum.
Мы можем унаследоваться от Enum для создания констант. А можем от IntEnum, тогда у констант будут свойства int.
Функция
#миниурок #enum
Это набор значений, который заменяет непонятные числа на имена. Создаются они с помощью модуля enum.
Мы можем унаследоваться от Enum для создания констант. А можем от IntEnum, тогда у констант будут свойства int.
Функция
auto()
автоматически подставляет следующее значение константе, а @unique
проверяет, чтобы значения не повторялись. Подробнее.#миниурок #enum
👍3
👍7
⚡️ Тесты в документации
Такой подход интересен тем, что позволяет другому программисту понять как работает функция в определённых ситуациях, а вам — протестировать её работу.
Реализуется подобная фича с помощью встроенного модуля doctest. Он ищет текста, которые выглядят как интерактивные сеансы Python (>>>, ... и подобные символы).
Вы можете запускать тесты так же, как в примере, а можно с помощью терминала:
#миниурок #doctest
Такой подход интересен тем, что позволяет другому программисту понять как работает функция в определённых ситуациях, а вам — протестировать её работу.
Реализуется подобная фича с помощью встроенного модуля doctest. Он ищет текста, которые выглядят как интерактивные сеансы Python (>>>, ... и подобные символы).
Вы можете запускать тесты так же, как в примере, а можно с помощью терминала:
python -m doctest -v example.py
.#миниурок #doctest
🔥7👍3
Что выведет этот код?
Anonymous Quiz
14%
True
8%
False
26%
[1, 2, 3]
17%
[2, 3]
22%
Ошибку
13%
Узнать ответ
👍5
⚡️ Только ключевые и только позиционные аргументы
Позиционные аргументы — параметры, которые передаются в определённом порядке. Ключевые аргументы — те, что получают значения через ключ, то есть
Все аргументы, которые будут до косой линии (/) будут считаться только позиционными. То есть в них нельзя будет передать значение по ключу.
Все аргументы, которые будут после звёздочки (*) будут считаться только ключевыми. Вы можете задать им значение только с помощью
Больше информации и примеров в документации.
#теория
Позиционные аргументы — параметры, которые передаются в определённом порядке. Ключевые аргументы — те, что получают значения через ключ, то есть
key=value
.Все аргументы, которые будут до косой линии (/) будут считаться только позиционными. То есть в них нельзя будет передать значение по ключу.
Все аргументы, которые будут после звёздочки (*) будут считаться только ключевыми. Вы можете задать им значение только с помощью
key=value
.Больше информации и примеров в документации.
#теория
👍2
⚡️ Геттеры и сеттеры
В ООП языка (C#, Java) распространены свойства, которые вызываются функцию для получения значения какой-либо переменной.
При получении значения вызывается функция с
Также очень важно, чтобы методы и свойства имели одно и то же имя. Подробнее в документации.
#теория
В ООП языка (C#, Java) распространены свойства, которые вызываются функцию для получения значения какой-либо переменной.
При получении значения вызывается функция с
@property
. А для установки значения используется функция с @имя_свойства.setter
.Также очень важно, чтобы методы и свойства имели одно и то же имя. Подробнее в документации.
#теория
👍2
⚡️ Немного про словари
Это коллекция, которая хранит данные в формате ключ-значение. У неё есть несколько интересных фишек:
#теория
Это коллекция, которая хранит данные в формате ключ-значение. У неё есть несколько интересных фишек:
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