Эта статья написана для новичков, которые только начинают осваивать структуры данных на Python. Сегодня мы рассмотрим замечательную и очень полезную структуру — двусвязный список.
Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
Напишите функцию, которая генерирует случайный пароль заданной длины. Пароль должен содержать буквы в верхнем и нижнем регистре, цифры и специальные символы.
print(generate_password(12)) # Ожидаемый результат: Например, "A1b@c3D#e4F!"
Решение задачи
import random
import string
def generate_password(length):
if length < 4: # Минимальная длина для разнообразия символов
raise ValueError("Длина пароля должна быть не менее 4 символов")
all_characters = string.ascii_letters + string.digits + string.punctuation
password = [
random.choice(string.ascii_lowercase),
random.choice(string.ascii_uppercase),
random.choice(string.digits),
random.choice(string.punctuation),
]
password += random.choices(all_characters, k=length - 4)
random.shuffle(password)
return ''.join(password)
# Пример использования:
print(generate_password(12))
Please open Telegram to view this post
VIEW IN TELEGRAM
Младший продуктовый аналитик / Junior Product Analyst
Junior Backend разработчик (Python)
Младший Python-разработчик (Django, DRF)
Junior / Pre-middle Python Developer
Python-разработчик (Junior)
Please open Telegram to view this post
VIEW IN TELEGRAM
Наша сегодняшняя цель - подробно разобраться в процессе создания REST API с использованием Django и Django REST Framework, разбираясь в каждом шаге и его значение. Мы также рассмотрим, почему создание API важно и как это может быть полезно в ваших будущих проектах.
Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1
Метаклассы в 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
Хотите освоить программирование на Python, но не знаете с чего начать? Мы подготовили для вас подборку из 10 лучших книг, которые помогут быстро и эффективно изучить этот популярный язык.
Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1
Напишите скрипт, который принимает два текстовых файла и выводит строки, которые отличаются между ними.
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
• 7 продвинутых приемов pandas для науки о данных
• Красивые картинки на скатерти Улама
• Дообучаем языковую модель GPT2 с помощью Torch
• Увеличиваем размер выборки и прокрашиваем серые метрики: неочевидная ошибка при проведении А/B — тестов
• Разбей и властвуй: как создать кастомный токенизатор в SpaCy
Please open Telegram to view this post
VIEW IN TELEGRAM
Статья объясняет создание асинхронного 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
• Мои Red-Flags при устройстве в IT-компании: Как не стать гребцом. Часть 2
• Как строить карьеру в корпорации
• Язык как проект: как продакт-менеджеру учить английский
• Всероссийский рейтинг IT-брендов работодателей 2024
• Моя петиция EB-1A на грин-карту талантов, одобренная с первой попытки
Please open Telegram to view this post
VIEW IN TELEGRAM
Статья рассматривает автоматизацию объединения таблиц с биохимическими показателями крови, поступающих из разных клиник. Показано, как с помощью одной команды в 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, уделяя особое внимание циклическому сборщику мусора (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