Python Map | Обучение
241 subscribers
197 photos
4 videos
1 file
87 links
Образовательный канал для программистов на Python 🐍

Сотрудничество – @HackingIP
Download Telegram
Библиотека deep-translator: мощный инструмент для многоязычного перевода

deep-translator - это библиотека Python, разработанная для многоязычного перевода текстов. Она поддерживает более 100 языков и обеспечивает высокую точность перевода. Библиотека работает с различными API (Google Translate, Yandex Translator, и т.д.), что делает её гибким инструментом для разработчиков.

Пример:
from deep_translator import GoogleTranslator

# Объект переводчика
translator = GoogleTranslator(source='en', target='ru')
text_to_translate = 'Hello, how are you?'

# Вызов метода для перевода
translated_text = translator.translate(text_to_translate)

print(text_to_translate) # Hello, how are you?
print(translated_text) # Привет, как дела?


Документация доступна тут: deep-translator
4
Вместо того, чтобы выполнить задачу за 20 минут, я потрачу 2 дня на ее автоматизацию
🔥2🥰1💯1
Библиотека shlex: мощный инструмент для разбора строк в Python

shlex - это библиотека Python, предназначенная для разбора строк, которые содержат текстовые команды, подобно тому, как это делает командная оболочка Unix. Она позволяет легко разделять строки на токены, учитывая при этом кавычки и экранирование, что делает её идеальным инструментом для работы с командными строками и аргументами.

Пример:
import shlex

# Строка с командой
command_line = 'python script.py --arg1 "value with spaces" --arg2=value2'

# Разбор строки на токены
tokens = shlex.split(command_line)

print(tokens) # ['python', 'script.py', '--arg1', 'value with spaces', '--arg2=value2']


Документация доступна тут: shlex
👍4🔥1💯1
Модуль argparse: функция ArgumentParser

import argparse

parser = argparse.ArgumentParser(description='Пример использования argparse')
parser.add_argument('--name', type=str, help='Ваше имя')
args = parser.parse_args()

print(f'Привет, {args.name}!')


Функция argparse.ArgumentParser() позволяет создавать интерфейс командной строки для ваших программ.

С помощью этого модуля вы можете легко определять, какие аргументы принимает ваша программа, и автоматически генерировать справку по использованию. Например, в приведенном выше коде мы создаем парсер, который ожидает аргумент --name, и выводим приветствие с указанным именем.

Это удобно для создания пользовательских интерфейсов и упрощает взаимодействие с программой через командную строку.

🐍 Python Map | Обучение
2🔥2💯1
Модуль unittest: создание тестов

import unittest

def multiply(a, b):
return a * b

class TestMultiply(unittest.TestCase):
def test_multiply_numbers(self):
self.assertEqual(multiply(3, 4), 12)

def test_multiply_negative(self):
self.assertEqual(multiply(-1, 5), -5)

if __name__ == '__main__':
unittest.main()

Функция unittest.TestCase позволяет создавать классы с тестами для проверки корректности работы функций и методов.

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

В примере выше описан простой тест для функции multiply, который проверяет умножение положительных и отрицательных чисел с помощью assertEqual. Такой подход помогает быстро выявлять ошибки и обеспечивать стабильность кода.

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

🐍 Python Map | Обучение
🔥3
Модель pytest: создание тестов

def multiply(a, b):
return a * b

def test_multiply_numbers():
assert multiply(3, 4) == 12

def test_multiply_negative():
assert multiply(-1, 5) == -5

Pytest — это популярный сторонний фреймворк для тестирования в Python, который предоставляет простой и мощный способ писать тесты. В отличие от unittest, pytest не требует использования классов, а тесты можно писать в виде обычных функций с ассертами.

Pytest автоматически находит тестовые функции по префиксу test_ и запускает их. Ассерты в pytest работают с расширенными отчетами об ошибках, что упрощает отладку. Кроме того, pytest поддерживает фикстуры — специальные функции для подготовки тестового окружения и повторного использования кода.

pip install pytest

В приведённом примере описаны два простых теста для функции multiply, которые проверяют умножение положительных и отрицательных чисел. Такой подход делает тесты компактными и читаемыми.

Использование pytest облегчает создание масштабируемых и удобных для поддержки тестов, помогает быстро обнаруживать ошибки и повышает качество кода.

🐍 Python Map | Обучение
2