Что выведет код выше?
Anonymous Quiz
19%
2, 3
15%
(2, 3)
14%
16, 0
15%
(16, 0)
7%
(6, 6)
29%
Узнать ответ
⚡️ Разница между
#теория #str
__str__
и __repr__
Довольно часто при создании собственного класса, необходимо выводить данные о нём в виде строки. Документация говорит использовать __str__
и __repr__
, но в чём же между ними разница?__str__()
— метод, который превращает объект в более читаемый вид, понятный для пользователя программы. Если же он не определён, то вызывает __repr__
__repr__()
— метод, используемый программистами. Это — строка, позволяющая создать новый объект с такими же данными, используя функцию eval
.#теория #str
remove_comments.py
264 B
⚡️ Задачка с собеседования | #Medium
Условие:
Ваша задача — написать функцию, которая возвращает строку без комментариев.
Примеры находятся в файле выше.
📌 Пишите ваше решение в комментариях. Решение будет через несколько часов на этом канале. 👇
#Задачка_с_собеседования
Условие:
Ваша задача — написать функцию, которая возвращает строку без комментариев.
Примеры находятся в файле выше.
📌 Пишите ваше решение в комментариях. Решение будет через несколько часов на этом канале. 👇
#Задачка_с_собеседования
⚡️ Сохраняем Python-объект в файле
Сделать такое позволяет pickle — предустановленный модуль, реализующий алгоритм преобразования объекта в поток байтов или наоборот.
Для работы с ним вам достаточно двух функций:
Внимание! Этот модуль считается небезопасным. Не загружайте файлы из сомнительных источников.
Сделать такое позволяет pickle — предустановленный модуль, реализующий алгоритм преобразования объекта в поток байтов или наоборот.
Для работы с ним вам достаточно двух функций:
pickle.dump(obj, file)
— записывает сериализованный объект в файл.pickle.load(file)
— загружает объект из файла и возвращает его.Внимание! Этот модуль считается небезопасным. Не загружайте файлы из сомнительных источников.
👍1
⚡️ Собираем данные о системе
psutil — утилита, позволяющая получить данные о системе и о её состоянии: от количества ядер процессора, до текущей нагрузки на сеть.
Установка:
Например, есть функция
Подробнее о таких особенностях можно почитать на сайте документации, а определить используемую систему можно с помощью констант, которые написаны тут.
#миниурок #psutil
psutil — утилита, позволяющая получить данные о системе и о её состоянии: от количества ядер процессора, до текущей нагрузки на сеть.
Установка:
pip install psutil
Данный модуль стабильно работает на большинстве операционных систем, но функционал у них всё таки отличается.Например, есть функция
psutil.Process.rlimit
, работающая только в ОС Linux и FreeBSD, но не работающая в Windows.Подробнее о таких особенностях можно почитать на сайте документации, а определить используемую систему можно с помощью констант, которые написаны тут.
#миниурок #psutil
⚡️ Задачка с собеседования | #Medium
Условие:
Ваша задача — написать функцию, которая подсчитывает количество повторяемых элементов. Желательно выполнить задачу без использования сторонних модулей.
Примеры:
dup_count('abcde') -> 0
dup_count('indivisibility') -> 1
dup_count('Indivisibilities') -> 2
dup_count('aA11') -> 2
📌 Пишите ваше решение в комментариях. Решение будет через несколько часов на этом канале. 👇
#Задачка_с_собеседования
Условие:
Ваша задача — написать функцию, которая подсчитывает количество повторяемых элементов. Желательно выполнить задачу без использования сторонних модулей.
Примеры:
dup_count('abcde') -> 0
dup_count('indivisibility') -> 1
dup_count('Indivisibilities') -> 2
dup_count('aA11') -> 2
📌 Пишите ваше решение в комментариях. Решение будет через несколько часов на этом канале. 👇
#Задачка_с_собеседования
⚡️ Переопределяем операторы
В Python почти каждый оператор — метод класса. Например, + — это
Зная это мы можем переопределить оператор, просто унаследовав класс, чьё поведение мы хотим изменить и записать туда необходимую функцию.
Подробнее об используемых метода можно найти на странице документации оператора, как с with, или в документации модуля operators, которые предоставляются в виде функций.
#теория #operators
В Python почти каждый оператор — метод класса. Например, + — это
__add__
, сравнение (==) — это __eq__
, а with — __enter__
, __exit__
.Зная это мы можем переопределить оператор, просто унаследовав класс, чьё поведение мы хотим изменить и записать туда необходимую функцию.
Подробнее об используемых метода можно найти на странице документации оператора, как с with, или в документации модуля operators, которые предоставляются в виде функций.
#теория #operators
Что выведет код выше?
Anonymous Quiz
12%
0-2-4
31%
2-4-6
7%
2 4
18%
1-3-5
20%
Ошибку
12%
Узнать ответ
⚡️ Модуль collections, класс Counter
collections — модуль, предоставляющий специализированные типы данных. Он хранит в себе различные классы, такие как namedtuple, counter, deque и множество других. Об одном из них мы и поговорим.
Counter — словарь, позволяющий узнать какое количество раз повторяются элементы в итерируемом объекте (list, string).
Получить данные можно с помощью квадратных скобочек. Если же элемент не найден, он возвращает 0.
#миниурок #Counter
collections — модуль, предоставляющий специализированные типы данных. Он хранит в себе различные классы, такие как namedtuple, counter, deque и множество других. Об одном из них мы и поговорим.
Counter — словарь, позволяющий узнать какое количество раз повторяются элементы в итерируемом объекте (list, string).
Получить данные можно с помощью квадратных скобочек. Если же элемент не найден, он возвращает 0.
most_common(n)
— возвращает n
самых повторяемых объектов.elements()
— возвращает итератор для всех элементов.#миниурок #Counter
⚡️ Задачка с собеседования | #Medium
Условие:
Ваша задача — написать функцию, которая принимает список из цифр, которые являются одним числом. Ей необходимо добавить к числу 1. В результате функция возвращает список из цифр.
Примеры:
add_one([1, 2, 3, 4]) -> [1, 2, 3, 5]
add_one([9, 9, 9, 9]) -> [1, 0, 0, 0, 0]
add_one([0]) -> [1]
add_one([9]) -> [1, 0]
📌 Пишите ваше решение в комментариях. Решение будет через несколько часов на этом канале. 👇
#Задачка_с_собеседования
Условие:
Ваша задача — написать функцию, которая принимает список из цифр, которые являются одним числом. Ей необходимо добавить к числу 1. В результате функция возвращает список из цифр.
Примеры:
add_one([1, 2, 3, 4]) -> [1, 2, 3, 5]
add_one([9, 9, 9, 9]) -> [1, 0, 0, 0, 0]
add_one([0]) -> [1]
add_one([9]) -> [1, 0]
📌 Пишите ваше решение в комментариях. Решение будет через несколько часов на этом канале. 👇
#Задачка_с_собеседования
⚡️ Модуль collections. Класс OrderedDict
Мы уже рассказывали про модуль collections, а если конкретнее — класс Counter. В этот раз разберём OrderedDict.
OrderedDict — словарь, особенный тем, что все ключи находятся в том же порядке, в котором и добавлялись.
Подробнее о данном классе можете почитать тут.
#миниурок #collections
Мы уже рассказывали про модуль collections, а если конкретнее — класс Counter. В этот раз разберём OrderedDict.
OrderedDict — словарь, особенный тем, что все ключи находятся в том же порядке, в котором и добавлялись.
popitem()
— Возвращает и удаляет последний элемент из упорядоченного списка. move_to_end(key)
— перемещает ключ в конец. Если передан параметр last, перемещает ключ в начало.Подробнее о данном классе можете почитать тут.
#миниурок #collections
⚡️ Оператор yield
yield — оператор, позволяющий создавать генераторы. Благодаря нему функция может вернуть сразу несколько значений.
Записывается он вместо return, принимая число, которое должна вернуть функция.
Если же обычный метод возвращает какое-то значение, то генератор возвращает себя, благодаря чему мы можем пройтись по нему используя циклы или функцию
#теория #итераторы
yield — оператор, позволяющий создавать генераторы. Благодаря нему функция может вернуть сразу несколько значений.
Записывается он вместо return, принимая число, которое должна вернуть функция.
Если же обычный метод возвращает какое-то значение, то генератор возвращает себя, благодаря чему мы можем пройтись по нему используя циклы или функцию
next()
.#теория #итераторы