Pythonist.ru - образование по питону
25.9K subscribers
172 photos
4 videos
996 links
Pythonist.ru - помощь в подготовке к собеседованию на позицию Python Developer.
Реклама: @anothertechrock

РКН: https://kurl.ru/WPjOT
Download Telegram
Вакансии по Python за прошлую неделю:

👩‍💻 Python Developer (Backend). ТРЕЙД, ЗП по договоренности

👩‍💻 QA auto Python. IBS, ЗП по договоренности

👩‍💻 Аналитик-разработчик (Python+React). От 200 т.р.

👩‍💻 Python developer. Лайв Тайпинг, 250-300 т.р.
Please open Telegram to view this post
VIEW IN TELEGRAM
Tips & Tricks. Преобразование чисел в строки в Python

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

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

#строки #tipsandtricks
Задача на логику. Пачкаем карандаши

У Коли есть два карандаша одинаковой длины: красный и синий. Красный на один сантиметр снизу запачкан белой краской.

Мальчик прижал грань синего карандаша к грани красного (при этом у синего тоже запачкался белой краской сантиметр грани) и сначала сдвинул синий на 1 см вниз, а затем сдвинул в исходное положение. Эти действия Коля повторил еще 9 раз (т.е. всего было 20 движений), при этом красный карандаш оставался неподвижным.

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

Решение тут. Просьба потратить хотя бы 10 минут перед тем как читать решение.

#логическаязадача
Объектно-ориентированное
программирование с
помощью Python

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

#python #ru #2O24

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

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

#основы
Тест. Работа с матрицами в Python

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

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

#тест
Топ. Как прочитать текстовый файл в Python

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

#топ

Читать статью
Вакансии по 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
Please open Telegram to view this post
VIEW IN TELEGRAM
Задача с кодом. Кратна ли цифра цифре слева?

Напишите функцию, которая будет принимать число 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
Tips & Tricks. Проверяем наличие подстроки в строке

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

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

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

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

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

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

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

#логическаязадача
Ответ к задаче "Что дороже?"

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

x=y=z

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

#логическаязадача
Основы. Истинные и ложные значения в Python

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

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

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

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

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

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

😶Начать учиться Pandas
Please open Telegram to view this post
VIEW IN TELEGRAM
Machine Learning with Python Cookbook

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

#python #en #2O24

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

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

В 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 Мск) к нашему бесплатному открытому уроку!

🔗 Зарегистрируйтесь на первый открытый урок по ссылке.
Тест. Классы и объекты (уровень — Junior)

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

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

#тест #ооп
Топ. Алгоритмы поиска на Python

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

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

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

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

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