About Python [ru]
6.36K subscribers
315 photos
1 video
1.65K links
Все о Python: алгоритмы, паттерны проектирования, задачи, нейронные сети

Канал на бирже - https://telega.in/c/python_tesst

По вопросам рекламы или разработки: @g_abashkin
Download Telegram
⚙️ Что такое метаклассы в Python и как они работают?

Метаклассы в Python — это классы, которые определяют поведение других классов. Они позволяют изменять или расширять логику создания классов, добавляя к ним атрибуты или методы. Метаклассы чаще всего используются для создания сложных API или DSL (языков предметной области).

➡️ Пример:

# Определение метакласса
class MyMeta(type):
def __new__(cls, name, bases, dct):
dct['custom_method'] = lambda self: f"Метод добавлен через {cls.__name__}"
return super().__new__(cls, name, bases, dct)

# Используем метакласс для создания класса
class MyClass(metaclass=MyMeta):
pass

# Пример использования
obj = MyClass()
print(obj.custom_method()) # Метод добавлен через MyMeta


🗣️ В этом примере метакласс MyMeta добавляет метод custom_method ко всем классам, которые его используют. Метаклассы дают мощный инструмент для динамического создания и модификации классов.


🖥 Подробнее тут
Please open Telegram to view this post
VIEW IN TELEGRAM
📝 Подборка вакансий для мидлов

Python developer / Разработчик Python (TATLIN.FLEX)
Python, Linux, Git, Perl, RPC, TDD, Очереди, Параллелизм, Docker, Jira, GitLab, Confluence
Уровень дохода не указан | Средний (Middle)

QA engineer (Python, SQL)
Python, SQL, API (REST/SOAP/Kafka/MQ), Postman, SoapUI, JSON, XML, YML, Xpath, CSS, PostgreSQL, MS SQL, GIT, Teamcity, IDE
Уровень дохода не указан | Средний (Middle)

Python разработчик
Python, Django, Celery, Clickhouse, GitHub Actions
от 140 000 до 180 000 ₽ | Средний (Middle)

Python разработчик
Python, FastAPI, PostgreSQL, React
от 150 000 ₽ | Средний (Middle)

Python разработчик
Python, Flask, FastAPI, PostgreSQL, MySQL
Уровень дохода не указан | Средний (Middle)
Please open Telegram to view this post
VIEW IN TELEGRAM
👩‍💻 ТОП-10 книг по Python для начинающих программистов в 2024 году

Хотите освоить программирование на Python, но не знаете с чего начать? Мы подготовили для вас подборку из 10 лучших книг, которые помогут быстро и эффективно изучить этот популярный язык.

Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1
👩‍💻 Задачка по Python

Напишите скрипт, который принимает два текстовых файла и выводит строки, которые отличаются между ними.

➡️ Пример:

python compare_files.py file1.txt file2.txt

Различия:
file1.txt: Python is amazing.
file2.txt: Python is great.
file1.txt: This is file one.
file2.txt: This is file two.


Решение задачи ⬇️

def compare_files(file1_path, file2_path):
try:
with open(file1_path, 'r', encoding='utf-8') as file1, open(file2_path, 'r', encoding='utf-8') as file2:
file1_lines = file1.readlines()
file2_lines = file2.readlines()

max_lines = max(len(file1_lines), len(file2_lines))
print("Различия:")

for i in range(max_lines):
line1 = file1_lines[i].strip() if i < len(file1_lines) else "<пусто>"
line2 = file2_lines[i].strip() if i < len(file2_lines) else "<пусто>"

if line1 != line2:
print(f"file1.txt: {line1}")
print(f"file2.txt: {line2}")

except FileNotFoundError as e:
print(f"Ошибка: {e}")
except Exception as e:
print(f"Ошибка: {e}")

# Пример использования:
if __name__ == "__main__":
import sys
if len(sys.argv) < 3:
print("Использование: python compare_files.py <file1> <file2>")
else:
compare_files(sys.argv[1], sys.argv[2])
Please open Telegram to view this post
VIEW IN TELEGRAM
👩‍💻 FastAPI + APScheduler: Простой пошаговый гайд по созданию асинхронного API для мониторинга валют по расписанию на Python

Статья объясняет создание асинхронного API на FastAPI для мониторинга валютных курсов. Рассматриваются парсинг данных, настройка APScheduler, аутентификация и развертывание сервиса с фильтрацией и REST API.

Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
📝 Подборка вакансий для сеньоров

Python разработчик
Python 3, PyQt6, Qpid, Docker, SQLAlchemy, pydantic, lxml, pytest, RedHat JBOSS AMQ, ActiveMQ Artemis, IBM WebSphere MQ
Уровень дохода не указан | от 5 лет

Python разработчик
Python 3, FastAPI, Flask, PostgreSQL, MySQL, Kafka, Cassandra, Clickhouse, Redis, Elasticsearch, Kubernetes
Уровень дохода не указан | от 3 лет

Python developer / Разработчик Python (KORNFELD)
Python 3, Linux, Bash, Docker, SNMP, NETCONF, RESTCONF, RIP, OSPF, BGP
Уровень дохода не указан | опыт не указан

Python Developer
Python 3, FastAPI, Flask, SQL, PostgreSQL, MongoDB, Redis, RabbitMQ, s3, Minio, Nginx, Docker, Keycloak, GIT, CI/CD, Linux
Уровень дохода не указан | от 2 лет

Senior Python Developer
Python 3, Flask, FastAPI, Redis, Kafka, PostgreSQL, Clickhouse, Airflow, Elasticsearch, Jenkins, Kubernetes
Уровень дохода не указан | от 3 лет
Please open Telegram to view this post
VIEW IN TELEGRAM
👩‍💻 Объединяем фреймы данных в pandas: две самые распространённые операции

Статья рассматривает автоматизацию объединения таблиц с биохимическими показателями крови, поступающих из разных клиник. Показано, как с помощью одной команды в pandas легко объединить данные, несмотря на различия в порядке столбцов.

Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
⚙️ Что такое asyncio в Python и как оно используется для асинхронного программирования?

asyncio — это стандартная библиотека Python, предоставляющая инструменты для асинхронного программирования, таких как задачи (tasks), корутины (coroutines) и управление циклами событий (event loops). Она позволяет выполнять множество операций ввода-вывода (например, сетевые запросы) параллельно, не блокируя основной поток.

➡️ Пример:

import asyncio

async def fetch_data(delay, name):
print(f"Начинаем получение данных {name}")
await asyncio.sleep(delay) # Асинхронная задержка
print(f"Завершено получение данных {name}")

async def main():
# Запускаем несколько задач параллельно
await asyncio.gather(
fetch_data(2, "A"),
fetch_data(1, "B"),
fetch_data(3, "C"),
)

# Запуск цикла событий
asyncio.run(main())


🗣️ В этом примере asyncio.gather запускает три асинхронные задачи одновременно, позволяя эффективно использовать время ожидания ввода-вывода. asyncio полезен для построения сетевых приложений, ботов и других асинхронных систем.


🖥 Подробнее тут
Please open Telegram to view this post
VIEW IN TELEGRAM
📝 Подборка вакансий для лидов

Ведущий разработчик Python
Python, Django, REST, Docker, Linux
Уровень дохода не указан | от 3 лет

Lead Python - разработчик в Рейнджеры
Python
Уровень дохода не указан | опыт не указан

Tech Lead Python Developer в проект Внешние интеграции
Python, RabbitMQ, PostgreSQL
Уровень дохода не указан | опыт не указан

Lead/Senior Automation QA (Python or Java)
Python, Linux, Java, CI/CD, Docker, Тестирование API, Тестирование UI, Разработка тест-кейсов
Уровень дохода не указан | от 4 лет

Ведущий питонист
Python, Django, PostgreSQL, Docker
от 150 000 до 250 000 ₽ | опыт не указан
Please open Telegram to view this post
VIEW IN TELEGRAM
👩‍💻 Сборщик мусора CPython и его влияние на производительность приложения

Статья раскрывает механизмы управления памятью в CPython, уделяя особое внимание циклическому сборщику мусора (GC). Рассматриваются его работа, запуск и влияние на производительность приложений.

Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
🚀 Не бойся незнакомого

Новая технология или инструмент пугают своим масштабом? Хочется откладывать изучение, потому что кажется, что это сложно? Это просто неизвестность, а не реальная проблема.

✔️ Совет: начни с малого. Прочитай пару статей, попробуй что-то простое. Когда ты разберёшься в первом шаге, всё остальное станет понятнее. Главное — не затягивать.
Please open Telegram to view this post
VIEW IN TELEGRAM
📝 Подборка зарубежных вакансий

Python Developer/Data Scientist
Python, Pandas, NumPy, NLP, TensorFlow, Keras, SQL, Git, Docker, NoSQL
от 5 500 $ | от 3 лет

Python QA automation developer
Python, Linux, HTTP, TCP, CI/CD, DevOps
до 5 000 $ | опыт не указан

Fast API Backend python developer/devOps
Python, FastAPI, gRPC, PostgreSQL, Elasticsearch, Docker
от 800 до 1 400 $ | опыт не указан

Cloud Security Engineer
Kubernetes, SSDL, Python, Golang
до 9 000 € | от 3 лет

Database Administrator
ClickHouse, PostgreSQL, Python, Linux, Bash, LVM
до 5 000 $ | опыт не указан
Please open Telegram to view this post
VIEW IN TELEGRAM
💼 «Хочу уволиться, но боюсь»: что делать

«Завтра напишу заявление об увольнении» — фраза, которую многие повторяют каждый понедельник, но так и не решаются на перемены. Сегодня поговорим о том, как перестать саботировать собственную карьеру и научиться управлять страхом перемен. Спойлер: дело не в лени и не в комфортной зарплате.

Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
👩‍💻 Поиск числа с максимальной суммой цифр

Напишите функцию, которая принимает список положительных чисел и возвращает число с наибольшей суммой цифр. Если таких чисел несколько, вернуть первое из них.

Пример:

numbers = [123, 456, 789, 234]
result = max_digit_sum(numbers)
print(result)
# Ожидаемый результат: 789 (7+8+9=24, это максимальная сумма)


Решение задачи🔽

def max_digit_sum(numbers):
def digit_sum(n):
return sum(int(digit) for digit in str(n))

return max(numbers, key=digit_sum)

# Пример использования:
numbers = [123, 456, 789, 234]
result = max_digit_sum(numbers)
print(result) # Ожидаемый результат: 789
Please open Telegram to view this post
VIEW IN TELEGRAM
👩‍💻 Python REST API: Flask, Connexion и SQLAlchemy (часть 1)

Статья из серии посвящена созданию REST API на Flask. Рассматриваются настройка проекта, обработка запросов с Connexion, определение конечных точек через OpenAPI и аннотация API с помощью Swagger UI.

Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
👩‍💻 Подсчёт количества слов в строке

Напишите функцию, которая принимает строку и возвращает словарь, где ключами являются слова из строки, а значениями — количество их вхождений. Игнорируйте регистр и знаки препинания.

Пример:

text = "Hello, world! Hello Python world."
result = count_words(text)
print(result)
# Ожидаемый результат: {'hello': 2, 'world': 2, 'python': 1}


Решение задачи🔽

import re
from collections import Counter

def count_words(text):
# Убираем знаки препинания и приводим к нижнему регистру
words = re.findall(r'\b\w+\b', text.lower())
# Подсчитываем количество вхождений каждого слова
return Counter(words)

# Пример использования:
text = "Hello, world! Hello Python world."
result = count_words(text)
print(result)
# Ожидаемый результат: {'hello': 2, 'world': 2, 'python': 1}
Please open Telegram to view this post
VIEW IN TELEGRAM
📝 Подборка вакансий для джунов

QA Automation Engineer Junior (Python)
Python, PyTest, ООП, SQL, PostgreSQL
Уровень дохода не указан | от 1 года

Data Engineer
Python, SQL, ETL, Docker, Kubernetes, Apache Airflow
Уровень дохода не указан | опыт не указан

Младший системный инженер
Linux, TCP/IP, Golang, Bash, Python, PostgreSQL, Настройка и наладка оборудования
Уровень дохода не указан | опыт не указан

Разработчик торговых стратегий / HF-Trader
C++
от 50 000 до 120 000 ₽ | от 2 лет
Please open Telegram to view this post
VIEW IN TELEGRAM