🐍 Укус питона 🐍
Відкрити в Telegram
🐍 Канал о программировании на языке Python. Тематические уроки и лайфхаки. 👽 Админ - @tg_adminisrator 🔊 Купить рекламу: https://telega.in/c/byteofpython 👉 Чат: @abyteofpython 👉 Поделиться с друзьями: @byteofpython
Показати більше2 334
Підписники
Немає даних24 години
-117 днів
-3730 день
Архів дописів
2 334
💩 Какова разница между методами getattr и getattribute?
Оба этих метода являются магическими.
🔘
getattr
class Missing:
attr = 42
def getattr(self, name):
print(f"In getattr, asked for {name}")
return 73
m = Missing()
print(m.attr) # 42
print(m.xyz) # In getattr, asked for xyz; 73
Пример кода выше показывает, как метод используется для обработки запроса несуществующего атрибута xyz.
🔘getattribute
class Always:
attr = 42
def getattribute(self, name):
print(f"In getattribute, asked for {name}")
return 73
a = Always()
print(a.attr) # In getattribute, asked for attr; 73
print(a.xyz) # In getattribute, asked for xyz; 73
Здесь же можно увидеть, что метод используется для обработки запросов всех атрибутов, как существующих (attr), так и несуществующих (xyz).
✅ Таким образом, getattribute — это метод, который управляет всеми запросами атрибутов, тогда как getattr вызывается, когда getattribute не находит атрибут.2 334
➡️Что такое importlib?
Это встроенная библиотека Python, которая предоставляет интерфейс для механизма импорта. С ее помощью вы можете программно импортировать модули, перезагружать их и даже создавать свои собственные импортеры!
➡️Вот простой пример использования importlib:
import importlib
# Динамический импорт модуля
math = importlib.import_module('math')
# Использование импортированного модуля
print(math.pi) # Выводит 3.141592653589793
# Перезагрузка модуля
importlib.reload(math)
➡️С importlib вы можете:
• Динамически импортировать модули
• Перезагружать модули во время выполнения
• Создавать пользовательские импортеры
• Работать с пространствами имен пакетов
🔎Эта библиотека особенно полезна при разработке плагинов, создании расширяемых приложений или отладке кода.2 334
Зачем нужно ключевое слово async в Python?
Ключевое слово async в Python используется для создания асинхронных функций (или корутин), которые позволяют выполнять задачи, не блокируя основной поток выполнения программы. Это особенно полезно для работы с такими операциями, как сетевые запросы, взаимодействие с базами данных или чтение/запись файлов.
Вот пример асинхронной функции:
import asyncio
async def fetch_data():
print("Fetching data...")
await asyncio.sleep(2) # симуляция длительной операции
print("Data fetched")
return "Data"
async def main():
result = await fetch_data()
print(result)
# запуск асинхронной функции
asyncio.run(main())
Как можно заметить, async идёт в паре с await, который приостанавливает выполнение fetch_data до завершения asyncio.sleep(2).2 334
➡️Использование библиотеки Selenium
Первый шаг в создании автообновления страницы - использование библиотеки Selenium. Selenium - это набор инструментов для автоматизации веб-браузеров. Он позволяет Python взаимодействовать с браузером, как если бы это делал человек. С помощью Selenium мы можем открыть веб-страницу и обновить ее.
➡️Пример кода:
from selenium import webdriver
driver = webdriver.Firefox() # или любой другой браузер
driver.get('<http://www.example.com>')
➡️Использование метода refresh
Второй шаг - это использование метода refresh в Selenium. Этот метод позволяет обновить текущую страницу. В комбинации с библиотекой time в Python, мы можем настроить скрипт так, чтобы он автоматически обновлял страницу через определенные интервалы времени.
➡️Пример кода:
import time
while True:
driver.refresh() # обновляем страницу
time.sleep(10) # ждем 10 секунд2 334
Interactive Radio Button Animation — перемещение точки при выборе одного из вариантов. Реализована с помощью CSS и JavaScript
