🐍 Укус питона 🐍
2.51K subscribers
1.04K photos
23 videos
285 links
🐍 Канал о программировании на языке Python. Тематические уроки и лайфхаки.

👽 Админ - @it_dashka
🔊 Купить рекламу: https://telega.in/c/byteofpython

👉 Чат: @abyteofpython
👉 Поделиться с друзьями: @byteofpython
Download Telegram
Что выведет код?
👩‍💻 zip — объединение последовательностей

Функция zip() объединяет элементы из нескольких коллекций в кортежи по индексам.

Удобно для параллельного перебора данных


➡️ Пример:

names = ["Анна", "Борис", "Вера"]
scores = [90, 85, 78]

for name, score in zip(names, scores):
print(f"{name}: {score}")

Анна: 90
Борис: 85
Вера: 78


📌 Если длины разные, перебор остановится по самому короткому списку
Please open Telegram to view this post
VIEW IN TELEGRAM
Зачем используется функция sorted() в Python и когда её применять?

Функция sorted() возвращает новый отсортированный список из элементов итерируемого объекта, не изменяя оригинал. Это удобно для быстрой сортировки данных по возрастанию, убыванию или пользовательскому ключу.

Пример:

numbers = [5, 2, 9, 1, 7]
sorted_nums = sorted(numbers)
print(sorted_nums)
# ➜ [1, 2, 5, 7, 9]
print(numbers)
# ➜ [5, 2, 9, 1, 7] (оригинал не изменился)


📌В этом примере sorted() создала новый список с числами по возрастанию, не затронув исходный.

sorted() удобно использовать для сортировки строк, чисел, словарей по значениям, а также при обработке данных в аналитике и ML. Благодаря параметрам reverse и key функция остаётся гибкой и читаемой.
Please open Telegram to view this post
VIEW IN TELEGRAM
Что выведет код?
👩‍💻 collections.deque — очередь с двумя концами

deque из модуля collections — это двусторонняя очередь, которая работает быстрее списка при добавлении и удалении элементов с краёв.

➡️ Пример:

from collections import deque

queue = deque([1, 2, 3])
queue.append(4) # добавляем справа
queue.appendleft(0) # добавляем слева
queue.pop() # удаляем справа
queue.popleft() # удаляем слева

print(queue) # deque([1, 2, 3])


📌 Удобно для реализации очередей, стеков и работы с потоками данных
Please open Telegram to view this post
VIEW IN TELEGRAM
Что выведет код?
👩‍💻 frozenset — неизменяемое множество

frozenset — это множество, элементы которого нельзя изменять после создания.

Оно поддерживает те же операции, что и обычный set: объединение, пересечение, разность.


➡️ Пример:

a = frozenset([1, 2, 3])
b = frozenset([3, 4, 5])

print(a & b) # пересечение → frozenset({3})


📌 Удобно, когда нужно использовать множество как ключ в словаре или элемент другого множества
Please open Telegram to view this post
VIEW IN TELEGRAM
Что выведет код?
👩‍💻 globals() — доступ к глобальным переменным

Функция globals() возвращает словарь всех глобальных переменных текущего модуля.
Можно использовать для динамического доступа к переменным по имени.

➡️ Пример:

x = 42
name = "Python"

print(globals()["x"]) # 42
print(globals()["name"]) # Python


📌 Полезно для отладки, метапрограммирования и работы с динамическими именами, но в обычном коде лучше использовать напрямую
Please open Telegram to view this post
VIEW IN TELEGRAM
Зачем используется метод append() в Python и когда его применять?

Метод append() добавляет элемент в конец списка. Это один из самых распространённых способов динамически расширять коллекцию.

Пример:

fruits = ["apple", "banana"]
fruits.append("orange")
print(fruits)
# ➜ ['apple', 'banana', 'orange']


📌В этом примере append() добавляет новый элемент "orange" в конец списка.

append() удобно использовать при работе с динамическими данными: сборе результатов в циклах, формировании очередей, накоплении элементов для дальнейшей обработки. Этот метод делает работу со списками гибкой и интуитивно понятной
Please open Telegram to view this post
VIEW IN TELEGRAM
Что выведет код?
👩‍💻 hasattr — проверка наличия атрибута

Функция hasattr() позволяет проверить, есть ли у объекта указанный атрибут.
Возвращает True или False.

➡️ Пример:

class User:
def __init__(self, name):
self.name = name

u = User("Анна")

print(hasattr(u, "name")) # True
print(hasattr(u, "age")) # False


📌 Полезно для динамической работы с объектами и безопасного доступа к их свойствам
Please open Telegram to view this post
VIEW IN TELEGRAM