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

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

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

В Python для проверки типа объекта есть два подхода:

type(obj) — строгая проверка на конкретный класс
isinstance(obj, Class) — проверка с учётом наследования.

➡️ Пример:

class Animal: pass
class Dog(Animal): pass

d = Dog()

print(type(d) == Animal) # False
print(isinstance(d, Animal)) # True


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

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

Пример:

numbers = [10, 20, 30, 40]

last = numbers.pop()
print(last) # ➜ 40
print(numbers) # ➜ [10, 20, 30]

first = numbers.pop(0)
print(first) # ➜ 10
print(numbers) # ➜ [20, 30]


📌В этом примере pop() сначала удаляет последний элемент, затем — первый.

pop() удобно использовать при работе со стеками и очередями, а также когда нужно пошагово обрабатывать список, убирая уже использованные элементы
Please open Telegram to view this post
VIEW IN TELEGRAM
1
Что выведет код?
👩‍💻 name == "main" — точка входа в программу

В Python каждый файл можно запускать напрямую или импортировать как модуль.
Переменная __name__ помогает отличить эти случаи.

➡️ Пример:

def greet():
print("Привет!")

if __name__ == "__main__":
greet() # выполнится только при прямом запуске файла


📌 Это позволяет писать код, который работает и как самостоятельная программа, и как импортируемый модуль без лишних запусков
Please open Telegram to view this post
VIEW IN TELEGRAM
👩‍💻 *args и kwargs — гибкие аргументы функций

В Python можно передавать переменное количество аргументов в функцию:

🟢*args собирает позиционные аргументы в кортеж

🟢**kwargs собирает именованные аргументы в словарь

➡️ Пример:

def show_info(*args, **kwargs):
print("args:", args)
print("kwargs:", kwargs)

show_info(1, 2, 3, name="Анна", age=25)

args: (1, 2, 3)
kwargs: {'name': 'Анна', 'age': 25}


📌 Удобно для написания универсальных функций и работы с динамическими параметрами
Please open Telegram to view this post
VIEW IN TELEGRAM
Что выведет код?
👩‍💻 zip — объединение коллекций по элементам

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

➡️ Пример:

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

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

Анна: 95
Борис: 88
Вера: 76


📌 Удобно для параллельного перебора списков
Please open Telegram to view this post
VIEW IN TELEGRAM
👩‍💻 itertools.product — все комбинации элементов

itertools.product() создаёт декартово произведение — все возможные комбинации элементов из нескольких последовательностей

➡️ Пример:

from itertools import product

colors = ["red", "green"]
sizes = ["S", "M", "L"]

for combo in product(colors, sizes):
print(combo)

('red', 'S')
('red', 'M')
('red', 'L')
('green', 'S')
('green', 'M')
('green', 'L')


📌 Полезно при генерации вариантов, тестов или переборе параметров
Please open Telegram to view this post
VIEW IN TELEGRAM