⚡️ Тесты в документации
Такой подход интересен тем, что позволяет другому программисту понять как работает функция в определённых ситуациях, а вам — протестировать её работу.
Реализуется подобная фича с помощью встроенного модуля 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
⚡️ 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