🐍 Укус питона 🐍
Відкрити в Telegram
🐍 Канал о программировании на языке Python. Тематические уроки и лайфхаки. 👽 Админ - @tg_adminisrator 🔊 Купить рекламу: https://telega.in/c/byteofpython 👉 Чат: @abyteofpython 👉 Поделиться с друзьями: @byteofpython
Показати більше2 334
Підписники
Немає даних24 години
-117 днів
-3730 день
Архів дописів
\n\n📌В этом примере querySelectorAll() выбирает все элементы с классом item и меняет их цвет\n\nquerySelectorAll() удобно использовать при работе со списками, карточками, формами и динамическими интерфейсами. Он поддерживает любые CSS-селекторы и позволяет легко применять массовые изменения к группе элементов","datePublished":"2025-10-12T09:01:41Z","dateModified":"2025-10-12T09:01:41Z","author":{"@type":"Organization","name":"🐍 Укус питона 🐍","url":"https://telemetr.io/uk/channels/1657719003-byteofpython","image":"https://img.tlmtr.io/c/1ObCrh/5204427226974633622?ty=x"},"publisher":{"@type":"Organization","name":"🐍 Укус питона 🐍","url":"https://telemetr.io/uk/channels/1657719003-byteofpython","image":"https://img.tlmtr.io/c/1ObCrh/5204427226974633622?ty=x"},"commentCount":1,"interactionStatistic":[{"@type":"InteractionCounter","interactionType":"https://schema.org/ViewAction","userInteractionCount":184},{"@type":"InteractionCounter","interactionType":"https://schema.org/CommentAction","userInteractionCount":1}]}}]}








2 334
👩💻 Замороженные датаклассы — безопасные объекты без мутаций
В Python
dataclasses можно сделать неизменяемыми с помощью параметра frozen=True.
Это превращает экземпляры в безопасные структуры данных, похожие на namedtuple, но с гибкостью классов.➡️ Пример:
from dataclasses import dataclass
@dataclass(frozen=True)
class Point:
x: int
y: int
p = Point(3, 5)
# p.x = 10 # ❌ Ошибка: объект заморожен
print(p) # Point(x=3, y=5)
📌 Используй frozen dataclass, если данные должны быть константными и безопасными по дизайну
2 334
👩💻 Что такое свойство line-height в CSS и зачем оно нужно?
Свойство
line-height управляет расстоянием между строками текста.
Это влияет не только на читаемость, но и на вертикальный ритм всего интерфейса➡️ Пример:
<p class="text">
Это пример текста с увеличенным межстрочным интервалом.
</p>
<style>
.text {
font-size: 16px;
line-height: 1.8;
}
</style>
📌 В этом примере строки располагаются свободнее, благодаря line-height: 1.8
2 334
❓ Зачем используется метод remove() в Python и когда его применять?
Метод
remove() удаляет первое вхождение указанного элемента из списка. Это удобно, когда нужно убрать конкретное значение, а не по индексу.
✅Пример:
fruits = ["apple", "banana", "orange", "banana"]
fruits.remove("banana")
print(fruits)
# ➜ ['apple', 'orange', 'banana']
📌В этом примере remove() удаляет только первое появление "banana", оставляя второе
remove() удобно использовать при очистке данных, фильтрации списков или удалении обработанных элементов. Если элемента нет, Python вызывает ValueError, поэтому перед удалением лучше проверять наличие через in
2 334
👩💻 Замыкания в Python — функции с памятью
Замыкание (closure) — это функция, которая «запоминает» значения переменных из области видимости, где она была создана, даже если эта область уже недоступна.
Это мощный инструмент для инкапсуляции состояния без классов➡️ Пример:
def counter(start=0):
count = start
def increment():
nonlocal count
count += 1
return count
return increment
click = counter(10)
print(click()) # 11
print(click()) # 12
📌 Функция increment хранит доступ к переменной count, даже после выхода из counter
2 334
👩💻 Декораторы с аргументами — динамическое управление поведением функции
Декораторы в Python могут принимать параметры, что делает их особенно мощными.
Это позволяет менять поведение функций в зависимости от внешних условий, не переписывая код➡️ Пример:
def repeat(times):
def decorator(func):
def wrapper(*args, **kwargs):
for _ in range(times):
func(*args, **kwargs)
return wrapper
return decorator
@repeat(3)
def greet():
print("Привет!")
greet()
# Привет!
# Привет!
# Привет!
📌 Здесь repeat(3) создаёт декоратор, который повторяет выполнение функции 3 раза
2 334
👩💻 Замыкания в Python — функция внутри функции
Замыкание (closure) — это функция, которая "запоминает" значения из внешней области видимости, даже если эта область уже недоступна.
Это один из способов создавать функции с состоянием, не используя классы➡️ Пример:
def counter():
count = 0
def inner():
nonlocal count
count += 1
return count
return inner
c = counter()
print(c()) # 1
print(c()) # 2
print(c()) # 3
📌 inner() помнит переменную count между вызовами, потому что она «замкнута» из внешней функции
2 334
👩💻 Передача изменяемых объектов в функции
В Python аргументы передаются по ссылке на объект, а не по значению.
Если функция изменяет мутабельный объект (список, словарь), изменения сохраняются снаружи➡️ Пример:
def add_item(items):
items.append("новый элемент")
data = ["a", "b"]
add_item(data)
print(data) # ['a', 'b', 'новый элемент']
📌 Функция не вернула новый список — она изменила существующий. Чтобы избежать этого, передавай копию (items[:] или items.copy()).
2 334
👩💻 Как Python хранит функции: всё — объекты
В Python функции — это не особый синтаксис, а объекты первого класса.
Их можно присваивать переменным, передавать в другие функции и возвращать как значения➡️ Пример:
def greet(name):
return f"Привет, {name}!"
say_hello = greet # присвоили функцию переменной
print(say_hello("Анна")) # Привет, Анна!
def run(func, arg):
print(func(arg))
run(greet, "Борис") # можно передавать функцию как аргумент
📌 Понимание, что функции — такие же объекты, как строки или списки, открывает путь к лямбдам, декораторам и функциональному стилю в Python
2 334
❓ Зачем используется метод
querySelectorAll() в JavaScript и когда его применять?
Метод querySelectorAll() возвращает список всех элементов, соответствующих указанному CSS-селектору. Это удобно, когда нужно сразу получить несколько элементов для обработки или изменений.
✅Пример:
<ul>
<li class="item">Apple</li>
<li class="item">Banana</li>
<li class="item">Orange</li>
</ul>
<script>
const items = document.querySelectorAll(".item");
items.forEach(el => el.style.color = "blue");
</script>
📌В этом примере querySelectorAll() выбирает все элементы с классом item и меняет их цвет
querySelectorAll() удобно использовать при работе со списками, карточками, формами и динамическими интерфейсами. Он поддерживает любые CSS-селекторы и позволяет легко применять массовые изменения к группе элементов
