byteofpython | Unsorted

Telegram-канал byteofpython - 🐍 Укус питона 🐍

2619

🐍 Канал о программировании на языке Python. Тематические уроки и лайфхаки. 👽 Админ - @it_dashka 🔊 Купить рекламу: https://telega.in/c/byteofpython 👉 Чат: @abyteofpython 👉 Поделиться с друзьями: @byteofpython

Subscribe to a channel

🐍 Укус питона 🐍

👩‍💻 slice — продвинутая нарезка последовательностей

Объект slice позволяет создавать диапазоны с шагом, которые можно применять к спискам, строкам и другим последовательностям.

➡️ Пример:

text = "Программирование"
s = slice(0, 10, 2)

print(text[s]) # Погрмр


📌 slice(start, stop, step) — аналог среза text[0:10:2], но его можно передавать как переменную.

Полезно, когда срез нужно вычислять динамически или передавать в функцию

Читать полностью…

🐍 Укус питона 🐍

Что выведет следующий код?

Читать полностью…

🐍 Укус питона 🐍

👩‍💻 collections.Counter — быстрый подсчёт элементов

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

➡️ Пример:

from collections import Counter

words = ["яблоко", "банан", "яблоко", "вишня", "банан", "банан"]
counted = Counter(words)

print(counted)

Counter({'банан': 3, 'яблоко': 2, 'вишня': 1})


📌 Можно использовать .most_common(), сложение/вычитание счётчиков и другие операции.
Очень полезен при анализе текста, логов или при решении задач на частоту.

Читать полностью…

🐍 Укус питона 🐍

👩‍💻 walrus оператор := — присваивание внутри выражений

Оператор :=, прозванный "моржовым" (walrus operator), позволяет присваивать значение переменной прямо внутри выражения — например, в условии if или while.

➡️ Пример:

data = input("Введите имя (или leave): ")

while (name := data) != "leave":
print(f"Привет, {name}!")
data = input("Введите имя (или leave): ")


📌 Здесь name := data присваивает и сразу использует переменную. Без этого пришлось бы дублировать input(...).

Читать полностью…

🐍 Укус питона 🐍

Что выведет следующий код?

Читать полностью…

🐍 Укус питона 🐍

👩‍💻 enumerate() — индексы и значения в одном цикле

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

Это чище и безопаснее, чем range(len(...)).


➡️ Пример:

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

for i, name in enumerate(names):
print(f"{i}: {name}")

0: Анна
1: Борис
2: Вера


📌 Удобно при нумерации, логировании, отладке и генерации пар (индекс + значение).

Читать полностью…

🐍 Укус питона 🐍

👩‍💻 id() — уникальный идентификатор объекта

Функция id() возвращает уникальный идентификатор объекта в памяти во время его жизни.

Это полезно для понимания ссылочной природы переменных.


➡️ Пример:

a = [1, 2, 3]
b = a

print(id(a)) # Например: 140712695187008
print(id(b)) # Тот же самый ID


Вывод показывает, что a и b — это ссылки на один и тот же объект.

📌 Полезно при изучении мутабельности и передачи по ссылке.

Читать полностью…

🐍 Укус питона 🐍

👩‍💻 globals() и locals() — доступ к пространству имён

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

➡️ Пример:

x = 10

def demo():
y = 5
print("Локальные:", locals())
print("Глобальные:", globals()["x"])

demo()

Локальные: {'y': 5}
Глобальные: 10


📌 Зачем это нужно:

🟢Отладка и инспекция переменных
🟢Динамическое выполнение кода (eval, exec)
🟢Построение интерактивных сред (например, REPL или дебаггеры)


⚠️ Использовать с осторожностью — это мощный, но легко усложняющий читаемость инструмент.

Читать полностью…

🐍 Укус питона 🐍

🔹 dict.keys(), values(), items() — перебор словаря

Методы keys(), values() и items() позволяют удобно перебирать словарь.

➡️ Пример:

user = {"name": "Анна", "age": 28}

for key, value in user.items():
print(f"{key}: {value}")

name: Анна
age: 28


items() возвращает пары ключ–значение, keys() — только ключи, values() — только значения.
Полезно для чистого и понятного кода при работе со словарями.

Читать полностью…

🐍 Укус питона 🐍

🔹 isinstance() — проверка типа объекта

isinstance() используется для проверки, принадлежит ли объект к определённому типу (или нескольким типам).

➡️ Пример:

x = 3.14

if isinstance(x, (int, float)):
print("Это число")

Это число


Полезно для валидации входных данных и написания гибких функций.


Работает с базовыми и пользовательскими типами.

Читать полностью…

🐍 Укус питона 🐍

🔹 zip() + unpacking — параллельный перебор списков

С помощью zip() можно перебирать несколько списков одновременно.

А с распаковкой (*) удобно разъединять обратно.

➡️ Пример:

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

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

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


zip() помогает работать с данными построчно и синхронно.

А zip(*iterable) делает обратное — трансформирует строки в колонки.

Читать полностью…

🐍 Укус питона 🐍

🔹 list comprehension — создание списков в одну строку

Списковые включения позволяют создавать списки на основе других коллекций кратко и читаемо.

➡️ Пример:

squares = [x**2 for x in range(1, 6)]
print(squares)

[1, 4, 9, 16, 25]


Подходит для фильтрации, преобразования и генерации данных без лишнего кода.

Читать полностью…

🐍 Укус питона 🐍

🔹 lambda — анонимные функции в одну строку

lambda позволяет создавать небольшие функции без имени. Полезно для простых операций, особенно в сочетании с map(), filter() и sorted().

➡️ Пример:

square = lambda x: x ** 2
print(square(5)) # Вывод: 25


Такая функция не требует def и может быть использована сразу, "на месте". Подходит для одноразовых действий, когда обычная функция — избыточна.

Читать полностью…

🐍 Укус питона 🐍

Зачем используется функция filter() в Python и когда её применять?

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

✅ Пример:

users = [
{"name": "Alice", "active": True},
{"name": "Bob", "active": False},
{"name": "Charlie", "active": True}
]

active_users = list(filter(lambda u: u["active"], users))
print(active_users)
# ➜ [{'name': 'Alice', 'active': True}, {'name': 'Charlie', 'active': True}]


📌 В этом примере filter() возвращает только активных пользователей.

filter() удобно использовать для очистки данных, предобработки перед ML, фильтрации списков, словарей и генераторов. Это делает код компактным и избавляет от явных циклов, особенно в функциональном стиле.

Читать полностью…

🐍 Укус питона 🐍

🔹 dict.get() — безопасное получение значения по ключу

Метод get() возвращает значение из словаря по ключу. Если ключа нет — возвращает None или значение по умолчанию.

➡️ Пример:


user = {"name": "Анна", "age": 28}

print(user.get("name")) # Анна
print(user.get("email")) # None
print(user.get("email", "-")) # -


Удобно, когда не уверен, что ключ точно есть в словаре — исключения не будет.

Читать полностью…

🐍 Укус питона 🐍

👩‍💻 setdefault() — безопасное добавление в словарь

Метод setdefault() используется для получения значения по ключу из словаря, одновременно создавая его, если ключа ещё нет.

➡️ Пример:

data = {}
data.setdefault("users", []).append("Анна")
data.setdefault("users", []).append("Борис")

print(data)

{'users': ['Анна', 'Борис']}


📌 Удобно при работе с коллекциями внутри словаря — не нужно проверять наличие ключа вручную. Альтернатива конструкции с if key not in dict.

Читать полностью…

🐍 Укус питона 🐍

Зачем используется метод strip() в Python и когда его применять?

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

Пример:

user_input = "  hello world  "
cleaned = user_input.strip()
print(cleaned)
# ➜ "hello world"


📌В этом примере strip() убирает лишние пробелы по краям строки, оставляя только значимый текст.

strip() удобно использовать при чтении из файлов, работе с формами, разборе CSV/JSON и валидации пользовательского ввода. Также существуют .lstrip() и .rstrip() — для удаления только слева или справа. Метод делает работу с текстом точной и предсказуемой

Читать полностью…

🐍 Укус питона 🐍

Что выведет следующий код?

Читать полностью…

🐍 Укус питона 🐍

👩‍💻 any() и all() — проверка условий для коллекций

Функции any() и all() позволяют проверить, соответствуют ли элементы коллекции какому-либо условию.

🟢any() возвращает True, если хотя бы один элемент — истинный

🟢all() возвращает True, если все элементы — истинные


➡️ Пример:

scores = [80, 90, 75, 0]

print(any(scores)) # True — есть хотя бы одно ненулевое значение
print(all(scores)) # False — есть 0


📌 Полезны для фильтрации, валидации и сокращения логики if. Работают с любыми итерируемыми объектами.

Читать полностью…

🐍 Укус питона 🐍

👩‍💻 lambda — анонимные функции в одну строку

lambda в Python позволяет создавать короткие безымянные функции "на лету".

🗣️ Полезно для простых операций, особенно при работе с функциями высшего порядка (map, filter, sorted и др).


➡️ Пример:

nums = [3, 1, 5, 2, 4]

# Сортируем по убыванию с помощью lambda
sorted_nums = sorted(nums, key=lambda x: -x)

print(sorted_nums) # [5, 4, 3, 2, 1]


📌 lambda-функция здесь возвращает отрицательное значение числа, что меняет порядок сортировки.

Читать полностью…

🐍 Укус питона 🐍

Зачем используется функция set() в Python и когда её применять?

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

Пример:

items = ["apple", "banana", "apple", "orange", "banana"]
unique_items = list(set(items))
print(unique_items)
# ➜ ['orange', 'banana', 'apple']


📌В этом примере set() удаляет повторы из списка, возвращая только уникальные элементы.

set() удобно использовать для фильтрации, проверки пересечений (&), объединения (|) и вычитания множеств. Это особенно полезно при обработке данных, проверке прав доступа, поиске уникальных значений или сравнении коллекций

Читать полностью…

🐍 Укус питона 🐍

Как сказать рутине STOP?

Ускорьте рабочие процессы и освободите время для более интересных дел — с помощью курса Слёрма «Python для инженеров» 👈

Это обучение, заточенное на инженеров в нём нет ничего лишнего, только то, что необходимо именно вам.

На курсе вы научитесь:

🔹 писать эффективный и поддерживаемый код;
🔹 писать Kubernetes-операторы и модули для Ansible;
🔹 создавать, использовать и тестировать свои API;
🔹 взаимодействовать с инструментами CI/CD, CVS и DevOps системами.

Есть бесплатный демодоступ.

Старт 11 августа. Занять своё место на курсе — по ссылке.

Читать полностью…

🐍 Укус питона 🐍

🔹 try-except — обработка ошибок в Python

Конструкция try-except позволяет перехватывать ошибки во время выполнения и избегать падения программы.

➡️ Пример:

user_input = "42a"

try:
number = int(user_input)
print("Число:", number)
except ValueError:
print("Ошибка: это не целое число")

Ошибка: это не целое число


Полезно при работе с вводом, файлами, сетью и любыми нестабильными операциями.

Можно добавить else и finally для дополнительной логики.

Читать полностью…

🐍 Укус питона 🐍

🔹 range + len — индексы без enumerate

Если нужен доступ к элементам списка и их индексам, но без enumerate(), можно использовать range(len(...)).

➡️ Пример:

fruits = ["яблоко", "банан", "груша"]

for i in range(len(fruits)):
print(f"{i}: {fruits[i]}")

0: яблоко
1: банан
2: груша


Такой способ часто используется, если нужно изменять элементы списка по индексу.

Читать полностью…

🐍 Укус питона 🐍

🔹 set() — быстрое удаление дубликатов

Множество (set) хранит только уникальные значения.

Используется для удаления повторов и быстрой проверки принадлежности.

➡️ Пример:

numbers = [1, 2, 2, 3, 4, 4, 5]
unique = list(set(numbers))
print(unique)

[1, 2, 3, 4, 5]


set() — простой способ избавиться от дубликатов в списке. Порядок элементов не сохраняется.

Читать полностью…

🐍 Укус питона 🐍

❓ Зачем используется функция zip() в Python и когда её применять

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

Это удобно для синхронной обработки данных из разных источников.

✅ Пример:

names = ["Alice", "Bob", "Charlie"]
scores = [85, 92, 78]

for name, score in zip(names, scores):
print(f"{name}: {score}")
# ➜ Alice: 85
# ➜ Bob: 92
# ➜ Charlie: 78


📌 В этом примере zip() объединяет списки имён и баллов, позволяя пройтись по ним одновременно.

zip() удобно использовать при работе с таблицами, конфигурациями, CSV-данными, векторными операциями и в ML — когда нужно синхронно итерироваться по признакам и меткам. Код получается чище и безопаснее, чем ручной перебор с индексами.

Читать полностью…

🐍 Укус питона 🐍

🔹 Тернарный оператор — короткий if в одну строку

В Python можно записать простое условие в одну строку с помощью тернарного оператора.
Формат: a if условие else b

➡️ Пример:

age = 18
status = "взрослый" if age >= 18 else "несовершеннолетний"
print(status)

взрослый


Удобно для присваивания значений на основе условий без многострочного if.

Читать полностью…

🐍 Укус питона 🐍

🔹 Что делает *

Распаковывает позиционные значения — элементы из списка, кортежа, строки и т.д.

Пример:

numbers = [1, 2, 3]
print(*numbers) # Вывод: 1 2 3


Или объединение:
a = [1, 2]
b = [3, 4]
combined = [*a, *b] # [1, 2, 3, 4]


Также *args используется в функциях для сбора неограниченного числа аргументов.


🔹 Что делает **

Распаковывает именованные аргументы из словаря.

Пример:
def greet(name, age):
print(f"{name}, {age} лет")

data = {"name": "Анна", "age": 30}
greet(**data) # Эквивалентно greet(name="Анна", age=30)


Также **kwargs используется для сбора именованных аргументов внутри функций.


🧠 Зачем это нужно

• Удобно передавать аргументы из коллекций

• Компактно объединять и копировать структуры

• Повышает читаемость и гибкость кода

Читать полностью…

🐍 Укус питона 🐍

🔹 enumerate() — индексы в цикле for

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

➡️ Пример:

fruits = ["яблоко", "банан", "вишня"]

for index, fruit in enumerate(fruits):
print(index, fruit)

0 яблоко
1 банан
2 вишня


enumerate() делает код чище и заменяет ручной счётчик.

Читать полностью…

🐍 Укус питона 🐍

🔹 set() — создание множества в Python

set() создаёт коллекцию уникальных элементов. Повторяющиеся значения автоматически удаляются.

➡️ Пример:

numbers = [1, 2, 2, 3, 3, 3]
unique = set(numbers)
print(unique)

{1, 2, 3}


Множества полезны для удаления дубликатов, математических операций (пересечение, объединение) и быстрых проверок принадлежности.

Читать полностью…
Subscribe to a channel