inspect.signature — анализ аргументов функции во время выполненияМожно динамически получать информацию о параметрах функции, не заглядывая в её код. Это полезно для логирования, автогенерации документации и работы с API.
import inspect
def example_function(a: int, b: str = "hello", *args, **kwargs):
pass
sig = inspect.signature(example_function)
for name, param in sig.parameters.items():
print(f"{name}: {param.annotation} = {param.default}")
inspect.signature() извлекает параметры функции, включая их имена, типы и значения по умолчанию.def dynamic_func(**kwargs):
print("Переданные аргументы:", kwargs)
sig = inspect.signature(dynamic_func)
print(sig) # **kwargs
Please open Telegram to view this post
VIEW IN TELEGRAM
👍7
Здесь собраны сотни реализаций алгоритмов: сортировки, работы с графами, криптографии, машинного обучения и многого другого.
Примечательно, что код написан читаемо и сопровождается комментариями, что делает его отличным учебным материалом.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍7❤2
PrettyTable — это удобный инструмент для создания красивых таблиц в терминале Python. Позволяет форматировать данные в виде таблиц без сложных настроек.
from prettytable import PrettyTable
table = PrettyTable()
table.field_names = ["ID", "Имя", "Возраст"]
table.add_row([1, "Алиса", 25])
table.add_row([2, "Боб", 30])
table.add_row([3, "Чарли", 22])
print(table)
pip install prettytable
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥7👍5❤2🤔1
🕵️♂️ Как парсить веб-страницы на Python с помощью BeautifulSoup
Парсинг HTML позволяет извлекать нужные данные с сайтов, автоматизировать сбор информации и анализировать веб-ресурсы. В этом посте разберем базовый пример с библиотекой BeautifulSoup.
💬 Почему это полезно?
— Можно автоматически собирать данные с сайтов.
— Упрощает анализ HTML-страниц.
— Позволяет извлекать конкретные элементы без сложного кода.
⚙️ Простой пример
1. Для начала установим библиотеку:
2. Допустим, у нас есть страница с HTML-кодом:
3. Напишем код для парсинга:
➡️ Как это работает?
•
•
•
•
🐍 Ghostly Python | #гайды
Парсинг HTML позволяет извлекать нужные данные с сайтов, автоматизировать сбор информации и анализировать веб-ресурсы. В этом посте разберем базовый пример с библиотекой BeautifulSoup.
— Можно автоматически собирать данные с сайтов.
— Упрощает анализ HTML-страниц.
— Позволяет извлекать конкретные элементы без сложного кода.
1. Для начала установим библиотеку:
pip install beautifulsoup4 requests
2. Допустим, у нас есть страница с HTML-кодом:
<html>
<body>
<h1>Привет, мир!</h1>
<p class="info">Это пример страницы</p>
</body>
</html>
3. Напишем код для парсинга:
import requests
from bs4 import BeautifulSoup
# Загружаем страницу
url = "https://example.com"
response = requests.get(url)
# Разбираем HTML
soup = BeautifulSoup(response.text, "html.parser")
# Извлекаем заголовок
title = soup.find("h1").text
print(title) # Привет, мир!
# Извлекаем текст из <p> с классом "info"
info = soup.find("p", class_="info").text
print(info) # Это пример страницы
•
requests.get(url) загружает HTML-страницу.•
BeautifulSoup(response.text, "html.parser") анализирует HTML.•
soup.find("h1").text извлекает текст заголовка.•
soup.find("p", class_="info").text получает текст из <p> с классом info.Please open Telegram to view this post
VIEW IN TELEGRAM
👍11❤🔥3❤1
Читаешь дизассемблированный код в Ghidra и тонешь в
local_1-999? Разбираем, как с помощью Python-скриптов автоматизировать разметку переменных и упростить анализ кода, чтобы не тратить часы на рутину.Please open Telegram to view this post
VIEW IN TELEGRAM
👍7
pathlib — удобная работа с файлами и папкамиpathlib — это современный модуль Python для работы с путями к файлам и директориям. В отличие от os.path, он предлагает объектно-ориентированный подход, что делает код чище и понятнее.from pathlib import Path
# Создаем объект пути
file_path = Path("example.txt")
# Проверяем существование файла и читаем его содержимое
if file_path.exists():
print(file_path.read_text())
Path("example.txt") создаёт объект пути вместо обычной строки..exists() проверяет, существует ли файл..read_text() позволяет прочитать файл без использования open().Please open Telegram to view this post
VIEW IN TELEGRAM
👍11
Faker — это удобная библиотека для генерации фейковых данных: имен, адресов, номеров телефонов, дат, текстов и многого другого. Полезна для тестирования и заполнения баз данных случайными значениями.
from faker import Faker
fake = Faker("ru_RU") # Локализация для русского языка
print(fake.name()) # Иван Петров
print(fake.address()) # г. Москва, ул. Ленина, д. 10
print(fake.email()) # random@example.com
pip install faker
Please open Telegram to view this post
VIEW IN TELEGRAM
👍11❤🔥2
Здесь собраны реализации более 30 паттернов: Singleton, Factory, Observer, Command и многих других.
Примечательно, что код написан читаемо, сопровождается комментариями и объяснениями, что делает его отличным ресурсом для изучения архитектурных решений.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍12
itertools.cycle — бесконечный перебор элементовПозволяет зациклить последовательность и бесконечно перебирать её элементы.
from itertools import cycle
colors = cycle(["🔴", "🟢", "🔵"])
for _ in range(6):
print(next(colors), end=" ") # 🔴 🟢 🔵 🔴 🟢 🔵
cycle() создает бесконечный итератор из списка.Please open Telegram to view this post
VIEW IN TELEGRAM
👍11
🗂 Работа с ZIP-архивами в Python с помощью
Архивирование файлов позволяет экономить место и удобно хранить данные. В этом посте разберем базовый пример работы с
💬 Почему это полезно?
— Можно автоматически сжимать файлы.
— Упрощает хранение и передачу данных.
— Позволяет извлекать файлы без ручных действий.
⚙️ Простой пример
1. Установим библиотеку (она встроена в Python):
2. Допустим, у нас есть файл
3. Напишем код:
➡️ Как это работает?
•
•
• Можно архивировать папки, несколько файлов или извлекать данные.
🐍 Ghostly Python | #гайды
zipfileАрхивирование файлов позволяет экономить место и удобно хранить данные. В этом посте разберем базовый пример работы с
zipfile.— Можно автоматически сжимать файлы.
— Упрощает хранение и передачу данных.
— Позволяет извлекать файлы без ручных действий.
1. Установим библиотеку (она встроена в Python):
pip install zipfile36 # Только для старых версий Python
2. Допустим, у нас есть файл
file.txt, который нужно заархивировать:3. Напишем код:
import zipfile
with zipfile.ZipFile("archive.zip", "w") as zipf:
zipf.write("file.txt") # Добавляем файл в архив
•
ZipFile("archive.zip", "w") создаёт новый архив.•
.write("file.txt") добавляет файл в ZIP.• Можно архивировать папки, несколько файлов или извлекать данные.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍10⚡1
__slots__ в Python — магия, которая экономит память и запрещает лишние атрибуты. Разбираем, как он работает, когда стоит его применять, а когда лучше обойти стороной.Please open Telegram to view this post
VIEW IN TELEGRAM
👍7
MoviePy — это мощная библиотека для работы с видео в Python. Позволяет обрезать, соединять видео, накладывать текст, извлекать аудио и многое другое.
from moviepy.editor import VideoFileClip
# Загружаем видеофайл
clip = VideoFileClip("input.mp4")
# Обрезаем первые 5 секунд и сохраняем новый файл
clip.subclip(0, 5).write_videofile("output.mp4")
pip install moviepy
Please open Telegram to view this post
VIEW IN TELEGRAM
👍8🔥3⚡1
itertools.permutations — генерация всех возможных перестановокПозволяет получить все возможные упорядоченные комбинации элементов из последовательности.
from itertools import permutations
items = ["A", "B", "C"]
for perm in permutations(items):
print(perm)
permutations() создаёт все возможные перестановки элементов.Please open Telegram to view this post
VIEW IN TELEGRAM
👍10❤1
Хотите гарантированно завалить IT-собес? Легко! Разбираем типичные ошибки, на которых кандидаты сыпятся снова и снова. Даже опытных разработчиков могут подловить на неожиданных вопросах.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍9👏1
Здесь представлено сжатое руководство с примерами кода, охватывающее синтаксис, структуры данных, функции, классы и многое другое.
Примечательно, что материал подан в формате "минимум теории — максимум примеров", что позволяет быстро освоить основы языка.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍10❤1