Pythonist.ru – образование по питону

Pythonist.ru – помощь в подготовке к собеседованию на позицию Python Developer.
Реклама: @anothertechrock

РКН: https://kurl.ru/WPjOT

View in Telegram

Recent Posts

Tips & Tricks. Как при помощи генераторов создать функцию, ведущую себя как итератор

Рассмотрели на примере, как делать итераторы быстрым, простым и понятным способом.

Читать статью

#функции#tipsandtricks
Задача с кодом. Допишите до точки!

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

Допустим, написание одной буквы занимает 0,5 с (пробелы не учитываем).

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

Разбор примера

time_to_finish(
"And so brings my conclusion to its conclusion.",
"And so brings my conclusion to"
) ➞ 7


# "its" - это 3 символа
# "conclusion." - 11 символов, включая точку
# 11 + 3 = 14
# 14 x 0.5 = 7
# Помните, что пробелы не учитываются.

Другие примеры и варианты решения - на нашем сайте.

#задача#coding
Вакансии по Python за прошлую неделю:

👩‍💻Fullstack Developer (Python, Javascript). Whiteleads, 60-100 т.р.

👩‍💻QA Automation (Playwright, Python). Agrohelper, от 150 т.р.

👩‍💻QA auto Python. Artezio, 200-250 т.р.

👩‍💻Python-разработчик (FastAPI). Repay, $4000-5000

👩‍💻Python разработчик. Бизнес-Профи, 50-100 т.р.
Топ. Алгоритмы поиска на Python

Умение выбрать нужный алгоритм для конкретной задачи является ключевым навыком для разработчиков.

В этой статье:

- операторы членства (Membership Operators)
- линейный поиск
- бинарный поиск
- улучшенный линейный поиск — Jump Search
- поиск Фибоначчи
- экспоненциальный поиск
- интерполяционный поиск

#топ#алгоритмы

Читать статью
Тест. Классы и объекты (уровень — Junior)

Язык Python – типичный представитель ООП-семейства, обладающий элегантной и мощной объектной моделью. В этом языке от объектов никуда не спрятаться (ведь даже числа являются ими).

Проверьте, насколько хорошо вы знаете эту тему: пройдите тест из 10 вопросов!

#тест#ооп
От чего зависит эффективность автотестов?

От их правильного написания и поддерживаемости!

В QA GURU мы учим приручать Java, чтобы ваши автотесты работали, как часы. Вот несколько лайфхаков, о которых мы расскажем на вводном занятии уже сегодня (20:00 Мск):

1. Используйте понятные и описательные названия тестов

Названия тестов должны четко отражать их цель. Это упрощает понимание кода всеми членами команды.

Например:

// Хорошо
public void verifyLoginWithValidCredentials() { ... }


// Плохо
public void test1() { ... }


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

2. Применяйте Page Object Model (POM)

Page Object Model позволяет отделить логику теста от структуры веб-страницы, что делает код более модульным и удобным для поддержки при изменениях интерфейса.

Пример использования:

// Класс

Page Object
public class LoginPage {
private By usernameField = By. id("username");
private By passwordField = By. id("password");
private By loginButton = By. id("loginBtn");

public void enterUsername(String username) {
driver.findElement(usernameField).sendKeys(username);
}

public void enterPassword(String password) {
driver.findElement(passwordField).sendKeys(password);
}

public void clickLoginButton() {
driver.findElement(loginButton).click();
}
}


// Тестовый сценарий

LoginPage loginPage = new LoginPage(driver);
loginPage.enterUsername("john.doe");
loginPage.enterPassword("password123");
loginPage.clickLoginButton();


POM способствует повторному использованию кода и улучшает читаемость тестов.

3. Используйте параметризацию и data-driven подход

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

@ ParameterizedTest
@ CsvSource({"john.doe, password123", "jane.smith, test@123"})
public void verifyLogin(String username, String password) {
LoginPage loginPage = new LoginPage(driver);
loginPage.enterUsername(username);
loginPage.enterPassword(password);
loginPage.clickLoginButton();
}


Этот подход делает тесты более гибкими и масштабируемыми.

4. Следуйте принципу AAA (Arrange, Act, Assert)

Структурируйте тесты в три этапа:

Arrange: подготовка данных и окружения.

Act: выполнение действия.

Assert: проверка результата.

Пример:

@ Test
public void testAddition() {
// Arrange
Calculator calculator = new Calculator();

// Act
int result = calculator.add(2, 3);

// Assert
assertEquals(5, result);
}


Этот подход делает тесты более организованными и легко читаемыми.

5. Логирование и отчетность

Добавляйте логирование в тесты для диагностики проблем:

log. info("Entering username: " + username);
log. info("Clicking on the login button");

Интеграция инструментов отчетности (например, Allure) помогает визуализировать результаты тестов и быстро выявлять ошибки.

6. Регулярные ревью кода

Проводите регулярные ревью автотестов для повышения качества кода. Это помогает выявить потенциальные проблемы, улучшить читаемость и обеспечить соблюдение стандартов кодирования.

7. Автоматизация и CI/CD

Используйте инструменты автоматизации (Maven, Gradle) для запуска тестов в рамках CI/CD пайплайнов. Это ускоряет процесс разработки и обеспечивает стабильность приложения на всех этапах.

Хотите узнать больше? Присоединяйтесь сегодня (20:00 Мск) к нашему бесплатному открытому уроку!

🔗 Зарегистрируйтесь на первый открытый урок по ссылке.
Machine Learning with Python Cookbook

Автор:
Kyle Gallatin
Год издания: 2024

#python#en#2O24

Скачать книгу
⚡️Какой основной инструмент работы у аналитика?

Pandas - инструмент, который делает жизнь аналитика проще и приятней, а работу - эффективней.

Научиться работать с Pandas на реальных задачах бизнеса можно на бесплатном курсе от Simulative.

За неделю обучения вы:
🟠Освоите Pandas с нуля до продвинутых функций: сложная агрегация, оконные функции и т.д.
🟠Научитесь решать реальные аналитические задачи: проводить многомерный ABC-анализ, XYZ-анализ, рассчитывать динамику продаж.
🟠Сделаете собственный проект, который сможете добавить в портфолио: реальный кейс автоматизации обработки финансовой отчетности от крупной региональной аптечной сети

🕗 Обучение проходит на платформе школы

😶Начать учиться Pandas
Основы. Истинные и ложные значения в Python

Из этой статьи вы узнаете, что такое истинные и ложные значения, что делает значение истинным или ложным и как использовать функцию bool(), чтобы определить истинность или ложность значения.

#основы
Ответ к задаче "Что дороже?"

x+2y=3z
7x+y=8z

x=y=z

Все камни в одну цену.

#логическаязадача
Задача на логику. Что дороже?

Один сапфир и два топаза
ценней, чем изумруд, в три раза.

А семь сапфиров и топаз
его ценнее в восемь раз.

Определить мы просим вас,
сапфир ценнее иль топаз?

Пишите свои варианты в комментариях, а правильный ответ мы опубликуем завтра.

#логическаязадача
Tips & Tricks. Проверяем наличие подстроки в строке

Рассказываем о четырех способах найти подстроку в строке. Также кратко рассматриваем плюсы и минусы каждого способа.

Читать статью

#строки
Задача с кодом. Кратна ли цифра цифре слева?

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

Примеры:
divisible_by_left(73312) ➞ [False, False, True, False, True]
# слева от 7 нет элемента = False
# 3/7 = False
# 3/3 = True
# 1/3 = False
# 2/1 = True
divisible_by_left(1) ➞ [False]
divisible_by_left(635) ➞ [False, False, False]

Примечание: массив всегда будет начинаться с False, поскольку слева от первой цифры ничего нет.

Решение на нашем сайте.

#задача#coding
Вакансии по Python за прошлую неделю:

👩‍💻Middle Python developer (Backend). Golden Mid, $10-15/час

👩‍💻QA auto Python. IT_One, 200-250 т.р.

👩‍💻Full Stack Разработчик (React, Python, FastAPI). Home Digital School, до 250 т.р.

👩‍💻Разработчик Python / Django. Archeon, 70-200 т.р.

👩‍💻 Tech Lead Python‑разработчик. IT Tihonova Search, ЗП договорная

👩‍💻Python разработчик Middle+/Senior. Arcanis, $3000-4000
Топ. Как прочитать текстовый файл в Python

В Python есть несколько способов прочитать текстовый файл. В этой статье мы рассмотрим функцию open(), методы read(), readline(), readlines(), close() и ключевое слово with.

#топ

Читать статью
Тест. Работа с матрицами в Python

Матрица (или двухмерный массив) не часто используется в Python. Но подобные массивы нужны для неодномерных данных и Data Science.

Проверьте, насколько хорошо вы умеете работать с матрицами: пройдите тест из 10 вопросов!

#тест
Основы. Практическое введение в логические операторы Python

В программировании нам часто приходится принимать решения на основе нескольких условий. Например, мы можем захотеть выполнить какое-то действие только при одновременном выполнении нескольких условий. Или же мы можем захотеть запустить это действие при выполнении любого из нескольких условий. Для работы с такими сценариями Python предлагает набор логических операторов — and, or, not.

#основы
Объектно-ориентированное
программирование с
помощью Python

Автор:
Ирв Кальб
Год издания: 2024

#python#ru#2O24

Скачать книгу
See more posts

View in Telegram