⚡️ Модуль collections
Это изменённые контейнеры (dict, list, set, tuple), которые могут сильно помочь при решении задач.
#миниурок #collections
Это изменённые контейнеры (dict, list, set, tuple), которые могут сильно помочь при решении задач.
Counter(iter)
— подсчитывает количество повторений объекта в iter. С помощью most_common(n)
можно получить n самых повторяющихся объектов.defaultdict(default_factory)
— создаёт и подставляет новый объект, созданный default_factory, если не переданного ключа не существует.namedtuple(typename, field_names)
— Создаёт тип кортежа с именованными полями.#миниурок #collections
⚡️
#теория
__getattr__
и __getattribute__
__getattribute__
вызывается каждый раз, когда мы пытаемся получить атрибут экземпляра. Даже если это произошло внутри класса с помощью self.__getattr__
вызывается только в том случае, если атрибут не был найден. Его можно спокойно переопределять.#теория
⚡️ Работаем с путями
Зачем изобретать велосипед с os.path, если с Python3.4 существует pathlib? Этот модуль упрощает работу с путями и добавляет новые функции.
Например, мы можем писать пути, которые будут нормально работать на Windows и Linux. Об этом рассказывается тут.
А если вам пришлось редактировать старый код с os, то это не проблема, ведь все пути это PathLike объекты.
#миниурок #pathlib
Зачем изобретать велосипед с os.path, если с Python3.4 существует pathlib? Этот модуль упрощает работу с путями и добавляет новые функции.
Например, мы можем писать пути, которые будут нормально работать на Windows и Linux. Об этом рассказывается тут.
А если вам пришлось редактировать старый код с os, то это не проблема, ведь все пути это PathLike объекты.
#миниурок #pathlib
⚡️ Больше нет проблем
Помните, рассказывал про проблемы с вычислением float? Так вот, в Python есть решение этой проблемы и это decimal.
Этот модуль может быстро и правильно округлять арифметические операции с плавающей точкой. Теперь 0.1 + 0.2 будет именно 0.3.
И это всё тот же float. То есть вы можете складывать значения, вычитать, умножать, делить, сравнивать, и так далее.
#теория
Помните, рассказывал про проблемы с вычислением float? Так вот, в Python есть решение этой проблемы и это decimal.
Этот модуль может быстро и правильно округлять арифметические операции с плавающей точкой. Теперь 0.1 + 0.2 будет именно 0.3.
И это всё тот же float. То есть вы можете складывать значения, вычитать, умножать, делить, сравнивать, и так далее.
#теория
⚡️ Асинхронное программирование
Давайте приготовим ужин. Закидываем пельмешки в кастрюлю, ждём 5 минут, а пока они готовятся, режем хлеб и делаем салатик.
В этом и суть асинхронного программирования. Пока приложение ждёт окончания какого-либо действия, оно может заниматься чем-то другим, более полезным.
Таким образом мы можем ускорить сетевое приложение (пока оно будет ждать ответа от сервера, оно может делать что-то другое), не прибегая к многопоточности.
#миниурок #async
Давайте приготовим ужин. Закидываем пельмешки в кастрюлю, ждём 5 минут, а пока они готовятся, режем хлеб и делаем салатик.
В этом и суть асинхронного программирования. Пока приложение ждёт окончания какого-либо действия, оно может заниматься чем-то другим, более полезным.
Таким образом мы можем ускорить сетевое приложение (пока оно будет ждать ответа от сервера, оно может делать что-то другое), не прибегая к многопоточности.
#миниурок #async
Что выведет этот код?
Anonymous Quiz
32%
<class 'int'> <class 'float'>
57%
<class 'float'> <class 'float'>
9%
<class 'int'> <class 'int'>
3%
Узнать ответ
⚡️ Зависимости? Вы кто такие? Я вас не звал
Python может решать любые задачи за счёт сторонних библиотек (Tensorflow, pygame, Django). Вот их и называют зависимостями.
Проблема зависимостей в том, что, их нужно устанавливать и в том, что любые изменения в библиотеке, если вы захотите обновиться, повлияют на проект.
Но не стоит писать свой Tensorflow, просто потому что, и не стоит ставить funcy только ради одной функции.
А сохранить зависимости можно с помощью
#теория
Python может решать любые задачи за счёт сторонних библиотек (Tensorflow, pygame, Django). Вот их и называют зависимостями.
Проблема зависимостей в том, что, их нужно устанавливать и в том, что любые изменения в библиотеке, если вы захотите обновиться, повлияют на проект.
Но не стоит писать свой Tensorflow, просто потому что, и не стоит ставить funcy только ради одной функции.
А сохранить зависимости можно с помощью
pip freeze > requirements.txt
(доки). Установить: pip install -r requirements.txt
.#теория
⚡️ Задачка с собеседования | #Medium
Условие:
Вам нужно написать объединение как в игре 2048.
Примеры:
merge([4, 4, 8, 16]) ➞ [8, 8, 16, 0]
merge([8, 8, 16, 0]) ➞ [16, 16, 0, 0]
merge([16, 16, 0, 0]) ➞ [32, 0, 0, 0]
📌 Пишите ваше решение в комментариях. Решение будет через несколько часов на этом канале. 👇
#Задачка_с_собеседования
Условие:
Вам нужно написать объединение как в игре 2048.
Примеры:
merge([4, 4, 8, 16]) ➞ [8, 8, 16, 0]
merge([8, 8, 16, 0]) ➞ [16, 16, 0, 0]
merge([16, 16, 0, 0]) ➞ [32, 0, 0, 0]
📌 Пишите ваше решение в комментариях. Решение будет через несколько часов на этом канале. 👇
#Задачка_с_собеседования