Метод
join() позволяет объединить элементы списка в одну строку, разделенную указанным разделителем.Синтаксис:
separator.join(iterable)▫️
separator - строка, которая будет использоваться в качестве разделителя между элементами списка.▫️
iterable - список элементов, которые нужно объединить.Python Universe | #list #Списки
Please open Telegram to view this post
VIEW IN TELEGRAM
Метод
fromkeys() позволяет создать новый словарь, используя указанные ключи из итерируемого объекта и заданное значение в качестве значения по умолчанию для всех ключей.Синтаксис:
dict.fromkeys(iterable, value)▫️
iterable - итерируемый объект, содержащий ключи для создания словаря.▫️
value - значение, которое будет присвоено каждому ключу в словаре.Python Universe | #dict
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5
Метод
insert() позволяет вставить указанный элемент на определенную позицию в списке. Синтаксис:
list.insert(index, object)▫️
index - индекс, на который нужно вставить элемент. Если указанный индекс больше длины списка, элемент будет добавлен в конец списка.▫️
object - элемент, который нужно вставить в список.Python Universe | #list #Списки
Please open Telegram to view this post
VIEW IN TELEGRAM
Метод
count() позволяет подсчитать количество вхождений указанного элемента в списке и вернуть его. Если элемент не найден, возвращается 0.Синтаксис:
list.count(x)▫️
x - элемент, количество вхождений которого нужно подсчитать.Python Universe | #list #Списки
Please open Telegram to view this post
VIEW IN TELEGRAM
😁2❤1
🎉7🐳4☃2
Что выведет код выше?
Anonymous Quiz
13%
[(0, 'p'), (2, 'y')]
30%
[{0: 'p', 2: 'y'}]
9%
[0, 'p', 2, 'y']
10%
['p', 'y']
5%
[(0, 2)]
18%
[0, 2]
15%
TypeError
🎉5🤬3🤣3👍1
Метод
extend() позволяет добавить элементы из другого итерируемого объекта в конец текущего списка.Синтаксис:
list.extend(iterable)▫️
list - список, к которому нужно добавить элементы.▫️
iterable - итерируемый объект, содержащий элементы, которые нужно добавить в список.Python Universe | #list #Списки
Please open Telegram to view this post
VIEW IN TELEGRAM
🤔1
Что выведет код выше?
Anonymous Quiz
31%
['py', 'thon']
13%
['thon', 'py']
29%
['p', 'y', 'thon']
15%
['p', 'thon', 'y']
2%
None
3%
TypeError
3%
IndexError
1%
ValueError
3%
SyntaxError
🤔6😁2🤯2👍1
Что выведет код выше?
Anonymous Quiz
9%
-1 1 0
11%
-1 1
13%
-1 0
5%
1 0
26%
-1
7%
1
8%
0
17%
SyntaxError
4%
Ничего
🎉5👍4😁3
🎉9🤨6👌2😎2
Цикл
for/else является особенностью Python, которая позволяет выполнить блок кода из else, если цикл for завершается естественным образом (без прерывания с помощью оператора break).Python Universe | #циклы
Please open Telegram to view this post
VIEW IN TELEGRAM
👍14❤3😢1🙏1
В чём заключается проблема множественного наследования?
Основная сложность — это "проблема алмаза": когда класс наследует от двух классов с общим предком, возникает неоднозначность в порядке вызова методов этого предка.
Для её решения применяется алгоритм MRO (Method Resolution Order), который определяет порядок вызовов, однако это добавляет сложности при проектировании системы.
🔥 Твой Оффер
Для её решения применяется алгоритм MRO (Method Resolution Order), который определяет порядок вызовов, однако это добавляет сложности при проектировании системы.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5
Почему стоит создавать собственный тип исключения?
Создание собственного типа исключения позволяет чётко обозначить конкретные ошибки, связанные с бизнес-логикой или уникальными ситуациями, которые стандартные исключения не охватывают. Это делает код более понятным и упрощает обработку ошибок.
🔥 Твой Оффер
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6❤1
Что такое идемпотентность и зачем она нужна?
Это операция, которая при повторном выполнении даёт тот же результат и не изменяет состояние системы дополнительно.
▫️Повышение надёжности:
Если операция случайно выполнится несколько раз (например, из-за сбоя в сети), идемпотентность гарантирует, что это не повлияет на итоговое состояние.
▫️Предотвращение дубликатов:
Позволяет избежать непреднамеренного добавления данных или повторного применения изменений.
Работа с HTTP:
GET — ✔️ идемпотентен
PUT — ✔️ идемпотентен
Повторный вызов не изменит состояние.
POST — ✖️ не идемпотентен
Каждый вызов создаст нового пользователя.
Идемпотентность в БД:
✔️ Идемпотентный:
Повторное выполнение ничего не изменит, если пользователь уже удалён.
✖️ Не идемпотентный:
Повтор — создаст дубликаты.
Идемпотентность = безопасное повторное выполнение.
🔥 Твой Оффер
Это операция, которая при повторном выполнении даёт тот же результат и не изменяет состояние системы дополнительно.
▫️Повышение надёжности:
Если операция случайно выполнится несколько раз (например, из-за сбоя в сети), идемпотентность гарантирует, что это не повлияет на итоговое состояние.
▫️Предотвращение дубликатов:
Позволяет избежать непреднамеренного добавления данных или повторного применения изменений.
Работа с HTTP:
GET — ✔️ идемпотентен
GET /users/1
PUT — ✔️ идемпотентен
PUT /users/1
{
"name": "Alice"
}
Повторный вызов не изменит состояние.
POST — ✖️ не идемпотентен
POST /users
{
"name": "Alice"
}
Каждый вызов создаст нового пользователя.
Идемпотентность в БД:
✔️ Идемпотентный:
DELETE FROM users WHERE id = 5;
Повторное выполнение ничего не изменит, если пользователь уже удалён.
✖️ Не идемпотентный:
INSERT INTO users (name) VALUES ('Alice');
Повтор — создаст дубликаты.
Идемпотентность = безопасное повторное выполнение.
Please open Telegram to view this post
VIEW IN TELEGRAM
❤9👍1🌚1💯1
Чем init() отличается от new() ? | Шанс 19%
Основное различие между этими двумя методами состоит в том, что
Пример:
Вывод:
__new__ сработал один раз — объект создан.
__init__ вызвался дважды — каждый раз при создании экземпляра.
10 видео ответов от кандидатов на этот вопрос
🔥 Твой Оффер
Основное различие между этими двумя методами состоит в том, что
__new__ обрабатывает создание объекта, а __init__ обрабатывает его инициализацию.__new__ вызывается автоматически при вызове имени класса (при создании экземпляра), тогда как init вызывается каждый раз, когда экземпляр класса возвращается __new__, передавая возвращаемый экземпляр в __init__ в качестве параметра self, поэтому даже если вы сохранили экземпляр где-нибудь глобально/статически и возвращали его каждый раз из __new__, для него все-равно будет каждый раз вызываться __init__.Пример:
class Singleton:
_instance = None
def __new__(cls):
if cls._instance is None:
print("Создание объекта")
cls._instance = super().__new__(cls)
return cls._instance
def __init__(self):
print("Инициализация объекта")
a = Singleton()
b = Singleton()
Вывод:
Создание объекта
Инициализация объекта
Инициализация объекта
__new__ сработал один раз — объект создан.
__init__ вызвался дважды — каждый раз при создании экземпляра.
10 видео ответов от кандидатов на этот вопрос
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4🤔3❤2