Python Learning
34.6K subscribers
1.91K photos
8 videos
7 files
913 links
№ 4974297878

Обучающий канал по Python

Ссылка для друга - https://yangx.top/+I7jrAQKR5xAyYTAy

По всем вопросам @mascarov_valentin

Реклама на бирже - https://telega.in/c/Python_per_month
加入频道
⚙️math.ceil() и math.floor()

В Python функции math.ceil() и math.floor() из модуля math используются для округления чисел вверх или вниз до ближайшего целого значения. Это полезно для контроля направления округления.

Python Learning 👩‍💻
Please open Telegram to view this post
VIEW IN TELEGRAM
👍12
Вопрос на собеседовании

Что такое __slots__ в Python, как они работают, и в каких случаях их стоит использовать?

Ответ ⬇️
__slots__ — это специальный атрибут класса, который определяет фиксированный набор атрибутов для экземпляров класса. Это уменьшает потребление памяти, так как вместо хранения атрибутов в стандартном словаре (__dict__), они хранятся в виде фиксированной структуры. __slots__ полезны, если нужно создавать большое количество объектов одного класса, где экономия памяти критична. Однако __slots__ ограничивает добавление новых атрибутов, что делает классы менее гибкими.

Пример использования ⚙️
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
⚙️list.append()

В Python метод list.append() добавляет элемент в конец списка. Это самый простой способ динамически расширять список.

Python Learning 👩‍💻
Please open Telegram to view this post
VIEW IN TELEGRAM
👍26😁6🗿4
⚙️set.intersection()

В Python метод set.intersection() возвращает пересечение множеств, то есть элементы, которые присутствуют во всех переданных множествах. Это удобно для нахождения общих данных.

Python Learning 👩‍💻
Please open Telegram to view this post
VIEW IN TELEGRAM
👍18❤‍🔥5🔥3
😁 Жиза?

Python Learning 👩‍💻
Please open Telegram to view this post
VIEW IN TELEGRAM
❤‍🔥58😁38👍13👨‍💻6
⚙️ map()

В Python функция map() позволяет применить заданную функцию к каждому элементу итерируемого объекта, создавая новый объект с результатами. Это удобно для преобразования данных.

Python Learning 👩‍💻
Please open Telegram to view this post
VIEW IN TELEGRAM
👍23❤‍🔥2
👩‍💻 Задача по Python: Уникальные элементы с сохранением порядка

Напишите функцию, которая принимает список и возвращает новый список, содержащий только уникальные элементы, сохраняя их порядок появления.

Пример:

numbers = [1, 2, 2, 3, 4, 3, 5, 1]
result = unique_order(numbers)
print(result)
# Ожидаемый результат: [1, 2, 3, 4, 5]


Решение задачи на картинке ☝️

Python Learning 👩‍💻
Please open Telegram to view this post
VIEW IN TELEGRAM
👍21🏆2
⚙️ functools.partial

В Python функция functools.partial() позволяет создавать новую функцию с заранее зафиксированными значениями некоторых аргументов. Это удобно для упрощения вызовов функций с часто используемыми параметрами.

Python Learning 👩‍💻
Please open Telegram to view this post
VIEW IN TELEGRAM
👍19❤‍🔥1
Что будет выведено при выполнении кода?

Пояснение
⬇️
Метод __enter__ выполняется при входе в блок with, выводя Entering. Значение "Context Active" возвращается в переменную ctx и выводится. Исключение ValueError возникает, но перед этим вызывается __exit__, выводящий Exiting. Затем исключение не подавляется, и программа завершится с сообщением об ошибке.


Python Learning
👩‍💻
Please open Telegram to view this post
VIEW IN TELEGRAM
👍7❤‍🔥1
⚙️ functools.lru_cache

В Python декоратор functools.lru_cache кэширует результаты вызовов функции, что позволяет ускорить выполнение повторяющихся вычислений. Это удобно для оптимизации функций с дорогостоящими вычислениями.

Python Learning 👩‍💻
Please open Telegram to view this post
VIEW IN TELEGRAM
👍18❤‍🔥2
⚙️ heapq.heappush() и heapq.heappop()

В Python модуль heapq предоставляет функции для работы с кучами (heap) — структурами данных для управления приоритетами. heappush() добавляет элемент в кучу, а heappop() удаляет наименьший элемент.

Python Learning 👩‍💻
Please open Telegram to view this post
VIEW IN TELEGRAM
👍15❤‍🔥2
⚙️ min() и max()

В Python функции min() и max() используются для нахождения минимального и максимального значений в итерируемых объектах. Эти функции поддерживают кастомные критерии сравнения.

Python Learning 👩‍💻
Please open Telegram to view this post
VIEW IN TELEGRAM
👍22❤‍🔥1
Вопрос на собеседовании

Что такое генераторы Python, как работает метод send() в генераторах, и как его можно использовать для управления их поведением?

Ответ ⬇️
Генераторы в Python — это функции, которые используют yield для возврата значения и приостановки выполнения. Метод send() позволяет отправлять данные обратно в генератор, которые затем могут быть использованы внутри генератора при следующем возобновлении. Это делает генераторы двусторонними, позволяя не только получать значения, но и передавать данные в них.

Пример использования ⚙️
def interactive_generator():
value = yield "Начало" # Возвращаем начальное значение
while value:
value = yield f"Вы отправили: {value}" # Возвращаем обработанное значение

gen = interactive_generator()
print(next(gen)) # "Начало"
print(gen.send("Привет")) # "Вы отправили: Привет"
print(gen.send("Python")) # "Вы отправили: Python"
gen.close() # Завершаем генератор


Python Learning
👩‍💻
Please open Telegram to view this post
VIEW IN TELEGRAM
👍20❤‍🔥2
⚙️ vars()

В Python функция vars() возвращает словарь атрибутов объекта или локальные переменные, если объект не указан. Это удобно для работы с объектами или отладки.

Python Learning 👩‍💻
Please open Telegram to view this post
VIEW IN TELEGRAM
👍14❤‍🔥2
👩‍💻 Задача по Python: Подсчёт частоты символов в строке

Напишите функцию, которая принимает строку и возвращает словарь, где ключи — это символы строки, а значения — количество их вхождений.

Пример:

result = count_char_frequency("hello world")
print(result)
# Ожидаемый результат:
# {'h': 1, 'e': 1, 'l': 3, 'o': 2, ' ': 1, 'w': 1, 'r': 1, 'd': 1}


Решение задачи на картинке ☝️

Python Learning 👩‍💻
Please open Telegram to view this post
VIEW IN TELEGRAM
👍18❤‍🔥2
Wooey

Wooey — это библиотека Python, которая позволяет создавать простые веб-интерфейсы для ваших скриптов командной строки. Она является мощным инструментом для повышения доступности, улучшения удобства использования и сбора данных.

Python Learning 👩‍💻
Please open Telegram to view this post
VIEW IN TELEGRAM
👍14❤‍🔥2
Что будет выведено при выполнении кода?

Пояснение
⬇️
Класс Counter реализует интерфейсы __iter__ и __next__, превращая объект в итератор. Итератор начинает с 1 и увеличивает значение на каждом шаге, пока не достигнет 3. После этого выбрасывается исключение StopIteration, которое завершает цикл.


Python Learning
👩‍💻
Please open Telegram to view this post
VIEW IN TELEGRAM
👍9❤‍🔥3
👍17🤔5🏆4❤‍🔥1😢1🍾1
⚙️ setattr()

В Python функция setattr() позволяет динамически устанавливать значение атрибута объекта. Это полезно, если имя атрибута известно только во время выполнения программы.

Python Learning 👩‍💻
Please open Telegram to view this post
VIEW IN TELEGRAM
👍12❤‍🔥2
⚙️ isinstance()

В Python функция isinstance() проверяет, является ли объект экземпляром указанного класса или его подкласса. Это удобно для проверки типов во время выполнения.

Python Learning 👩‍💻
Please open Telegram to view this post
VIEW IN TELEGRAM
👍23❤‍🔥1