
Pythonist.ru – образование по питону
Pythonist.ru – помощь в подготовке к собеседованию на позицию Python Developer.
Реклама: @anothertechrock
РКН: https://kurl.ru/WPjOT
Recent Posts
Tips & Tricks. Как при помощи генераторов создать функцию, ведущую себя как итератор
Рассмотрели на примере, как делать итераторы быстрым, простым и понятным способом.
Читать статью
#функции#tipsandtricks
Рассмотрели на примере, как делать итераторы быстрым, простым и понятным способом.
Читать статью
#функции#tipsandtricks
Задача с кодом. Допишите до точки!
Представьте, что вы на экзамене. Время вышло, преподаватель говорит дописать предложение до точки и сдать работу.
Допустим, написание одной буквы занимает 0,5 с (пробелы не учитываем).
Напишите функцию, которая будет принимать полное и недописанное предложение, а возвращать время, необходимое на дописывание (в секундах).
Разбор примера
# "its" - это 3 символа
# "conclusion." - 11 символов, включая точку
# 11 + 3 = 14
# 14 x 0.5 = 7
# Помните, что пробелы не учитываются.
Другие примеры и варианты решения - на нашем сайте.
#задача#coding
Представьте, что вы на экзамене. Время вышло, преподаватель говорит дописать предложение до точки и сдать работу.
Допустим, написание одной буквы занимает 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
- поиск Фибоначчи
- экспоненциальный поиск
- интерполяционный поиск
#топ#алгоритмы
Читать статью
Умение выбрать нужный алгоритм для конкретной задачи является ключевым навыком для разработчиков.
В этой статье:
- операторы членства (Membership Operators)
- линейный поиск
- бинарный поиск
- улучшенный линейный поиск — Jump Search
- поиск Фибоначчи
- экспоненциальный поиск
- интерполяционный поиск
#топ#алгоритмы
Читать статью
Тест. Классы и объекты (уровень — Junior)
Язык Python – типичный представитель ООП-семейства, обладающий элегантной и мощной объектной моделью. В этом языке от объектов никуда не спрятаться (ведь даже числа являются ими).
Проверьте, насколько хорошо вы знаете эту тему: пройдите тест из 10 вопросов!
#тест#ооп
Язык Python – типичный представитель ООП-семейства, обладающий элегантной и мощной объектной моделью. В этом языке от объектов никуда не спрятаться (ведь даже числа являются ими).
Проверьте, насколько хорошо вы знаете эту тему: пройдите тест из 10 вопросов!
#тест#ооп
От чего зависит эффективность автотестов?
От их правильного написания и поддерживаемости!
В QA GURU мы учим приручать Java, чтобы ваши автотесты работали, как часы. Вот несколько лайфхаков, о которых мы расскажем на вводном занятии уже сегодня (20:00 Мск):
1. Используйте понятные и описательные названия тестов
Названия тестов должны четко отражать их цель. Это упрощает понимание кода всеми членами команды.
Например:
// Хорошо
// Плохо
Описательные названия помогают быстро понять, что проверяет тест, без необходимости изучения его внутренней логики.
2. Применяйте Page Object Model (POM)
Page Object Model позволяет отделить логику теста от структуры веб-страницы, что делает код более модульным и удобным для поддержки при изменениях интерфейса.
Пример использования:
// Класс
// Тестовый сценарий
POM способствует повторному использованию кода и улучшает читаемость тестов.
3. Используйте параметризацию и data-driven подход
Параметризованные тесты позволяют запускать один и тот же сценарий с различными входными данными, что увеличивает охват тестирования без дублирования кода.
Этот подход делает тесты более гибкими и масштабируемыми.
4. Следуйте принципу AAA (Arrange, Act, Assert)
Структурируйте тесты в три этапа:
Arrange: подготовка данных и окружения.
Act: выполнение действия.
Assert: проверка результата.
Пример:
Этот подход делает тесты более организованными и легко читаемыми.
5. Логирование и отчетность
Добавляйте логирование в тесты для диагностики проблем:
Интеграция инструментов отчетности (например, Allure) помогает визуализировать результаты тестов и быстро выявлять ошибки.
6. Регулярные ревью кода
Проводите регулярные ревью автотестов для повышения качества кода. Это помогает выявить потенциальные проблемы, улучшить читаемость и обеспечить соблюдение стандартов кодирования.
7. Автоматизация и CI/CD
Используйте инструменты автоматизации (Maven, Gradle) для запуска тестов в рамках CI/CD пайплайнов. Это ускоряет процесс разработки и обеспечивает стабильность приложения на всех этапах.
Хотите узнать больше? Присоединяйтесь сегодня (20:00 Мск) к нашему бесплатному открытому уроку!
🔗 Зарегистрируйтесь на первый открытый урок по ссылке.
От их правильного написания и поддерживаемости!
В 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
Скачать книгу
Автор: Kyle Gallatin
Год издания: 2024
#python#en#2O24
Скачать книгу
Pandas - инструмент, который делает жизнь аналитика проще и приятней, а работу - эффективней.
Научиться работать с Pandas на реальных задачах бизнеса можно на бесплатном курсе от Simulative.
За неделю обучения вы:
🕗 Обучение проходит на платформе школы
Основы. Истинные и ложные значения в Python
Из этой статьи вы узнаете, что такое истинные и ложные значения, что делает значение истинным или ложным и как использовать функцию
#основы
Из этой статьи вы узнаете, что такое истинные и ложные значения, что делает значение истинным или ложным и как использовать функцию
bool()
, чтобы определить истинность или ложность значения.#основы
Ответ к задаче "Что дороже?"
x+2y=3z
7x+y=8z
x=y=z
Все камни в одну цену.
#логическаязадача
x+2y=3z
7x+y=8z
x=y=z
Все камни в одну цену.
#логическаязадача
Задача на логику. Что дороже?
Один сапфир и два топаза
ценней, чем изумруд, в три раза.
А семь сапфиров и топаз
его ценнее в восемь раз.
Определить мы просим вас,
сапфир ценнее иль топаз?
Пишите свои варианты в комментариях, а правильный ответ мы опубликуем завтра.
#логическаязадача
Один сапфир и два топаза
ценней, чем изумруд, в три раза.
А семь сапфиров и топаз
его ценнее в восемь раз.
Определить мы просим вас,
сапфир ценнее иль топаз?
Пишите свои варианты в комментариях, а правильный ответ мы опубликуем завтра.
#логическаязадача
Tips & Tricks. Проверяем наличие подстроки в строке
Рассказываем о четырех способах найти подстроку в строке. Также кратко рассматриваем плюсы и минусы каждого способа.
Читать статью
#строки
Рассказываем о четырех способах найти подстроку в строке. Также кратко рассматриваем плюсы и минусы каждого способа.
Читать статью
#строки
Задача с кодом. Кратна ли цифра цифре слева?
Напишите функцию, которая будет принимать число n и проверять, кратна ли каждая его цифра цифре, стоящей слева от нее. Верните массив булевых значений результатов проверок.
Примеры:
# слева от 7 нет элемента = False
# 3/7 = False
# 3/3 = True
# 1/3 = False
# 2/1 = True
Примечание: массив всегда будет начинаться с False, поскольку слева от первой цифры ничего нет.
Решение на нашем сайте.
#задача#coding
Напишите функцию, которая будет принимать число 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 есть несколько способов прочитать текстовый файл. В этой статье мы рассмотрим функцию
#топ
Читать статью
В Python есть несколько способов прочитать текстовый файл. В этой статье мы рассмотрим функцию
open()
, методы read()
, readline()
, readlines()
, close()
и ключевое слово with
.#топ
Читать статью
Тест. Работа с матрицами в Python
Матрица (или двухмерный массив) не часто используется в Python. Но подобные массивы нужны для неодномерных данных и Data Science.
Проверьте, насколько хорошо вы умеете работать с матрицами: пройдите тест из 10 вопросов!
#тест
Матрица (или двухмерный массив) не часто используется в Python. Но подобные массивы нужны для неодномерных данных и Data Science.
Проверьте, насколько хорошо вы умеете работать с матрицами: пройдите тест из 10 вопросов!
#тест
Основы. Практическое введение в логические операторы Python
В программировании нам часто приходится принимать решения на основе нескольких условий. Например, мы можем захотеть выполнить какое-то действие только при одновременном выполнении нескольких условий. Или же мы можем захотеть запустить это действие при выполнении любого из нескольких условий. Для работы с такими сценариями Python предлагает набор логических операторов — and, or, not.
#основы
В программировании нам часто приходится принимать решения на основе нескольких условий. Например, мы можем захотеть выполнить какое-то действие только при одновременном выполнении нескольких условий. Или же мы можем захотеть запустить это действие при выполнении любого из нескольких условий. Для работы с такими сценариями Python предлагает набор логических операторов — and, or, not.
#основы
Объектно-ориентированное
программирование с
помощью Python
Автор: Ирв Кальб
Год издания: 2024
#python#ru#2O24
Скачать книгу
программирование с
помощью Python
Автор: Ирв Кальб
Год издания: 2024
#python#ru#2O24
Скачать книгу