Исследование структуры кода с помощью модуля ast
При работе с кодом на Python, иногда возникает необходимость анализа его структуры. Для этого идеально подходит модуль ast (Abstract Syntax Trees), который предоставляет мощные инструменты для работы с абстрактными синтаксическими деревьями.
Что такое ast?
ast - это модуль Python, который позволяет разбирать и анализировать исходный код на Python, представляя его в виде абстрактного синтаксического дерева (AST). AST представляет собой структурированное представление кода, которое легко интерпретировать и анализировать.
Пример использования модуля ast:
import ast
code = "print('Hello, ast!')"
tree = ast.parse(code)
print(ast.dump(tree))
В данном примере мы использовали функцию ast.parse для разбора строки кода с помощью модуля ast. Функция ast.dump выводит структуру AST в удобочитаемом формате.
Анализ структуры кода:
import ast
code = """
def greet(name):
print(f'Hello, {name}!')
"""
tree = ast.parse(code)
for node in ast.walk(tree):
if isinstance(node, ast.FunctionDef):
print(f"Найдена функция: {node.name}")
elif isinstance(node, ast.Print):
print("Обнаружен оператор печати")
В данном примере мы использовали модуль ast для анализа структуры кода. Функция ast.walk позволяет обойти все узлы AST, а затем мы проверяем их типы для выделения определенных элементов, таких как функции или операторы.
Модуль ast также предоставляет возможности для более сложных операций, таких как изменение кода, создание новых выражений и многое другое.
#python#ast#анализкода
#Вакансия#job#Аналитик#Remote#Data#SQL#Python
🔎 Вакансия: Product Data Analyst (SQL + Python)
💰 ЗП: 3000-3500$ (до вычета)
🌍 Формат: Full time, удаленно из любой точки мира
📍 Локация компании: Сербия
📌Компания CyberYozh - разработка ПО, обучающих материалов и решений для защиты данных в сети
📋 Основные задачи:
- Анализировать данные проектов для выявления ключевых показателей и трендов
- Настраивать систему получения и обработки данных (SQL, API)
- Выявлять аномалии и готовить аналитические отчёты
- Работать с дашбордами (Looker Studio, GA, Яндекс Метрика)
- Проверять гипотезы и A/B-тесты
🛠 Требования:
- Опыт написания оптимизированных SQL-запросов (PostgreSQL, MySQL)
- Владение Python для анализа данных (pandas, numpy) и автоматизации процессов
- Опыт работы с API и автоматизацией отчётности
- Навыки настройки аналитических систем и построения дашбордов
- Умение работать с метриками, когортами, retention, LTV
🎯 Мы предлагаем:
- Гибкий график и удаленную работу из любой точки мира
- Долгосрочный проект и своевременные выплаты.
- 28 дней оплачиваемого отпуска.
- Минимум бюрократии.
- Регулярные performance review с возможностью роста з/п.
- Сильная команда и здоровая рабочая атмосфера.
📩 Контакт для связи: @hr_olga_osipova
#вакансия#backend#python#senior#удаленно#Сербия
Middle + / Senior Backend разработчик
(удаленно / гибрид, офисы в Белграде и Бангкоке)
О компании
Graphlogic – продуктовая IT-компания. Мы разрабатываем экосистему Conversational AI продуктов – чат-боты, голосовые боты, аватары, ASR & TTS as APIs, LLM – объединенных на единой платформе.
🚀 Развиваем международное направление при поддержке швейцарского инвестора и партнёра. В команду ищем опытного Middle+ / Senior Backend разработчика – того, кто хочет делать коммерческий продукт, который будет использоваться бизнесом по миру.
Чем предстоит заниматься
– Проектировать и разрабатывать компоненты платформы
– Участвовать в проектировании решений с момента разработки концепта и составления плана реализации
– Отвечать за конечную реализацию фич в срок, включая разрешение блокеров, своевременную эскалацию проблем и запрос дополнительных ресурсов
– Улучшать масштабируемость, производительность и надежность продукта
– Взаимодействовать с проектной командой по реализации требований для повышения функциональности и UX платформы.
Стек: Python, asyncio, aiohttp, GraphQL, PostgreSQL, RabbitMQ, Docker, Kubernetes, Gitlab (VCS, CI/CD, Registry).
Навыки, которые мы ожидаем увидеть
– Опыт работы на стеке от 3 лет
– Уверенное владение английским
– Разработка архитектуры системы – обязательный уклон в микросервисы, понимание горизонтально масштабируемых систем
– Разработка архитектуры БД
– Глубокое понимание принципов объектно-ориентированного подхода
Минимальные требования по опыту
– Асинхронный питон, микросервисы, postgres – 3 года
– RabbitMQ – 1 год
– Общий опыт работы разработчиком – от 5 лет.
Работа у нас – это:
– Гибкий график
– Официальное трудоустройство, административная и юридическая поддержка
– Офисы в Белграде и Бангкоке или полностью удалённый формат
– Больничные без справок - 3 оплачиваемых wellness дня в год
– Участие в конференциях и митапах.
По всем вопросам и для резюме: @dpmorozova
#webScraping#Python
🕷
Web Scraping with Python: Data Extraction from the Modern Web, 3rd Edition
✏️Ryan Mitchell
-----
Main channel: @repo_science
Coupons: @freecoupons_reposcience
-----
#Python#webscraping
😎
Automate the Boring Stuff with Python Programming
Automate the Boring Stuff with Python was written for people who want to get up to speed writing small programs that do practical tasks as soon as possible. You don’t need to know sorting algorithms or object-oriented programming, so this course skips all the computer science and concentrates on writing code that gets stuff done.
- Web scraping
- Parsing PDFs and Excel spreadsheets
- Automating the keyboard and mouse
- Sending emails and texts
- And several other practical topics
⚖️10.5 GB
🔗Link
-----
Main channel:@repo_science
Coupons: @freecoupons_reposcience
-----
#excel#python
🐍
Using Python with Excel
Take your Excel skills further by using Python. Discover how to inspect, filter, clean, convert, and visualize data with Excel and Python libraries like pandas and openpyxl.
🗣 Anthony Sagely
📆2019-10-31
⌚️1h 22m
🔗Link
-----
Main channel: @repo_science
Coupons: @freecoupons_reposcience
-----