Пояснение
Декоратор заменяет функцию say_hello на функцию wrapper. Когда вызывается say_hello, выполняется wrapper, который сначала выводит Before function call, затем вызывает оригинальную функцию func() (say_hello) и выводит её результат Hello!. После этого завершается фразой After function call.
Python Learning
Please open Telegram to view this post
VIEW IN TELEGRAM
👍10
Как работает функция
zip()
в Python, что произойдет, если переданные итерируемые объекты имеют разную длину, и как можно преобразовать результат работы этой функции обратно в оригинальные последовательности?Ответ
Чтобы преобразовать результат zip() обратно в исходные последовательности, можно использовать распаковку с * (оператор звездочка), которая разделяет кортежи на отдельные списки.
Пример использования
# Объединяем два списка
names = ['Alice', 'Bob', 'Charlie']
ages = [25, 30]
# zip объединяет элементы двух списков
zipped = zip(names, ages)
print(list(zipped)) # [('Alice', 25), ('Bob', 30)]
# Разъединяем с помощью распаковки
zipped_again = zip(names, ages) # Создаем заново, так как zip() исчерпаем
unzipped_names, unzipped_ages = zip(*zipped_again)
print(unzipped_names) # ('Alice', 'Bob')
print(unzipped_ages) # (25, 30)
Python Learning
Please open Telegram to view this post
VIEW IN TELEGRAM
👍34🥰1
Друзья, планирую в историях публиковать разбор задачек с собеседований и смешные мемасики.
Проголосуйте пожалуйста🐍
https://yangx.top/boost/Python_per_month
Проголосуйте пожалуйста
https://yangx.top/boost/Python_per_month
Please open Telegram to view this post
VIEW IN TELEGRAM
👍43❤🔥12🔥2
В Python функция
itertools.accumulate()
вычисляет накопительные суммы или результаты других операций (например, произведение) над итерируемым объектом. Полезна для анализа последовательностей.Python Learning
Please open Telegram to view this post
VIEW IN TELEGRAM
👍11❤🔥2
В Python функции
heapq.nlargest()
и heapq.nsmallest()
позволяют получить n наибольших или наименьших элементов из коллекции. Это удобно для задач, связанных с выборкой экстремальных значений.Python Learning
Please open Telegram to view this post
VIEW IN TELEGRAM
👍17
В Python класс
string.Template
из модуля string
позволяет подставлять значения в строки с использованием плейсхолдеров. Это удобный способ работы с шаблонами текста.Python Learning
Please open Telegram to view this post
VIEW IN TELEGRAM
👍21
Напишите функцию, которая принимает два списка чисел, объединяет их, удаляет дубликаты и возвращает отсортированный список.
Пример:
list1 = [3, 1, 4, 1, 5]
list2 = [9, 2, 6, 5, 3, 5]
result = merge_and_sort(list1, list2)
print(result)
# Ожидаемый результат: [1, 2, 3, 4, 5, 6, 9]
Решение задачи на картинке
Python Learning
Please open Telegram to view this post
VIEW IN TELEGRAM
👍36🤔1😢1
Пояснение
Статические методы вызываются напрямую через имя класса, без необходимости создавать экземпляр. Метод static_method возвращает строку "Static Method". Метод class_method получает ссылку на класс cls и использует её для возвращения строки "Class Method from MyClass".
Python Learning
Please open Telegram to view this post
VIEW IN TELEGRAM
❤🔥9🥰2
В Python встроенная функция
reversed()
возвращает итератор, который перебирает элементы последовательности в обратном порядке. Это удобно для работы с последовательностями, когда нужен обратный порядок.Python Learning
Please open Telegram to view this post
VIEW IN TELEGRAM
👍21🔥2
В Python класс
collections.defaultdict
автоматически создаёт значения для отсутствующих ключей. Это удобно для работы со словарями, где нужно избегать ошибок при доступе к несуществующим ключам.Python Learning
Please open Telegram to view this post
VIEW IN TELEGRAM
👍13🆒2🔥1
В Python методы
str.startswith()
и str.endswith()
проверяют, начинается или заканчивается строка на указанную подстроку. Это удобно для работы с текстом, например, валидации данных.Python Learning
Please open Telegram to view this post
VIEW IN TELEGRAM
👍21🔥3
В Python функция
round()
округляет число до заданного количества знаков после запятой. Это полезно для форматирования чисел и работы с математическими расчётами.Python Learning
Please open Telegram to view this post
VIEW IN TELEGRAM
👍25⚡3
В Python функции
math.ceil()
и math.floor()
из модуля math
используются для округления чисел вверх или вниз до ближайшего целого значения. Это полезно для контроля направления округления.Python Learning
Please open Telegram to view this post
VIEW IN TELEGRAM
👍12
Что такое
__slots__
в Python, как они работают, и в каких случаях их стоит использовать?Ответ
Пример использования
class OptimizedClass:
__slots__ = ['name', 'age'] # Указываем фиксированные атрибуты
def __init__(self, name, age):
self.name = name
self.age = age
# Пример использования
obj = OptimizedClass('Иван', 30)
print(obj.name) # Иван
print(obj.age) # 30
try:
obj.address = 'Москва' # Ошибка: нельзя добавить новый атрибут
except AttributeError as e:
print(e) # "'OptimizedClass' object has no attribute 'address'"
Python Learning
Please open Telegram to view this post
VIEW IN TELEGRAM
👍16🔥3
В Python метод
list.append()
добавляет элемент в конец списка. Это самый простой способ динамически расширять список.Python Learning
Please open Telegram to view this post
VIEW IN TELEGRAM
👍26😁6🗿4
В Python метод
set.intersection()
возвращает пересечение множеств, то есть элементы, которые присутствуют во всех переданных множествах. Это удобно для нахождения общих данных.Python Learning
Please open Telegram to view this post
VIEW IN TELEGRAM
👍18❤🔥5🔥3
В Python функция
map()
позволяет применить заданную функцию к каждому элементу итерируемого объекта, создавая новый объект с результатами. Это удобно для преобразования данных.Python Learning
Please open Telegram to view this post
VIEW IN TELEGRAM
👍23❤🔥2