# SOME DESCRIPTIVE TITLE.
# Copyright (C) 2001-2024, Python Software Foundation
# This file is distributed under the same license as the Python package.
# FIRST AUTHOR , YEAR.
#
#, fuzzy
msgid ""
msgstr ""
"Project-Id-Version: Python 3.12\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2025-12-04 09:48+0200\n"
"PO-Revision-Date: 2025-05-13 19:38+0300\n"
"Last-Translator: Panagiotis Skias \n"
"Language-Team: PyGreece \n"
"Language: el\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Generator: Poedit 3.5\n"
#: tutorial/stdlib2.rst:5
msgid "Brief Tour of the Standard Library --- Part II"
msgstr "Σύντομη περιήγηση στην Πρότυπη Βιβλιοθήκη --- Μέρος II"
#: tutorial/stdlib2.rst:7
msgid ""
"This second tour covers more advanced modules that support professional "
"programming needs. These modules rarely occur in small scripts."
msgstr ""
"Αυτή η δεύτερη περιήγηση καλύπτει τα πιο προηγμένα modules που υποστηρίζουν "
"επαγγελματικές ανάγκες προγραμματισμού. Αυτά τα modules σπάνια εμφανίζονται "
"σε μικρά scripts."
#: tutorial/stdlib2.rst:14
msgid "Output Formatting"
msgstr "Μορφοποίηση εξόδου"
#: tutorial/stdlib2.rst:16
msgid ""
"The :mod:`reprlib` module provides a version of :func:`repr` customized for "
"abbreviated displays of large or deeply nested containers::"
msgstr ""
"Το module :mod:`reprlib` παρέχει μια έκδοση του :func:`repr` προσαρμοσμένη "
"για συντομευμένες εμφανίσεις μεγάλων ή βαθιά ένθετων containers::"
#: tutorial/stdlib2.rst:19
msgid ""
">>> import reprlib\n"
">>> reprlib.repr(set('supercalifragilisticexpialidocious'))\n"
"\"{'a', 'c', 'd', 'e', 'f', 'g', ...}\""
msgstr ""
">>> import reprlib\n"
">>> reprlib.repr(set('supercalifragilisticexpialidocious'))\n"
"\"{'a', 'c', 'd', 'e', 'f', 'g', ...}\""
#: tutorial/stdlib2.rst:23
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 ""
"Το module :mod:`pprint` προσφέρει πιο εξελιγμένο έλεγχο της εκτύπωσης τόσο "
"των ενσωματωμένων (built-in) και των καθορισμένων από τον χρήστη "
"αντικειμένων με τρόπο που είναι ευανάγνωστο από τον διερμηνέα. Όταν το "
"αποτέλεσμα είναι μεγαλύτερο από μία γραμμή, ο \"pretty printer\" προσθέτει "
"αλλαγές γραμμής και εσοχές για να εμφανιστεί πιο ξεκάθαρα η δομή δεδομένων::"
#: tutorial/stdlib2.rst:28
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 ""
">>> 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']]]"
#: tutorial/stdlib2.rst:39
msgid ""
"The :mod:`textwrap` module formats paragraphs of text to fit a given screen "
"width::"
msgstr ""
"Το module :mod:`textwrap` μορφοποιεί τις παραγράφους του κειμένου ώστε να "
"ταιριάζει σε ένα δεδομένο πλάτος οθόνης::"
#: tutorial/stdlib2.rst:42
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 ""
">>> 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."
#: tutorial/stdlib2.rst:53
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 ""
"Το module :mod:`locale` έχει πρόσβαση σε μια βάση δεδομένων μορφών δεδομένων "
"συγκεκριμένης κουλτούρας. Το χαρακτηριστικό ομαδοποίησης της συνάρτησης "
"μορφοποίησης της τοπικής ρύθμισης παρέχει έναν άμεσο τρόπο μορφοποίησης "
"αριθμών με διαχωριστικά ομάδων::"
#: tutorial/stdlib2.rst:57
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 ""
">>> 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'"
#: tutorial/stdlib2.rst:72
msgid "Templating"
msgstr "Templating"
#: tutorial/stdlib2.rst:74
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 ""
"Το module :mod:`string` περιλαμβάνει μια ευέλικτη κλάση :class:`~string."
"Template` με απλοποιημένη σύνταξη κατάλληλη για επεξεργασία από τελικούς "
"χρήστες. Αυτό επιτρέπει στους χρήστες να προσαρμόζουν τις εφαρμογές τους "
"χωρίς να χρειάζεται να αλλάξουν την εφαρμογή."
#: tutorial/stdlib2.rst:78
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 (αλφαριθμητικούς χαρακτήρες και κάτω παύλες). "
"Περιβάλλοντας το placeholder με αγκύλες επιτρέπει να ακολουθείται από "
"περισσότερα αλφαριθμητικά γράμματα χωρίς ενδιάμεσα κενά. Γράφοντας ``$$`` "
"δημιουργεί ένα ενιαίο ``$``::"
#: tutorial/stdlib2.rst:83
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 ""
">>> 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.'"
#: tutorial/stdlib2.rst:88
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` κάνει raise ένα :exc:"
"`KeyError` όταν ένα placeholder δεν παρέχεται σε ένα λεξικό ή ένα όρισμα "
"λέξης-κλειδιού. Για εφαρμογές στυλ συγχώνευσης mail, τα δεδομένα που "
"παρέχονται από τον χρήστη ενδέχεται να είναι ελλιπή και η μέθοδος :meth:"
"`~string.Template.safe_substitute` μπορεί να είναι πιο κατάλληλη --- θα "
"αφήσει αμετάβλητα τα placeholders εάν λείπουν δεδομένα::"
#: tutorial/stdlib2.rst:94
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 ""
">>> 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.'"
#: tutorial/stdlib2.rst:103
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 ""
"Οι υποκατηγορίες προτύπων μπορούν να καθορίσουν έναν προσαρμοσμένο "
"οριοθέτη. Για παράδειγμα, ένα batch πρόγραμμα μετονομασίας για ένα "
"πρόγραμμα περιήγησης φωτογραφιών μπορεί να επιλέξει να χρησιμοποιεί σύμβολα "
"ποσοστού για placeholders όπως η τρέχουσα ημερομηνία, ο αριθμός ακολουθίας "
"εικόνων ή η μορφή αρχείου::"
#: tutorial/stdlib2.rst:107
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 ""
">>> 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"
#: tutorial/stdlib2.rst:126
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 ""
"Μια άλλη εφαρμογή για templating είναι ο διαχωρισμός της λογικής του "
"προγράμματος από τις λεπτομέρειες πολλαπλών μορφών εξόδου. Αυτό καθιστά "
"δυνατή την αντικατάσταση προσαρμοσμένων προτύπων για αρχεία XML, αναφορές "
"απλού κειμένου και αναφορές ιστού HTML."
#: tutorial/stdlib2.rst:134
msgid "Working with Binary Data Record Layouts"
msgstr "Εργασία με δυαδικές διατάξεις εγγραφής δεδομένων"
#: tutorial/stdlib2.rst:136
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 ""
"Το module :mod:`struct` παρέχει τις συναρτήσεις :func:`~struct.pack` και :"
"func:`~struct.unpack` για εργασία με μορφές δυαδικών (binary) εγγραφών "
"μεταβλητού μήκους. Το ακόλουθο παράδειγμα δείχνει πως να κάνετε μια λούπα "
"μέσω των πληροφοριών κεφαλίδας στο ένα αρχείο ZIP χωρίς τη χρήση του module :"
"mod:`zipfile`. Οι κωδικοί πακέτου ``\"H\"`` και ``\"I\"`` αντιπροσωπεύουν "
"αριθμούς χωρίς υπογραφή δύο και τεσσάρων byte αντίστοιχα. Το ``\"<\"`` "
"υποδηλώνει ότι είναι τυπικού μεγέθους και σε σειρά byte λίγο endian::"
#: tutorial/stdlib2.rst:144
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:/python314/lib/weakref.py\", line 46, in __getitem__\n"
" o = self.data[key]()\n"
"KeyError: 'primary'"
msgstr ""
">>> 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:/python314/lib/weakref.py\", line 46, in __getitem__\n"
" o = self.data[key]()\n"
"KeyError: 'primary'"
#: tutorial/stdlib2.rst:290
msgid "Tools for Working with Lists"
msgstr "Εργαλεία για εργασία με λίστες"
#: tutorial/stdlib2.rst:292
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 ""
"Πολλές ανάγκες δομών δεδομένων μπορούν να καλυφθούν με τον ενσωματωμένο τύπο "
"λίστας. Ωστόσο, μερικές φορές υπάρχει ανάγκη για εναλλακτικές υλοποιήσεις με "
"διαφορετικούς συμβιβασμούς απόδοσης."
#: tutorial/stdlib2.rst:296
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 ""
"Το module :mod:`array` παρέχει ένα αντικείμενο :class:`~array.array` που "
"μοιάζει με μια λίστα που αποθηκεύει μόνο ομοιογενή δεδομένα και τα "
"αποθηκεύει με πιο συμπαγή τρόπο. Το ακόλουθο παράδειγμα δείχνει έναν πίνακα "
"αριθμών που είναι αποθηκευμένοι ως δύο byte ανυπόγραφων δυαδικών (binary) "
"αριθμών (κωδικός τύπου ``\"H\"``) αντί για τα συνηθισμένα 16 byte ανά "
"καταχώρηση για κανονικές λίστες αντικειμένων τύπου Python int::"
#: tutorial/stdlib2.rst:302
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 ""
">>> 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])"
#: tutorial/stdlib2.rst:309
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 ""
"Το module :mod:`collections` παρέχει ένα αντικείμενο :class:`~collections."
"deque` που μοιάζει με λίστα με ταχύτερα προσαρτήματα και αναδύεται από την "
"αριστερή πλευρά αλλά με πιο αργές αναζητήσεις στη μέση. Αυτά τα αντικείμενα "
"είναι κατάλληλα για υλοποίηση ουρών και αναζητήσεων σε πρώτο δέντρο εύρους::"
#: tutorial/stdlib2.rst:314
msgid ""
">>> from collections import deque\n"
">>> d = deque([\"task1\", \"task2\", \"task3\"])\n"
">>> d.append(\"task4\")\n"
">>> print(\"Handling\", d.popleft())\n"
"Handling task1"
msgstr ""
">>> from collections import deque\n"
">>> d = deque([\"task1\", \"task2\", \"task3\"])\n"
">>> d.append(\"task4\")\n"
">>> print(\"Handling\", d.popleft())\n"
"Handling task1"
#: tutorial/stdlib2.rst:322
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 ""
"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)"
#: tutorial/stdlib2.rst:330
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 ""
"Εκτός από τις εναλλακτικές υλοποιήσεις λιστών, η βιβλιοθήκη προσφέρει επίσης "
"και άλλα εργαλεία όπως το module :mod:`bisect` με συναρτήσεις για τον "
"χειρισμό ταξινομημένων λιστών::"
#: tutorial/stdlib2.rst:334
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 ""
">>> 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')]"
#: tutorial/stdlib2.rst:340
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 ""
"Το module :mod:`heapq` παρέχει λειτουργίες για την υλοποίηση σωρών (heaps) "
"που βασίζονται σε κανονικές λίστες. Η καταχώριση με την χαμηλότερη τιμή "
"διατηρείται πάντα στη θέση μηδέν. Αυτό είναι χρήσιμο για εφαρμογές που "
"έχουν επανειλημμένα πρόσβαση στο μικρότερο στοιχείο αλλά δεν θέλουν να "
"εκτελέσουν μια πλήρη ταξινόμηση λίστας::"
#: tutorial/stdlib2.rst:345
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 ""
">>> 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]"
#: tutorial/stdlib2.rst:356
msgid "Decimal Floating-Point Arithmetic"
msgstr "Δεκαδική Αριθμητικής Κινητής Υποδιαστολής"
#: tutorial/stdlib2.rst:358
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 ""
"Το module :mod:`decimal` προσφέρουν έναν τύπο δεδομένων :class:`~decimal."
"Decimal` για δεκαδική αριθμητική κινητής υποδιαστολής. Σε σύγκριση με την "
"ενσωματωμένη (built-in) εφαρμογή :class:`float` του δυαδικού κινητής "
"υποδιαστολής, η κλάση είναι ιδιαίτερα χρήσιμη για"
#: tutorial/stdlib2.rst:362
msgid ""
"financial applications and other uses which require exact decimal "
"representation,"
msgstr ""
"οικονομικές εφαρμογές και άλλες χρήσεις που απαιτούν ακριβή δεκαδική "
"αναπαράσταση,"
#: tutorial/stdlib2.rst:364
msgid "control over precision,"
msgstr "έλεγχος για την ακρίβεια,"
#: tutorial/stdlib2.rst:365
msgid "control over rounding to meet legal or regulatory requirements,"
msgstr ""
"έλεγχος της στρογγυλοποίησης για την εκπλήρωση νομικών ή κανονιστικών "
"απαιτήσεων,"
#: tutorial/stdlib2.rst:366
msgid "tracking of significant decimal places, or"
msgstr "παρακολούθηση σημαντικών δεκαδικών ψηφίων, ή"
#: tutorial/stdlib2.rst:367
msgid ""
"applications where the user expects the results to match calculations done "
"by hand."
msgstr ""
"εφαρμογές όπου ο χρήστης αναμένει ότι τα αποτελέσματα ταιριάζουν με "
"υπολογισμούς που έγιναν με το χέρι."
#: tutorial/stdlib2.rst:370
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 λεπτών "
"δίνει διαφορετικά αποτελέσματα σε δεκαδική κινητή υποδιαστολή και σε δυαδική "
"(binary) κινητή υποδιαστολή. Η διαφορά γίνεται σημαντική εάν τα αποτελέσματα "
"στρογγυλοποιηθούν στο πλησιέστερο λεπτό::"
#: tutorial/stdlib2.rst:374
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 ""
">>> 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"
#: tutorial/stdlib2.rst:380
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` διατηρεί ένα μηδέν στο τέλος, "
"συνάγοντας αυτόματα τη σημασία τεσσάρων θέσεων από πολλαπλάσια με σημασία "
"δύο θέσεων. Το δεκαδικό αναπαράγει τα μαθηματικά όπως γίνονται με το χέρι "
"και αποφεύγει ζητήματα που μπορεί να προκύψουν όταν η δυαδική κινητή "
"υποδιαστολή δεν μπορεί να αντιπροσωπεύει ακριβώς τις δεκαδικές ποσότητες."
#: tutorial/stdlib2.rst:386
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` να "
"εκτελεί υπολογισμούς modulo και δοκιμές ισότητας που είναι ακατάλληλες για "
"δυαδική κινητή υποδιαστολή::"
#: tutorial/stdlib2.rst:390
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 ""
">>> 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"
#: tutorial/stdlib2.rst:400
msgid ""
"The :mod:`decimal` module provides arithmetic with as much precision as "
"needed::"
msgstr ""
"Το module :mod:`decimal` παρέχει αριθμητική με όση ακρίβεια χρειάζεται::"
#: tutorial/stdlib2.rst:402
msgid ""
">>> getcontext().prec = 36\n"
">>> Decimal(1) / Decimal(7)\n"
"Decimal('0.142857142857142857142857142857142857')"
msgstr ""
">>> getcontext().prec = 36\n"
">>> Decimal(1) / Decimal(7)\n"
"Decimal('0.142857142857142857142857142857142857')"