Python мануфактураJavaDesign Patterns для автоматизаторів

Терміни, нюанси та джерела

Нюанс · 23:00

Не використовуйте binary `float` для точних грошей

Для цін і підсумків, де потрібна точна decimal arithmetic, використовуйте Decimal зі string input або integer minor units; float не може точно представляти більшість decimal fractions.

4. Типізація даних (str, int, float, bool) →

Термін · 23:00

Decimal

Decimal представляє decimal numbers exactly і зберігає значущі trailing zeros, тому придатніший за binary float для точних фінансових значень.

4. Типізація даних (str, int, float, bool) →

Практика · 23:00

Перетворити й відсортувати UI prices

Підготуйте три price strings з двома decimal знаками.
Перетворіть їх через Decimal, не через float.
Відсортуйте новий список за спаданням і перевірте перший елемент через max().
Сортування точне, а початковий список можна зберегти для окремого assertion.

4. Типізація даних (str, int, float, bool) →

Приклад коду · 0:00

Мінімальний wait-aware BasePage

Page Objects передають locator tuple у BasePage, а кожна дія очікує власну перевірювану передумову.

click() працює лише з видимим і enabled елементом; type_text() — з видимим елементом.

2. Selenium організація PageObject's та Очікувань →

Python мануфактура · Програма курсу · 23:00–26:00

Перетворення тексту на `int` і `float`

Текст, отриманий з UI, залишається рядком навіть тоді, коли візуально містить число. Для арифметики його явно перетворюють: `int(page_number_text)` для індексу пагінації або `float(price_text)` для демонстраційного десяткового значення. Некоректний числовий рядок спричинить `ValueError`, тому на trust boundary формат треба перевірити або обробити помилку. Для точних грошових розрахунків `float` небезпечний через двійкове округлення; у production краще `Decimal` або цілі minor units, наприклад копійки/центи.

4. Типізація даних (str, int, float, bool) →

Python мануфактура · Програма курсу · 0:00–2:30

`str`, `int`, `float`, `bool` і запуск прикладів

Змінна отримує тип із присвоєного значення: текст у лапках стає `str`, ціле число — `int`, число з десятковою крапкою — `float`, а `True`/`False` — `bool`. `type(value)` допомагає побачити фактичний тип. Файл можна запускати кнопкою Run в IDE й одразу звіряти оголошені значення з console output.

1 типи даних →

Python мануфактура · Програма курсу · 7:02–9:00

Арифметика та округлення expected value

Expected result іноді треба обчислити: кількість товарів множиться на ціну, pagination використовує ділення та залишок. Через особливості floating-point результат на кшталт `3 * 9.99` доцільно округлити через `round(value, 2)` перед грошовим порівнянням; це не перетворює float на точний financial type, але відповідає навчальному прикладу.

2 оператори →

Python мануфактура · Програма курсу · 2:30–4:32

Явне перетворення рядків у числа

Текст із Selenium/Playwright, CSV або `.env` залишається рядком, навіть якщо виглядає як `"200"`. Для числового порівняння застосовують `int(...)` або `float(...)`. Некоректний формат спричинить `ValueError`, тому не можна вважати будь-який текст числом лише за зовнішнім виглядом.

1 типи даних →

Python мануфактура · Програма курсу · 26:00–30:00

Списки цін, `max()` і читабельна перевірка

Кілька цін збираються в типізований список, наприклад `list[float]`. `max(prices)` знаходить найбільше значення, а перший елемент можна порівняти з ним, щоб перевірити сортування «від більшої ціни». Навіть коротку, але предметно важливу логіку пропонується оформити функцією на кшталт `is_first_price_highest(prices)`. Назва пояснює вимогу краще, ніж вкладене порівняння всередині великого тесту.

4. Типізація даних (str, int, float, bool) →
Запитати в чаті про «float» →