# SOME DESCRIPTIVE TITLE. # Copyright (C) 2001-2025, Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: # Dmytro Kazanzhy, 2022 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.13\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2025-04-11 14:19+0000\n" "PO-Revision-Date: 2021-06-28 01:50+0000\n" "Last-Translator: Dmytro Kazanzhy, 2022\n" "Language-Team: Ukrainian (https://app.transifex.com/python-doc/teams/5390/" "uk/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: uk\n" "Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != " "11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % " "100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || " "(n % 100 >=11 && n % 100 <=14 )) ? 2: 3);\n" msgid "Brief Tour of the Standard Library --- Part II" msgstr "Короткий огляд Стандартної бібліотеки --- Частина II" msgid "" "This second tour covers more advanced modules that support professional " "programming needs. These modules rarely occur in small scripts." msgstr "" "Цей другий тур охоплює більш просунуті модулі, які підтримують потреби " "професійного програмування. Ці модулі рідко зустрічаються в невеликих " "сценаріях." msgid "Output Formatting" msgstr "Форматування виводу" msgid "" "The :mod:`reprlib` module provides a version of :func:`repr` customized for " "abbreviated displays of large or deeply nested containers::" msgstr "" "Модуль :mod:`reprlib` надає версію :func:`repr`, налаштовану для скороченого " "відображення великих або глибоко вкладених контейнерів:" msgid "" ">>> import reprlib\n" ">>> reprlib.repr(set('supercalifragilisticexpialidocious'))\n" "\"{'a', 'c', 'd', 'e', 'f', 'g', ...}\"" msgstr "" msgid "" "The :mod:`pprint` module offers more sophisticated control over printing " "both built-in and user defined objects in a way that is readable by the " "interpreter. When the result is longer than one line, the \"pretty printer\" " "adds line breaks and indentation to more clearly reveal data structure::" msgstr "" "Модуль :mod:`pprint` пропонує більш складний контроль над друком як " "вбудованих, так і визначених користувачем об’єктів у спосіб, який читається " "інтерпретатором. Якщо результат довший за один рядок, \"гарний принтер\" " "додає розриви рядків і відступи, щоб чіткіше показати структуру даних:" msgid "" ">>> import pprint\n" ">>> t = [[[['black', 'cyan'], 'white', ['green', 'red']], [['magenta',\n" "... 'yellow'], 'blue']]]\n" "...\n" ">>> pprint.pprint(t, width=30)\n" "[[[['black', 'cyan'],\n" " 'white',\n" " ['green', 'red']],\n" " [['magenta', 'yellow'],\n" " 'blue']]]" msgstr "" msgid "" "The :mod:`textwrap` module formats paragraphs of text to fit a given screen " "width::" msgstr "" "Модуль :mod:`textwrap` форматує абзаци тексту відповідно до заданої ширини " "екрана:" msgid "" ">>> import textwrap\n" ">>> doc = \"\"\"The wrap() method is just like fill() except that it " "returns\n" "... a list of strings instead of one big string with newlines to separate\n" "... the wrapped lines.\"\"\"\n" "...\n" ">>> print(textwrap.fill(doc, width=40))\n" "The wrap() method is just like fill()\n" "except that it returns a list of strings\n" "instead of one big string with newlines\n" "to separate the wrapped lines." msgstr "" msgid "" "The :mod:`locale` module accesses a database of culture specific data " "formats. The grouping attribute of locale's format function provides a " "direct way of formatting numbers with group separators::" msgstr "" "Модуль :mod:`locale` отримує доступ до бази даних форматів даних, " "специфічних для культури. Атрибут grouping функції форматування locale " "забезпечує прямий спосіб форматування чисел за допомогою роздільників груп::" msgid "" ">>> import locale\n" ">>> locale.setlocale(locale.LC_ALL, 'English_United States.1252')\n" "'English_United States.1252'\n" ">>> conv = locale.localeconv() # get a mapping of conventions\n" ">>> x = 1234567.8\n" ">>> locale.format_string(\"%d\", x, grouping=True)\n" "'1,234,567'\n" ">>> locale.format_string(\"%s%.*f\", (conv['currency_symbol'],\n" "... conv['frac_digits'], x), grouping=True)\n" "'$1,234,567.80'" msgstr "" msgid "Templating" msgstr "шаблонування" msgid "" "The :mod:`string` module includes a versatile :class:`~string.Template` " "class with a simplified syntax suitable for editing by end-users. This " "allows users to customize their applications without having to alter the " "application." msgstr "" "Модуль :mod:`string` містить універсальний клас :class:`~string.Template` зі " "спрощеним синтаксисом, придатним для редагування кінцевими користувачами. Це " "дозволяє користувачам налаштовувати свої програми без необхідності змінювати " "програму." msgid "" "The format uses placeholder names formed by ``$`` with valid Python " "identifiers (alphanumeric characters and underscores). Surrounding the " "placeholder with braces allows it to be followed by more alphanumeric " "letters with no intervening spaces. Writing ``$$`` creates a single escaped " "``$``::" msgstr "" "Формат використовує імена заповнювачів, утворені ``$`` з дійсними " "ідентифікаторами Python (букви, цифри та підкреслення). Якщо заповнювач " "оточити фігурними дужками, то після нього буде більше буквено-цифрових літер " "без проміжних пробілів. Написання ``$$`` створює один екранований ``$``::" msgid "" ">>> from string import Template\n" ">>> t = Template('${village}folk send $$10 to $cause.')\n" ">>> t.substitute(village='Nottingham', cause='the ditch fund')\n" "'Nottinghamfolk send $10 to the ditch fund.'" msgstr "" msgid "" "The :meth:`~string.Template.substitute` method raises a :exc:`KeyError` when " "a placeholder is not supplied in a dictionary or a keyword argument. For " "mail-merge style applications, user supplied data may be incomplete and the :" "meth:`~string.Template.safe_substitute` method may be more appropriate --- " "it will leave placeholders unchanged if data is missing::" msgstr "" "Метод :meth:`~string.Template.substitute` викликає :exc:`KeyError`, коли " "покажчик місця заповнення не вказано в словнику або в аргументі ключового " "слова. Для програм у стилі злиття дані, надані користувачем, можуть бути " "неповними, і метод :meth:`~string.Template.safe_substitute` може бути більш " "доцільним --- він залишить заповнювачі незмінними, якщо дані відсутні:" msgid "" ">>> t = Template('Return the $item to $owner.')\n" ">>> d = dict(item='unladen swallow')\n" ">>> t.substitute(d)\n" "Traceback (most recent call last):\n" " ...\n" "KeyError: 'owner'\n" ">>> t.safe_substitute(d)\n" "'Return the unladen swallow to $owner.'" msgstr "" msgid "" "Template subclasses can specify a custom delimiter. For example, a batch " "renaming utility for a photo browser may elect to use percent signs for " "placeholders such as the current date, image sequence number, or file " "format::" msgstr "" "Підкласи шаблону можуть визначати власний роздільник. Наприклад, утиліта " "пакетного перейменування для браузера фотографій може вибрати використання " "знаків відсотків для заповнювачів, таких як поточна дата, порядковий номер " "зображення або формат файлу:" msgid "" ">>> import time, os.path\n" ">>> photofiles = ['img_1074.jpg', 'img_1076.jpg', 'img_1077.jpg']\n" ">>> class BatchRename(Template):\n" "... delimiter = '%'\n" "...\n" ">>> fmt = input('Enter rename style (%d-date %n-seqnum %f-format): ')\n" "Enter rename style (%d-date %n-seqnum %f-format): Ashley_%n%f\n" "\n" ">>> t = BatchRename(fmt)\n" ">>> date = time.strftime('%d%b%y')\n" ">>> for i, filename in enumerate(photofiles):\n" "... base, ext = os.path.splitext(filename)\n" "... newname = t.substitute(d=date, n=i, f=ext)\n" "... print('{0} --> {1}'.format(filename, newname))\n" "\n" "img_1074.jpg --> Ashley_0.jpg\n" "img_1076.jpg --> Ashley_1.jpg\n" "img_1077.jpg --> Ashley_2.jpg" msgstr "" msgid "" "Another application for templating is separating program logic from the " "details of multiple output formats. This makes it possible to substitute " "custom templates for XML files, plain text reports, and HTML web reports." msgstr "" "Іншим застосуванням шаблонів є відокремлення логіки програми від деталей " "кількох вихідних форматів. Це дає змогу замінювати власні шаблони для XML-" "файлів, звітів у звичайному тексті та веб-звітів HTML." msgid "Working with Binary Data Record Layouts" msgstr "Робота з макетами записів двійкових даних" msgid "" "The :mod:`struct` module provides :func:`~struct.pack` and :func:`~struct." "unpack` functions for working with variable length binary record formats. " "The following example shows how to loop through header information in a ZIP " "file without using the :mod:`zipfile` module. Pack codes ``\"H\"`` and " "``\"I\"`` represent two and four byte unsigned numbers respectively. The " "``\"<\"`` indicates that they are standard size and in little-endian byte " "order::" msgstr "" "Модуль :mod:`struct` забезпечує функції :func:`~struct.pack` і :func:" "`~struct.unpack` для роботи з форматами двійкових записів змінної довжини. У " "наступному прикладі показано, як прокрутити інформацію заголовка в ZIP-файлі " "без використання модуля :mod:`zipfile`. Коди упаковки ``\"H\"`` та ``\"I\"`` " "представляють дво- та чотирибайтові числа без знаку відповідно. ``\"<\"`` " "вказує, що вони мають стандартний розмір і порядок байтів у порядку байтів::" msgid "" "import struct\n" "\n" "with open('myfile.zip', 'rb') as f:\n" " data = f.read()\n" "\n" "start = 0\n" "for i in range(3): # show the first 3 file headers\n" " start += 14\n" " fields = struct.unpack('>> import weakref, gc\n" ">>> class A:\n" "... def __init__(self, value):\n" "... self.value = value\n" "... def __repr__(self):\n" "... return str(self.value)\n" "...\n" ">>> a = A(10) # create a reference\n" ">>> d = weakref.WeakValueDictionary()\n" ">>> d['primary'] = a # does not create a reference\n" ">>> d['primary'] # fetch the object if it is still alive\n" "10\n" ">>> del a # remove the one reference\n" ">>> gc.collect() # run garbage collection right away\n" "0\n" ">>> d['primary'] # entry was automatically removed\n" "Traceback (most recent call last):\n" " File \"\", line 1, in \n" " d['primary'] # entry was automatically removed\n" " File \"C:/python313/lib/weakref.py\", line 46, in __getitem__\n" " o = self.data[key]()\n" "KeyError: 'primary'" msgstr "" msgid "Tools for Working with Lists" msgstr "Інструменти для роботи зі списками" msgid "" "Many data structure needs can be met with the built-in list type. However, " "sometimes there is a need for alternative implementations with different " "performance trade-offs." msgstr "" "Багато потреб у структурі даних можна задовольнити за допомогою вбудованого " "типу списку. Однак іноді виникає потреба в альтернативних реалізаціях з " "іншими компромісами щодо продуктивності." msgid "" "The :mod:`array` module provides an :class:`~array.array` object that is " "like a list that stores only homogeneous data and stores it more compactly. " "The following example shows an array of numbers stored as two byte unsigned " "binary numbers (typecode ``\"H\"``) rather than the usual 16 bytes per entry " "for regular lists of Python int objects::" msgstr "" msgid "" ">>> from array import array\n" ">>> a = array('H', [4000, 10, 700, 22222])\n" ">>> sum(a)\n" "26932\n" ">>> a[1:3]\n" "array('H', [10, 700])" msgstr "" msgid "" "The :mod:`collections` module provides a :class:`~collections.deque` object " "that is like a list with faster appends and pops from the left side but " "slower lookups in the middle. These objects are well suited for implementing " "queues and breadth first tree searches::" msgstr "" msgid "" ">>> from collections import deque\n" ">>> d = deque([\"task1\", \"task2\", \"task3\"])\n" ">>> d.append(\"task4\")\n" ">>> print(\"Handling\", d.popleft())\n" "Handling task1" msgstr "" msgid "" "unsearched = deque([starting_node])\n" "def breadth_first_search(unsearched):\n" " node = unsearched.popleft()\n" " for m in gen_moves(node):\n" " if is_goal(m):\n" " return m\n" " unsearched.append(m)" msgstr "" msgid "" "In addition to alternative list implementations, the library also offers " "other tools such as the :mod:`bisect` module with functions for manipulating " "sorted lists::" msgstr "" "Окрім альтернативних реалізацій списків, бібліотека також пропонує інші " "інструменти, такі як модуль :mod:`bisect` із функціями для роботи з " "відсортованими списками:" msgid "" ">>> import bisect\n" ">>> scores = [(100, 'perl'), (200, 'tcl'), (400, 'lua'), (500, 'python')]\n" ">>> bisect.insort(scores, (300, 'ruby'))\n" ">>> scores\n" "[(100, 'perl'), (200, 'tcl'), (300, 'ruby'), (400, 'lua'), (500, 'python')]" msgstr "" msgid "" "The :mod:`heapq` module provides functions for implementing heaps based on " "regular lists. The lowest valued entry is always kept at position zero. " "This is useful for applications which repeatedly access the smallest element " "but do not want to run a full list sort::" msgstr "" "Модуль :mod:`heapq` надає функції для реалізації купи на основі звичайних " "списків. Запис із найменшим значенням завжди зберігається в нульовій " "позиції. Це корисно для програм, які неодноразово звертаються до найменшого " "елемента, але не бажають запускати сортування за повним списком::" msgid "" ">>> from heapq import heapify, heappop, heappush\n" ">>> data = [1, 3, 5, 7, 9, 2, 4, 6, 8, 0]\n" ">>> heapify(data) # rearrange the list into heap order\n" ">>> heappush(data, -5) # add a new entry\n" ">>> [heappop(data) for i in range(3)] # fetch the three smallest entries\n" "[-5, 0, 1]" msgstr "" msgid "Decimal Floating-Point Arithmetic" msgstr "" msgid "" "The :mod:`decimal` module offers a :class:`~decimal.Decimal` datatype for " "decimal floating-point arithmetic. Compared to the built-in :class:`float` " "implementation of binary floating point, the class is especially helpful for" msgstr "" msgid "" "financial applications and other uses which require exact decimal " "representation," msgstr "" "фінансові програми та інші види використання, які вимагають точного " "десяткового представлення," msgid "control over precision," msgstr "контроль над точністю," msgid "control over rounding to meet legal or regulatory requirements," msgstr "контроль за округленням відповідно до правових або нормативних вимог," msgid "tracking of significant decimal places, or" msgstr "відстеження значущих знаків після коми, або" msgid "" "applications where the user expects the results to match calculations done " "by hand." msgstr "" "програми, де користувач очікує, що результати відповідатимуть обчисленням, " "зробленим вручну." msgid "" "For example, calculating a 5% tax on a 70 cent phone charge gives different " "results in decimal floating point and binary floating point. The difference " "becomes significant if the results are rounded to the nearest cent::" msgstr "" "Наприклад, обчислення 5% податку на 70 центів за телефонну плату дає різні " "результати в десятковій і двійковій комах. Різниця стає значною, якщо " "результати округляються до найближчого цента:" msgid "" ">>> from decimal import *\n" ">>> round(Decimal('0.70') * Decimal('1.05'), 2)\n" "Decimal('0.74')\n" ">>> round(.70 * 1.05, 2)\n" "0.73" msgstr "" msgid "" "The :class:`~decimal.Decimal` result keeps a trailing zero, automatically " "inferring four place significance from multiplicands with two place " "significance. Decimal reproduces mathematics as done by hand and avoids " "issues that can arise when binary floating point cannot exactly represent " "decimal quantities." msgstr "" "Результат :class:`~decimal.Decimal` зберігає кінцевий нуль, автоматично " "виводячи чотирирозрядне значення з множників із дворозрядним значенням. " "Decimal відтворює математику, зроблену вручну, і дозволяє уникнути проблем, " "які можуть виникнути, коли двійкова плаваюча кома не може точно представити " "десяткові величини." msgid "" "Exact representation enables the :class:`~decimal.Decimal` class to perform " "modulo calculations and equality tests that are unsuitable for binary " "floating point::" msgstr "" "Точне представлення дозволяє класу :class:`~decimal.Decimal` виконувати " "обчислення за модулем і перевіряти рівність, які не підходять для двійкових " "чисел з плаваючою комою::" msgid "" ">>> Decimal('1.00') % Decimal('.10')\n" "Decimal('0.00')\n" ">>> 1.00 % 0.10\n" "0.09999999999999995\n" "\n" ">>> sum([Decimal('0.1')]*10) == Decimal('1.0')\n" "True\n" ">>> 0.1 + 0.1 + 0.1 + 0.1 + 0.1 + 0.1 + 0.1 + 0.1 + 0.1 + 0.1 == 1.0\n" "False" msgstr "" msgid "" "The :mod:`decimal` module provides arithmetic with as much precision as " "needed::" msgstr "Модуль :mod:`decimal` забезпечує арифметику з необхідною точністю:" msgid "" ">>> getcontext().prec = 36\n" ">>> Decimal(1) / Decimal(7)\n" "Decimal('0.142857142857142857142857142857142857')" msgstr ""