From d19cc740dd1f4ef58927aea01cb6a8d8bc6fa7fe Mon Sep 17 00:00:00 2001 From: vadal Date: Sat, 7 Mar 2026 01:10:07 +0200 Subject: [PATCH 1/9] add translation for reference/compound_stmts.po --- reference/compound_stmts.po | 1285 +++++++++++++++++++++++++++-------- 1 file changed, 985 insertions(+), 300 deletions(-) diff --git a/reference/compound_stmts.po b/reference/compound_stmts.po index 0978b547..e9d1b92d 100644 --- a/reference/compound_stmts.po +++ b/reference/compound_stmts.po @@ -9,17 +9,17 @@ 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: YEAR-MO-DA HO:MI+ZONE\n" -"Last-Translator: FULL NAME \n" -"Language-Team: LANGUAGE \n" -"Language: \n" +"PO-Revision-Date: 2026-03-07 00:50+0200\n" +"Last-Translator: Vassiliki Dalakiari \n" +"Language-Team: \n" +"Language: el\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" #: reference/compound_stmts.rst:5 msgid "Compound statements" -msgstr "" +msgstr "Σύνθετες εντολές" #: reference/compound_stmts.rst:9 msgid "" @@ -28,6 +28,9 @@ msgid "" "compound statements span multiple lines, although in simple incarnations a " "whole compound statement may be contained in one line." msgstr "" +"Οι σύνθετες εντολές περιέχουν (ομάδες από) άλλες εντολές· επηρεάζουν ή ελέγχουν την εκτέλεση αυτών των άλλων εντολών με " +"κάποιο τρόπο. Γενικά, οι σύνθετες εντολές εκτείνονται σε πολλαπλές γραμμές, αν και σε απλές μορφές μια ολόκληρη σύνθετη " +"δήλωση μπορεί να περιέχεται σε μία γραμμή." #: reference/compound_stmts.rst:14 msgid "" @@ -38,6 +41,10 @@ msgid "" "code around a block of code. Function and class definitions are also " "syntactically compound statements." msgstr "" +"Οι εντολές :keyword:`if`, :keyword:`while` και :keyword:`for` υλοποιούν παραδοσιακές δομές ροής ελέγχου. Η " +":keyword:`try` καθορίζει χειριστές εξαιρέσεων ή/και κώδικα εκκαθάρισης για μια ομάδα εντολών, ενώ η " +"δήλωση :keyword:`with` επιτρέπει την εκτέλεση κώδικα αρχικοποίησης και οριστικοποίησης γύρω από ένα μπλοκ κώδικα. Οι " +"ορισμοί συναρτήσεων και κλάσεων είναι επίσης συντακτικά σύνθετες εντολές." #: reference/compound_stmts.rst:26 msgid "" @@ -53,10 +60,17 @@ msgid "" "clear to which :keyword:`if` clause a following :keyword:`else` clause would " "belong::" msgstr "" +"Μια σύνθετη δήλωση αποτελείται από μία ή περισσότερες ‘ρήτρες’. Μία ρήτρα αποτελείται από μια κεφαλίδα και μία ‘σουίτα’. Οι " +"κεφαλίδες των ρητρών μιας συγκεκριμένης σύνθετης εντολής βρίσκονται όλες στο ίδιο επίπεδο εσοχής. Κάθε κεφαλίδα της ρήτρας " +"ξεκινά με μια μοναδική λέξη-κλειδί αναγνώρισης και καταλήγει σε άνω και κάτω τελεία. Μία σουίτα είναι μια ομάδα εντολών που " +"ελέγχονται από μία ρήτρα. Μία σουίτα μπορεί να είναι μία ή περισσότερες απλές εντολές χωρισμένες με ερωτηματικό στην ίδια " +"γραμμή με την κεφαλίδα, ακολουθώντας την άνω και κάτω τελεία της κεφαλίδας, ή μπορεί να είναι μία ή περισσότερες εντολές με " +"εσοχή σε επόμενες γραμμές. Μόνο η δεύτερη μορφή μιας σουίτες μπορεί να περιέχει εμφωλευμένες σύνθετες εντολές· το ακόλουθο " +"δεν είναι έγκυρο, κυρίως επειδή δεν θα ήταν σαφές σε ποια ρήτρα :keyword:`if` θα ανήκε μία ακόλουθη ρήτρα :keyword:`else`::" #: reference/compound_stmts.rst:37 msgid "if test1: if test2: print(x)" -msgstr "" +msgstr "if test1: if test2: print(x)" #: reference/compound_stmts.rst:39 msgid "" @@ -64,14 +78,16 @@ msgid "" "so that in the following example, either all or none of the :func:`print` " "calls are executed::" msgstr "" +"Σημειώστε επίσης ότι το ερωτηματικό έχει ισχυρότερη προτεραιότητα από την άνω και κάτω τελεία σε αυτό το πλαίσιο, οπότε στο " +"ακόλουθο παράδειγμα, εκτελούνται είτε όλες είτε καμία από τις κλήσεις της :func:`print`::" #: reference/compound_stmts.rst:43 msgid "if x < y < z: print(x); print(y); print(z)" -msgstr "" +msgstr "if x < y < z: print(x); print(y); print(z)" #: reference/compound_stmts.rst:45 msgid "Summarizing:" -msgstr "" +msgstr "Συνοψίζοντας:" #: reference/compound_stmts.rst:69 msgid "" @@ -81,20 +97,25 @@ msgid "" "'dangling :keyword:`else`' problem is solved in Python by requiring nested :" "keyword:`if` statements to be indented)." msgstr "" +"Σημειώστε ότι οι εντολές τελειώνουν πάντα με ένα ``NEWLINE`` πιθανώς ακολουθούμενο από ένα ``DEDENT``. Σημειώστε επίσης ότι " +"οι προαιρετικές ρήτρες συνέχειας ξεκινούν πάντα με μια λέξη-κλειδί που δεν μπορεί να ξεκινήσει μια δήλωση, επομένως δεν " +"υπάρχουν ασάφειες (το πρόβλημα του 'εκκρεμούς :keyword:`else`' λύνεται στην Python απαιτώντας οι εμφωλευμένες " +"εντολές :keyword:`if` να έχουν εσοχή)." #: reference/compound_stmts.rst:75 msgid "" "The formatting of the grammar rules in the following sections places each " "clause on a separate line for clarity." msgstr "" +"Η μορφοποίηση των γραμματικών κανόνων στις ακόλουθες ενότητες τοποθετεί κάθε ρήτρα σε ξεχωριστή γραμμή για λόγους σαφήνειας." #: reference/compound_stmts.rst:84 msgid "The :keyword:`!if` statement" -msgstr "" +msgstr "Η δήλωση :keyword:`!if`" #: reference/compound_stmts.rst:92 msgid "The :keyword:`if` statement is used for conditional execution:" -msgstr "" +msgstr "Η δήλωση :keyword:`if` χρησιμοποιείται για εκτέλεση υπό συνθήκη:" #: reference/compound_stmts.rst:99 msgid "" @@ -105,16 +126,20 @@ msgid "" "expressions are false, the suite of the :keyword:`else` clause, if present, " "is executed." msgstr "" +"Επιλέγει ακριβώς μία από τις σουίτες αξιολογώντας τις εκφράσεις μία προς μία μέχρι να βρεθεί μία που να είναι αληθής (δείτε " +"την ενότητα :ref:`booleans` για τον ορισμό του αληθούς και του ψευδούς)· στη συνέχεια εκτελείται αυτή η σουίτα (και κανένα " +"άλλο μέρος της εντολής :keyword:`if` δεν εκτελείται ή αξιολογείται). Εάν όλες οι εκφράσεις είναι ψευδείς, εκτελείται η " +"σουίτα της ρήτρας :keyword:`else`, εάν υπάρχει." #: reference/compound_stmts.rst:109 msgid "The :keyword:`!while` statement" -msgstr "" +msgstr "Η δήλωση :keyword:`!while`" #: reference/compound_stmts.rst:117 msgid "" "The :keyword:`while` statement is used for repeated execution as long as an " "expression is true:" -msgstr "" +msgstr "Η δήλωση :keyword:`while` χρησιμοποιείται για επαναλαμβανόμενη εκτέλεση εφόσον μια έκφραση είναι αληθής:" #: reference/compound_stmts.rst:124 msgid "" @@ -123,6 +148,9 @@ msgid "" "the suite of the :keyword:`!else` clause, if present, is executed and the " "loop terminates." msgstr "" +"Ελέγχει επανειλημμένα την έκφραση και, εάν είναι αληθής, εκτελεί την πρώτη σουίτα· εάν η έκφραση είναι ψευδής (το οποίο " +"μπορεί να συμβεί την πρώτη φορά που ελέγχεται) εκτελείται η σουίτα της ρήτρας :keyword:`!else`, εάν υπάρχει, και ο βρόχος " +"τερματίζεται." #: reference/compound_stmts.rst:133 msgid "" @@ -131,16 +159,21 @@ msgid "" "`continue` statement executed in the first suite skips the rest of the suite " "and goes back to testing the expression." msgstr "" +"Μια δήλωση :keyword:`break` που εκτελείται στην πρώτη σουίτα τερματίζει τον βρόχο χωρίς να εκτελέσει τη σουίτα της " +"ρήτρας :keyword:`!else`. Μια δήλωση :keyword:`continue` που εκτελείται στην πρώτη σουίτα παραλείπει το υπόλοιπο της σουίτας " +"και επιστρέφει στον έλεγχο της έκφρασης." #: reference/compound_stmts.rst:142 msgid "The :keyword:`!for` statement" -msgstr "" +msgstr "Η δήλωση :keyword:`!for`" #: reference/compound_stmts.rst:153 msgid "" "The :keyword:`for` statement is used to iterate over the elements of a " "sequence (such as a string, tuple or list) or other iterable object:" msgstr "" +"Η δήλωση :keyword:`for` χρησιμοποιείται για την επανάληψη στα στοιχεία μιας ακολουθίας (όπως ένα αλφαριθμητικό, μία πλειάδα " +"ή μία λίστα) ή άλλου iterable αντικειμένου:" #: reference/compound_stmts.rst:160 msgid "" @@ -152,6 +185,11 @@ msgid "" "provided by the iterator. When the iterator is exhausted, the suite in the :" "keyword:`!else` clause, if present, is executed, and the loop terminates." msgstr "" +"Η έκφραση :token:`~python-grammar:starred_expression_list` αξιολογείται μία φορά· θα πρέπει να αποφέρει ένα " +"αντικείμενο :term:`iterable`. Ένας :term:`iterator` δημιουργείται για αυτό το iterable. Το πρώτο στοιχείο που παρέχεται από " +"τον iterator ανατίθεται στη συνέχεια στη λίστα-στόχο χρησιμοποιώντας τους τυπικούς κανόνες για αναθέσεις (δείτε " +"το :ref:`assignment`), και η σουίτα εκτελείται. Αυτό επαναλαμβάνεται για κάθε στοιχείο που παρέχεται από τον iterator. Όταν " +"ο iterator εξαντληθεί, εκτελείται η σουίτα στη ρήτρα :keyword:`!else`, εάν υπάρχει, και ο βρόχος τερματίζεται." #: reference/compound_stmts.rst:173 msgid "" @@ -161,6 +199,9 @@ msgid "" "and continues with the next item, or with the :keyword:`!else` clause if " "there is no next item." msgstr "" +"Μια δήλωση :keyword:`break` που εκτελείται στην πρώτη σουίτα τερματίζει τον βρόχο χωρίς να εκτελέσει τη σουίτα της " +"ρήτρας :keyword:`!else`. Μια δήλωση :keyword:`continue` που εκτελείται στην πρώτη σουίτα παραλείπει το υπόλοιπο της σουίτας " +"και συνεχίζει με το επόμενο στοιχείο, ή με τη ρήτρα :keyword:`!else` εάν δεν υπάρχει επόμενο στοιχείο." #: reference/compound_stmts.rst:179 msgid "" @@ -168,6 +209,8 @@ msgid "" "overwrites all previous assignments to those variables including those made " "in the suite of the for-loop::" msgstr "" +"Ο βρόχος for κάνει αναθέσεις στις μεταβλητές της λίστας στόχου. Αυτό αντικαθιστά όλες τις προηγούμενες αναθέσεις σε αυτές " +"τις μεταβλητές συμπεριλαμβανομένων αυτών που έγιναν στη σουίτα του βρόχου for::" #: reference/compound_stmts.rst:183 msgid "" @@ -177,6 +220,11 @@ msgid "" " # because i will be overwritten with the next\n" " # index in the range" msgstr "" +"for i in range(10):\n" +" print(i)\n" +" i = 5 # αυτό δεν θα επηρεάσει τον βρόχο for\n" +" # επειδή το i θα αντικατασταθεί με το επόμενο\n" +" # ευρετήριο στο range" #: reference/compound_stmts.rst:193 msgid "" @@ -186,20 +234,23 @@ msgid "" "sequences of integers. For instance, iterating ``range(3)`` successively " "yields 0, 1, and then 2." msgstr "" +"Τα ονόματα στη λίστα-στόχο δεν διαγράφονται όταν τελειώσει ο βρόχος, αλλά εάν η ακολουθία είναι κενή, δεν θα τους έχει " +"γίνει καμία ανάθεση από τον βρόχο. Υπόδειξη: ο ενσωματωμένος τύπος :func:`range` αναπαριστά αμετάβλητες αριθμητικές " +"ακολουθίες ακεραίων. Για παράδειγμα, η επανάληψη του ``range(3)`` διαδοχικά αποφέρει 0, 1, και έπειτα 2." #: reference/compound_stmts.rst:198 msgid "Starred elements are now allowed in the expression list." -msgstr "" +msgstr "Τα στοιχεία με αστερίσκο επιτρέπονται πλέον στη λίστα εκφράσεων." #: reference/compound_stmts.rst:205 msgid "The :keyword:`!try` statement" -msgstr "" +msgstr "Η δήλωση :keyword:`!try`" #: reference/compound_stmts.rst:215 msgid "" "The :keyword:`!try` statement specifies exception handlers and/or cleanup " "code for a group of statements:" -msgstr "" +msgstr "Η δήλωση :keyword:`!try` καθορίζει χειριστές εξαιρέσεων ή/και κώδικα εκκαθάρισης για μια ομάδα εντολών:" #: reference/compound_stmts.rst:231 msgid "" @@ -207,16 +258,20 @@ msgid "" "`exceptions`, and information on using the :keyword:`raise` statement to " "generate exceptions may be found in section :ref:`raise`." msgstr "" +"Πρόσθετες πληροφορίες σχετικά με τις εξαιρέσεις μπορούν να βρεθούν στην ενότητα :ref:`exceptions`, και πληροφορίες σχετικά " +"με τη χρήση της εντολής :keyword:`raise` για τη δημιουργία εξαιρέσεων μπορούν να βρεθούν στην ενότητα :ref:`raise`." #: reference/compound_stmts.rst:235 msgid "" "Support for optionally dropping grouping parentheses when using multiple " "exception types. See :pep:`758`." msgstr "" +"Υποστήριξη για προαιρετική αφαίρεση των παρενθέσεων ομαδοποίησης όταν χρησιμοποιούνται πολλαπλοί τύποι εξαιρέσεων. Δείτε " +"το :pep:`758`." #: reference/compound_stmts.rst:241 msgid ":keyword:`!except` clause" -msgstr "" +msgstr "ρήτρα :keyword:`!except`" #: reference/compound_stmts.rst:243 msgid "" @@ -228,6 +283,11 @@ msgid "" "expression-less :keyword:`!except` clause, if present, must be last; it " "matches any exception." msgstr "" +"Οι ρήτρες :keyword:`!except` καθορίζουν έναν ή περισσότερους χειριστές εξαιρέσεων. Όταν δεν προκύπτει καμία εξαίρεση στη " +"ρήτρα :keyword:`try`, κανένας χειριστής εξαίρεσης δεν εκτελείται. Όταν προκύψει μια εξαίρεση στη σουίτα του :keyword:`!" +"try`, ξεκινά μια αναζήτηση για χειριστή εξαίρεσης. Αυτή η αναζήτηση εξετάζει τις ρήτρες :keyword:`!except` με τη σειρά " +"μέχρι να βρεθεί μία που ταιριάζει με την εξαίρεση. Μία ρήτρα :keyword:`!except` χωρίς έκφραση, εάν υπάρχει, πρέπει να είναι " +"τελευταία· ταιριάζει με οποιαδήποτε εξαίρεση." #: reference/compound_stmts.rst:251 msgid "" @@ -239,6 +299,11 @@ msgid "" "` of the exception object, or to a tuple that contains " "such a class." msgstr "" +"Για μία ρήτρα :keyword:`!except` με μια έκφραση, η έκφραση πρέπει να αξιολογείται σε έναν τύπο εξαίρεσης ή σε μία πλειάδα " +"τύπων εξαιρέσεων. Οι παρενθέσεις μπορούν να παραλειφθούν εάν παρέχονται πολλαπλοί τύποι εξαιρέσεων και η ρήτρα ``as`` δεν " +"χρησιμοποιείται. Η εξαίρεση που έγινε raise ταιριάζει με μία ρήτρα :keyword:`!except` του οποίου η έκφραση αξιολογείται " +"στην κλάση ή σε μια :term:`μη εικονική βασική κλάση ` του αντικειμένου εξαίρεσης, ή σε μία πλειάδα που " +"περιέχει μια τέτοια κλάση." #: reference/compound_stmts.rst:258 msgid "" @@ -246,6 +311,8 @@ msgid "" "exception handler continues in the surrounding code and on the invocation " "stack. [#]_" msgstr "" +"Εάν καμία ρήτρα :keyword:`!except` δεν ταιριάζει με την εξαίρεση, η αναζήτηση για έναν χειριστή εξαίρεσης συνεχίζεται στον " +"περιβάλλοντα κώδικα και στη στοίβα κλήσεων. [#]_" #: reference/compound_stmts.rst:262 msgid "" @@ -255,6 +322,9 @@ msgid "" "call stack (it is treated as if the entire :keyword:`try` statement raised " "the exception)." msgstr "" +"Εάν η αξιολόγηση μιας έκφρασης στην κεφαλίδα μιας ρήτρας :keyword:`!except` κάνει raise μια εξαίρεση, η αρχική αναζήτηση " +"για χειριστή ακυρώνεται και μια αναζήτηση ξεκινά για τη νέα εξαίρεση στον περιβάλλοντα κώδικα και στη στοίβα κλήσεων " +"(αντιμετωπίζεται σαν να έκανε raise την εξαίρεση ολόκληρη η δήλωση :keyword:`try`)." #: reference/compound_stmts.rst:270 msgid "" @@ -268,22 +338,32 @@ msgid "" "keyword:`!try` clause of the inner handler, the outer handler will not " "handle the exception.)" msgstr "" +"Όταν βρεθεί μία ρήτρα :keyword:`!except` που να ταιριάζει, η εξαίρεση ανατίθεται στον στόχο που καθορίζεται μετά τη λέξη-" +"κλειδί :keyword:`!as` σε αυτή τη ρήτρα :keyword:`!except`, εάν υπάρχει, και η σουίτα της ρήτρας :keyword:`!except` " +"εκτελείται. Όλες οι ρήτρες :keyword:`!except` πρέπει να έχουν ένα εκτελέσιμο μπλοκ. Όταν επιτευχθεί το τέλος αυτού του " +"μπλοκ, η εκτέλεση συνεχίζεται κανονικά μετά από ολόκληρη την δήλωση :keyword:`try`. (Αυτό σημαίνει ότι εάν υπάρχουν δύο " +"εμφωλευμένοι χειριστές για την ίδια εξαίρεση, και η εξαίρεση συμβεί στη ρήτρα :keyword:`!try` του εσωτερικού χειριστή, ο " +"εξωτερικός χειριστής δεν θα χειριστεί την εξαίρεση.)" #: reference/compound_stmts.rst:281 msgid "" "When an exception has been assigned using ``as target``, it is cleared at " "the end of the :keyword:`!except` clause. This is as if ::" msgstr "" +"Όταν μια εξαίρεση έχει ανατεθεί χρησιμοποιώντας το ``as target``, καθαρίζεται στο τέλος της ρήτρας :keyword:`!except`. Αυτό " +"είναι σαν το ::" #: reference/compound_stmts.rst:284 msgid "" "except E as N:\n" " foo" msgstr "" +"except E as N:\n" +" foo" #: reference/compound_stmts.rst:287 msgid "was translated to ::" -msgstr "" +msgstr "να είχε μεταφραστεί σε ::" #: reference/compound_stmts.rst:289 msgid "" @@ -293,6 +373,11 @@ msgid "" " finally:\n" " del N" msgstr "" +"except E as N:\n" +" try:\n" +" foo\n" +" finally:\n" +" del N" #: reference/compound_stmts.rst:295 msgid "" @@ -302,6 +387,10 @@ msgid "" "with the stack frame, keeping all locals in that frame alive until the next " "garbage collection occurs." msgstr "" +"Αυτό σημαίνει ότι η εξαίρεση πρέπει να ανατεθεί σε διαφορετικό όνομα για να μπορείτε να αναφερθείτε σε αυτήν μετά τη " +"ρήτρα :keyword:`!except`. Οι εξαιρέσεις καθαρίζονται επειδή με την ανίχνευση επισυναπτόμενη σε αυτές, σχηματίζουν έναν " +"κύκλο αναφοράς με το πλαίσιο στοίβας, διατηρώντας όλες τις τοπικές μεταβλητές σε αυτό το πλαίσιο ζωντανές μέχρι να συμβεί η " +"επόμενη συλλογή απορριμμάτων." #: reference/compound_stmts.rst:305 msgid "" @@ -311,6 +400,9 @@ msgid "" "leaving an exception handler, the exception stored in the :mod:`sys` module " "is reset to its previous value::" msgstr "" +"Πριν εκτελεστεί η σουίτα μιας ρήτρας :keyword:`!except`, η εξαίρεση αποθηκεύεται στο module :mod:`sys`, όπου είναι " +"προσβάσιμη μέσα από το σώμα της ρήτρας :keyword:`!except` καλώντας την :func:`sys.exception`. Όταν κλείνει ένας χειριστής " +"εξαίρεσης, η εξαίρεση που αποθηκεύτηκε στο module :mod:`sys` επαναφέρεται στην προηγούμενη τιμή της::" #: reference/compound_stmts.rst:311 msgid "" @@ -332,10 +424,27 @@ msgid "" ">>> print(sys.exception())\n" "None" msgstr "" +">>> print(sys.exception())\n" +"None\n" +">>> try:\n" +"... raise TypeError\n" +"... except:\n" +"... print(repr(sys.exception()))\n" +"... try:\n" +"... raise ValueError\n" +"... except:\n" +"... print(repr(sys.exception()))\n" +"... print(repr(sys.exception()))\n" +"...\n" +"TypeError()\n" +"ValueError()\n" +"TypeError()\n" +">>> print(sys.exception())\n" +"None" #: reference/compound_stmts.rst:336 msgid ":keyword:`!except*` clause" -msgstr "" +msgstr "ρήτρα :keyword:`!except*`" #: reference/compound_stmts.rst:338 msgid "" @@ -349,6 +458,13 @@ msgid "" "if a matching type is a subclass of :exc:`!BaseExceptionGroup`, because that " "would have ambiguous semantics." msgstr "" +"Οι ρήτρες :keyword:`!except*` καθορίζουν έναν ή περισσότερους χειριστές για ομάδες εξαιρέσεων (στιγμιότυπα " +"της :exc:`BaseExceptionGroup`). Μια δήλωση :keyword:`try` μπορεί να έχει είτε ρήτρες :keyword:`except` είτε " +"ρήτρες :keyword:`!except*`, αλλά όχι και τα δύο. Ο τύπος εξαίρεσης για το ταίριασμα είναι υποχρεωτικός στην περίπτωση " +"του :keyword:`!except*`, επομένως το ``except*:`` είναι συντακτικό σφάλμα. Ο τύπος ερμηνεύεται όπως και στην περίπτωση " +"του :keyword:`!except`, αλλά το ταίριασμα εκτελείται στις εξαιρέσεις που περιέχονται στην ομάδα που τυγχάνει χειρισμού. " +"Μια :exc:`TypeError` γίνεται raise εάν ένας τύπος που ταιριάζει είναι υποκλάση του :exc:`!BaseExceptionGroup`, επειδή αυτό " +"θα είχε διφορούμενη σημασιολογία." #: reference/compound_stmts.rst:348 msgid "" @@ -362,6 +478,12 @@ msgid "" "`!except*` in the same manner. This continues until all exceptions in the " "group have been matched, or the last :keyword:`!except*` clause has run." msgstr "" +"Όταν μια ομάδα εξαιρέσεων γίνει raise στο μπλοκ try, κάθε ρήτρα :keyword:`!except*` τη διαχωρίζει (δείτε " +"τη :meth:`~BaseExceptionGroup.split`) στις υπο-ομάδες ταιριαστών και μη ταιριαστών εξαιρέσεων. Εάν η ταιριαστή υπο-ομάδα " +"δεν είναι κενή, γίνεται η εξαίρεση υπό χειρισμό (η τιμή που επιστρέφεται από την :func:`sys.exception`) και ανατίθεται στον " +"στόχο της ρήτρας :keyword:`!except*` (εάν υπάρχει). Έπειτα, εκτελείται το σώμα της ρήτρας :keyword:`!except*`. Εάν η μη " +"ταιριαστή υπο-ομάδα δεν είναι κενή, επεξεργάζεται από το επόμενο :keyword:`!except*` με τον ίδιο τρόπο. Αυτό συνεχίζεται " +"μέχρι να ταιριάξουν όλες οι εξαιρέσεις στην ομάδα, ή να εκτελεστεί η τελευταία ρήτρα :keyword:`!except*`." #: reference/compound_stmts.rst:358 msgid "" @@ -370,6 +492,9 @@ msgid "" "within :keyword:`!except*` clauses. This merged exception group propagates " "on.::" msgstr "" +"Αφού εκτελεστούν όλες οι ρήτρες :keyword:`!except*`, η ομάδα των μη χειριζόμενων εξαιρέσεων συγχωνεύεται με τυχόν " +"εξαιρέσεις που έγιναν raise ή re-raise μέσα από ρήτρες :keyword:`!except*`. Αυτή η συγχωνευμένη ομάδα εξαιρέσεων συνεχίζει " +"να διαδίδεται.::" #: reference/compound_stmts.rst:362 msgid "" @@ -392,6 +517,24 @@ msgid "" " | ValueError: 1\n" " +------------------------------------" msgstr "" +">>> try:\n" +"... raise ExceptionGroup(\"eg\",\n" +"... [ValueError(1), TypeError(2), OSError(3), OSError(4)])\n" +"... except* TypeError as e:\n" +"... print(f'caught {type(e)} with nested {e.exceptions}')\n" +"... except* OSError as e:\n" +"... print(f'caught {type(e)} with nested {e.exceptions}')\n" +"...\n" +"caught with nested (TypeError(2),)\n" +"caught with nested (OSError(3), OSError(4))\n" +" + Exception Group Traceback (most recent call last):\n" +" | File \"\", line 2, in \n" +" | raise ExceptionGroup(\"eg\",\n" +" | [ValueError(1), TypeError(2), OSError(3), OSError(4)])\n" +" | ExceptionGroup: eg (1 sub-exception)\n" +" +-+---------------- 1 ----------------\n" +" | ValueError: 1\n" +" +------------------------------------" #: reference/compound_stmts.rst:381 msgid "" @@ -401,6 +544,9 @@ msgid "" "ensures that the type of the target ``e`` is consistently :exc:" "`BaseExceptionGroup`::" msgstr "" +"Εάν η εξαίρεση που έγινε raise από το μπλοκ :keyword:`try` δεν είναι ομάδα εξαιρέσεων και ο τύπος της ταιριάζει με μία από " +"τις ρήτρες :keyword:`!except*`, τότε πιάνεται και περιτυλίγεται από μια ομάδα εξαιρέσεων με μία κενή συμβολοσειρά " +"μηνύματος. Αυτό διασφαλίζει ότι ο τύπος του στόχου ``e`` είναι συνεπώς :exc:`BaseExceptionGroup`::" #: reference/compound_stmts.rst:386 msgid "" @@ -411,16 +557,23 @@ msgid "" "...\n" "ExceptionGroup('', (BlockingIOError()))" msgstr "" +">>> try:\n" +"... raise BlockingIOError\n" +"... except* BlockingIOError as e:\n" +"... print(repr(e))\n" +"...\n" +"ExceptionGroup('', (BlockingIOError()))" #: reference/compound_stmts.rst:393 msgid "" ":keyword:`break`, :keyword:`continue` and :keyword:`return` cannot appear in " "an :keyword:`!except*` clause." msgstr "" +"Τα :keyword:`break`, :keyword:`continue` και :keyword:`return` δεν μπορούν να εμφανιστούν σε μία ρήτρα :keyword:`!except*`." #: reference/compound_stmts.rst:406 msgid ":keyword:`!else` clause" -msgstr "" +msgstr "ρήτρα :keyword:`!else`" #: reference/compound_stmts.rst:408 msgid "" @@ -430,10 +583,13 @@ msgid "" "Exceptions in the :keyword:`!else` clause are not handled by the preceding :" "keyword:`except` clauses." msgstr "" +"Η προαιρετική ρήτρα :keyword:`!else` εκτελείται εάν η ροή ελέγχου αφήσει τη σουίτα :keyword:`try`, δεν έγινε raise καμία " +"εξαίρεση, και δεν εκτελέστηκε καμία δήλωση :keyword:`return`, :keyword:`continue`, ή :keyword:`break`. Οι εξαιρέσεις στη " +"ρήτρα :keyword:`!else` δεν χειρίζονται από τις προηγούμενες ρήτρες :keyword:`except`." #: reference/compound_stmts.rst:420 msgid ":keyword:`!finally` clause" -msgstr "" +msgstr "ρήτρα :keyword:`!finally`" #: reference/compound_stmts.rst:422 msgid "" @@ -448,6 +604,13 @@ msgid "" "keyword:`return`, :keyword:`break` or :keyword:`continue` statement, the " "saved exception is discarded. For example, this function returns 42." msgstr "" +"Εάν το :keyword:`!finally` υπάρχει, καθορίζει έναν χειριστή 'εκκαθάρισης'. Η ρήτρα :keyword:`try` εκτελείται, " +"συμπεριλαμβανομένων τυχόν ρητρών :keyword:`except` και :keyword:`else `. Εάν προκύψει εξαίρεση σε κάποια από " +"τις ρήτρες και δεν υπάρξει χειρισμός, η εξαίρεση αποθηκεύεται προσωρινά. Η ρήτρα :keyword:`!finally` εκτελείται. Εάν " +"υπάρχει μια αποθηκευμένη εξαίρεση, γίνεται re-raise στο τέλος της ρήτρας :keyword:`!finally`. Εάν η ρήτρα :keyword:`!" +"finally` κάνει raise μια άλλη εξαίρεση, η αποθηκευμένη εξαίρεση ορίζεται ως το πλαίσιο της νέας εξαίρεσης. Εάν η " +"ρήτρα :keyword:`!finally` εκτελεί μια δήλωση :keyword:`return`, :keyword:`break` ή :keyword:`continue`, η αποθηκευμένη " +"εξαίρεση απορρίπτεται. Για παράδειγμα, αυτή η συνάρτηση επιστρέφει 42." #: reference/compound_stmts.rst:435 msgid "" @@ -457,12 +620,17 @@ msgid "" " finally:\n" " return 42" msgstr "" +"def f():\n" +" try:\n" +" 1/0\n" +" finally:\n" +" return 42" #: reference/compound_stmts.rst:443 msgid "" "The exception information is not available to the program during execution " "of the :keyword:`!finally` clause." -msgstr "" +msgstr "Οι πληροφορίες εξαίρεσης δεν είναι διαθέσιμες στο πρόγραμμα κατά την εκτέλεση της ρήτρας :keyword:`!finally`." #: reference/compound_stmts.rst:451 msgid "" @@ -471,6 +639,8 @@ msgid "" "finally` statement, the :keyword:`!finally` clause is also executed 'on the " "way out.'" msgstr "" +"Όταν μια δήλωση :keyword:`return`, :keyword:`break` ή :keyword:`continue` εκτελείται στη σουίτα :keyword:`try` μιας " +"εντολής :keyword:`!try`...\\ :keyword:`!finally`, η ρήτρα :keyword:`!finally` εκτελείται επίσης 'κατά την έξοδο'." #: reference/compound_stmts.rst:455 msgid "" @@ -480,6 +650,9 @@ msgid "" "will always be the last one executed. The following function returns " "'finally'." msgstr "" +"Η τιμή επιστροφής μιας συνάρτησης καθορίζεται από την τελευταία δήλωση :keyword:`return` που εκτελέστηκε. Εφόσον η " +"ρήτρα :keyword:`!finally` εκτελείται πάντα, μια δήλωση :keyword:`!return` που εκτελείται στη ρήτρα :keyword:`!finally` θα " +"είναι πάντα η τελευταία που θα εκτελεστεί. Η ακόλουθη συνάρτηση επιστρέφει 'finally'." #: reference/compound_stmts.rst:460 msgid "" @@ -489,12 +662,19 @@ msgid "" " finally:\n" " return 'finally'" msgstr "" +"def foo():\n" +" try:\n" +" return 'try'\n" +" finally:\n" +" return 'finally'" #: reference/compound_stmts.rst:468 msgid "" "Prior to Python 3.8, a :keyword:`continue` statement was illegal in the :" "keyword:`!finally` clause due to a problem with the implementation." msgstr "" +"Πριν από την Python 3.8, μια δήλωση :keyword:`continue` ήταν μη έγκυρη στη ρήτρα :keyword:`!finally` λόγω ενός προβλήματος " +"με την υλοποίηση." #: reference/compound_stmts.rst:472 msgid "" @@ -502,10 +682,12 @@ msgid "" "`break` or :keyword:`continue` appears in a :keyword:`!finally` block (see :" "pep:`765`)." msgstr "" +"Ο compiler εκπέμπει ένα :exc:`SyntaxWarning` όταν εμφανίζεται ένα :keyword:`return`, :keyword:`break` ή :keyword:`continue` " +"σε ένα μπλοκ :keyword:`!finally` (δείτε :pep:`765`)." #: reference/compound_stmts.rst:482 msgid "The :keyword:`!with` statement" -msgstr "" +msgstr "Η δήλωση :keyword:`!with`" #: reference/compound_stmts.rst:491 msgid "" @@ -514,37 +696,43 @@ msgid "" "This allows common :keyword:`try`...\\ :keyword:`except`...\\ :keyword:" "`finally` usage patterns to be encapsulated for convenient reuse." msgstr "" +"Η δήλωση :keyword:`with` χρησιμοποιείται για να περιτυλίξει την εκτέλεση ενός μπλοκ με μεθόδους ορισμένες από έναν " +"διαχειριστή πλαισίου (δείτε την ενότητα :ref:`context-managers`). Αυτό επιτρέπει την ενθυλάκωση κοινών μοτίβων " +"χρήσης :keyword:`try`...\\ :keyword:`except`...\\ :keyword:`finally` για βολική επαναχρησιμοποίηση." #: reference/compound_stmts.rst:501 msgid "" "The execution of the :keyword:`with` statement with one \"item\" proceeds as " "follows:" -msgstr "" +msgstr "Η εκτέλεση της εντολής :keyword:`with` με ένα \"αντικείμενο\" προχωρά ως εξής:" #: reference/compound_stmts.rst:503 msgid "" "The context expression (the expression given in the :token:`~python-grammar:" "with_item`) is evaluated to obtain a context manager." msgstr "" +"Η έκφραση πλαισίου (η έκφραση που δίνεται στο :token:`~python-grammar:with_item`) αξιολογείται για να ληφθεί ένας " +"διαχειριστής πλαισίου." #: reference/compound_stmts.rst:506 msgid "" "The context manager's :meth:`~object.__enter__` is loaded for later use." -msgstr "" +msgstr "Φορτώνεται η :meth:`~object.__enter__` του διαχειριστή πλαισίου για μελλοντική χρήση." #: reference/compound_stmts.rst:508 msgid "The context manager's :meth:`~object.__exit__` is loaded for later use." -msgstr "" +msgstr "Φορτώνεται η :meth:`~object.__exit__` του διαχειριστή πλαισίου για μελλοντική χρήση." #: reference/compound_stmts.rst:510 msgid "The context manager's :meth:`~object.__enter__` method is invoked." -msgstr "" +msgstr "Καλείται η μέθοδος :meth:`~object.__enter__` του διαχειριστή πλαισίου." #: reference/compound_stmts.rst:512 msgid "" "If a target was included in the :keyword:`with` statement, the return value " "from :meth:`~object.__enter__` is assigned to it." msgstr "" +"Εάν συμπεριλήφθηκε ένας στόχος στην δήλωση :keyword:`with`, η τιμή επιστροφής της :meth:`~object.__enter__` του ανατίθεται." #: reference/compound_stmts.rst:517 msgid "" @@ -554,10 +742,13 @@ msgid "" "target list, it will be treated the same as an error occurring within the " "suite would be. See step 7 below." msgstr "" +"Η δήλωση :keyword:`with` εγγυάται ότι εάν η μέθοδος :meth:`~object.__enter__` επιστρέψει το αποτέλεσμα χωρίς σφάλμα, τότε " +"η :meth:`~object.__exit__` θα κληθεί πάντα. Επομένως, εάν προκύψει σφάλμα κατά την ανάθεση στη λίστα-στόχο, θα " +"αντιμετωπιστεί με τον ίδιο τρόπο όπως ένα σφάλμα που προκύπτει μέσα στη σουίτα. Δείτε το βήμα 7 παρακάτω." #: reference/compound_stmts.rst:523 msgid "The suite is executed." -msgstr "" +msgstr "Η σουίτα εκτελείται." #: reference/compound_stmts.rst:525 msgid "" @@ -566,6 +757,9 @@ msgid "" "passed as arguments to :meth:`~object.__exit__`. Otherwise, three :const:" "`None` arguments are supplied." msgstr "" +"Καλείται η μέθοδος :meth:`~object.__exit__` του διαχειριστή πλαισίου. Εάν μια εξαίρεση προκάλεσε την έξοδο από τη σουίτα, ο " +"τύπος, η τιμή και η ιχνηλάτησή της περνούν ως ορίσματα στην :meth:`~object.__exit__`. Διαφορετικά, παρέχονται τρία " +"ορίσματα :const:`None`." #: reference/compound_stmts.rst:530 msgid "" @@ -574,6 +768,9 @@ msgid "" "return value was true, the exception is suppressed, and execution continues " "with the statement following the :keyword:`with` statement." msgstr "" +"Εάν υπήρξε έξοδος από τη σουίτα λόγω εξαίρεσης, και η τιμή επιστροφής από τη μέθοδο :meth:`~object.__exit__` ήταν false, η " +"εξαίρεση γίνεται re-raise. Εάν η τιμή επιστροφής ήταν true, η εξαίρεση καταστέλλεται, και η εκτέλεση συνεχίζεται με την " +"δήλωση που ακολουθεί την δήλωση :keyword:`with`." #: reference/compound_stmts.rst:535 msgid "" @@ -581,22 +778,27 @@ msgid "" "value from :meth:`~object.__exit__` is ignored, and execution proceeds at " "the normal location for the kind of exit that was taken." msgstr "" +"Εάν υπήρξε έξοδος από τη σουίτα για οποιονδήποτε λόγο εκτός από εξαίρεση, η τιμή επιστροφής από " +"την :meth:`~object.__exit__` αγνοείται, και η εκτέλεση προχωρά στην κανονική θέση για το είδος της εξόδου που " +"πραγματοποιήθηκε." #: reference/compound_stmts.rst:539 reference/compound_stmts.rst:1557 #: reference/compound_stmts.rst:1598 msgid "The following code::" -msgstr "" +msgstr "Ο ακόλουθος κώδικας::" #: reference/compound_stmts.rst:541 msgid "" "with EXPRESSION as TARGET:\n" " SUITE" msgstr "" +"with EXPRESSION as TARGET:\n" +" SUITE" #: reference/compound_stmts.rst:544 reference/compound_stmts.rst:569 #: reference/compound_stmts.rst:1603 msgid "is semantically equivalent to::" -msgstr "" +msgstr "είναι σημασιολογικά ισοδύναμος με::" #: reference/compound_stmts.rst:546 msgid "" @@ -617,18 +819,38 @@ msgid "" " if not hit_except:\n" " exit(manager, None, None, None)" msgstr "" +"manager = (EXPRESSION)\n" +"enter = type(manager).__enter__\n" +"exit = type(manager).__exit__\n" +"value = enter(manager)\n" +"hit_except = False\n" +"\n" +"try:\n" +" TARGET = value\n" +" SUITE\n" +"except:\n" +" hit_except = True\n" +" if not exit(manager, *sys.exc_info()):\n" +" raise\n" +"finally:\n" +" if not hit_except:\n" +" exit(manager, None, None, None)" #: reference/compound_stmts.rst:563 msgid "" "With more than one item, the context managers are processed as if multiple :" "keyword:`with` statements were nested::" msgstr "" +"Με περισσότερα από ένα στοιχεία, οι διαχειριστές πλαισίου επεξεργάζονται σαν να είχαν εμφωλευτεί πολλαπλές " +"εντολές :keyword:`with`::" #: reference/compound_stmts.rst:566 msgid "" "with A() as a, B() as b:\n" " SUITE" msgstr "" +"with A() as a, B() as b:\n" +" SUITE" #: reference/compound_stmts.rst:571 msgid "" @@ -636,12 +858,17 @@ msgid "" " with B() as b:\n" " SUITE" msgstr "" +"with A() as a:\n" +" with B() as b:\n" +" SUITE" #: reference/compound_stmts.rst:575 msgid "" "You can also write multi-item context managers in multiple lines if the " "items are surrounded by parentheses. For example::" msgstr "" +"Μπορείτε επίσης να γράψετε διαχειριστές πλαισίου πολλαπλών στοιχείων σε πολλές γραμμές, αν τα στοιχεία περικλείονται σε " +"παρενθέσεις. Για παράδειγμα::" #: reference/compound_stmts.rst:578 msgid "" @@ -651,40 +878,45 @@ msgid "" "):\n" " SUITE" msgstr "" +"with (\n" +" A() as a,\n" +" B() as b,\n" +"):\n" +" SUITE" #: reference/compound_stmts.rst:584 msgid "Support for multiple context expressions." -msgstr "" +msgstr "Υποστήριξη για πολλαπλές εκφράσεις πλαισίου." #: reference/compound_stmts.rst:587 msgid "" "Support for using grouping parentheses to break the statement in multiple " "lines." -msgstr "" +msgstr "Υποστήριξη για χρήση παρενθέσεων ομαδοποίησης ώστε να διασπαστεί η δήλωση σε πολλές γραμμές." #: reference/compound_stmts.rst:592 msgid ":pep:`343` - The \"with\" statement" -msgstr "" +msgstr ":pep:`343` - Η δήλωση \"with\"" #: reference/compound_stmts.rst:593 msgid "" "The specification, background, and examples for the Python :keyword:`with` " "statement." -msgstr "" +msgstr "Οι προδιαγραφές, το υπόβαθρο και τα παραδείγματα για την δήλωση :keyword:`with` της Python." #: reference/compound_stmts.rst:600 msgid "The :keyword:`!match` statement" -msgstr "" +msgstr "Η δήλωση :keyword:`!match`" #: reference/compound_stmts.rst:614 msgid "The match statement is used for pattern matching. Syntax:" -msgstr "" +msgstr "Η δήλωση match χρησιμοποιείται για ταίριασμα προτύπων. Σύνταξη:" #: reference/compound_stmts.rst:623 msgid "" "This section uses single quotes to denote :ref:`soft keywords `." -msgstr "" +msgstr "Αυτή η ενότητα χρησιμοποιεί μονά εισαγωγικά για να υποδηλώσει τα :ref:`soft keywords `." #: reference/compound_stmts.rst:626 msgid "" @@ -692,37 +924,40 @@ msgid "" "value (following ``match``). The pattern (which may contain subpatterns) is " "matched against the subject value. The outcomes are:" msgstr "" +"Το ταίριασμα προτύπων παίρνει ένα πρότυπο ως είσοδο (μετά το ``case``) και μια τιμή θέματος (μετά το ``match``). Το πρότυπο " +"(το οποίο μπορεί να περιέχει υπο-πρότυπα) ταιριάζεται με την τιμή θέματος. Τα αποτελέσματα είναι:" #: reference/compound_stmts.rst:630 msgid "A match success or failure (also termed a pattern success or failure)." -msgstr "" +msgstr "Μια επιτυχία ή αποτυχία ταιριάσματος (επίσης ονομάζεται επιτυχία ή αποτυχία προτύπου)." #: reference/compound_stmts.rst:632 msgid "" "Possible binding of matched values to a name. The prerequisites for this " "are further discussed below." -msgstr "" +msgstr "Πιθανή δέσμευση ταιριασμένων τιμών σε ένα όνομα. Οι προϋποθέσεις για αυτό συζητούνται περαιτέρω παρακάτω." #: reference/compound_stmts.rst:635 msgid "" -"The ``match`` and ``case`` keywords are :ref:`soft keywords `." -msgstr "" +"Possible binding of matched values to a name. The prerequisites for this " +"are further discussed below." +msgstr "Οι λέξεις-κλειδιά ``match`` και ``case`` είναι :ref:`soft keywords `." #: reference/compound_stmts.rst:639 reference/compound_stmts.rst:1196 msgid ":pep:`634` -- Structural Pattern Matching: Specification" -msgstr "" +msgstr ":pep:`634` -- Ταίριασμα Δομικών Προτύπων: Προδιαγραφή" #: reference/compound_stmts.rst:640 reference/compound_stmts.rst:1197 msgid ":pep:`636` -- Structural Pattern Matching: Tutorial" -msgstr "" +msgstr ":pep:`636` -- Ταίριασμα Δομικών Προτύπων: Εγχειρίδιο" #: reference/compound_stmts.rst:644 msgid "Overview" -msgstr "" +msgstr "Επισκόπηση" #: reference/compound_stmts.rst:646 msgid "Here's an overview of the logical flow of a match statement:" -msgstr "" +msgstr "Ακολουθεί μια επισκόπηση της λογικής ροής μιας εντολής match:" #: reference/compound_stmts.rst:649 msgid "" @@ -730,6 +965,8 @@ msgid "" "value obtained. If the subject expression contains a comma, a tuple is " "constructed using :ref:`the standard rules `." msgstr "" +"Η έκφραση θέματος ``subject_expr`` αξιολογείται και λαμβάνεται η προκύπτουσα τιμή θέματος. Εάν η έκφραση θέματος περιέχει " +"κόμμα, κατασκευάζεται μία πλειάδα χρησιμοποιώντας :ref:`τους τυπικούς κανόνες `." #: reference/compound_stmts.rst:653 msgid "" @@ -740,6 +977,11 @@ msgid "" "specified below. **Name bindings made during a successful pattern match " "outlive the executed block and can be used after the match statement**." msgstr "" +"Κάθε πρότυπο σε ένα ``case_block`` προσπαθεί να ταιριάξει με την τιμή του θέματος. Οι συγκεκριμένοι κανόνες για επιτυχία ή " +"αποτυχία περιγράφονται παρακάτω. Η προσπάθεια ταιριάσματος μπορεί επίσης να δεσμεύσει κάποια ή όλα τα αυτόνομα ονόματα " +"εντός του προτύπου. Οι ακριβείς κανόνες δέσμευσης προτύπων διαφέρουν ανά τύπο προτύπου και καθορίζονται παρακάτω. **Οι " +"δεσμεύσεις ονομάτων, που γίνονται κατά τη διάρκεια ενός επιτυχημένου ταιριάσματος προτύπου, επιβιώνουν από το εκτελεσμένο " +"μπλοκ και μπορούν να χρησιμοποιηθούν μετά την δήλωση match**." #: reference/compound_stmts.rst:662 msgid "" @@ -749,26 +991,32 @@ msgid "" "dependent on implementation and may vary. This is an intentional decision " "made to allow different implementations to add optimizations." msgstr "" +"Κατά τη διάρκεια αποτυχημένων ταιριασμάτων προτύπων, ορισμένα υπο-πρότυπα μπορεί να πετύχουν. Μην βασίζεστε στο ότι θα " +"πραγματοποιηθούν δεσμεύσεις για ένα αποτυχημένο ταίριασμα. Αντίστροφα, μην βασίζεστε στο ότι οι μεταβλητές θα παραμείνουν " +"αμετάβλητες μετά από ένα αποτυχημένο ταίριασμα. Η ακριβής συμπεριφορά εξαρτάται από την υλοποίηση και μπορεί να διαφέρει. " +"Πρόκειται για μια σκόπιμη απόφαση ώστε να επιτραπεί σε διαφορετικές υλοποιήσεις να προσθέσουν βελτιστοποιήσεις." #: reference/compound_stmts.rst:669 msgid "" "If the pattern succeeds, the corresponding guard (if present) is evaluated. " "In this case all name bindings are guaranteed to have happened." msgstr "" +"Εάν το πρότυπο επιτύχει, αξιολογείται ο αντίστοιχος guard (εάν υπάρχει). Σε αυτήν την περίπτωση είναι εγγυημένο ότι έχουν " +"πραγματοποιηθεί όλες οι δεσμεύσεις ονομάτων." #: reference/compound_stmts.rst:672 msgid "" "If the guard evaluates as true or is missing, the ``block`` inside " "``case_block`` is executed." -msgstr "" +msgstr "Εάν ο guard αξιολογηθεί ως αληθής ή λείπει, εκτελείται το ``block`` μέσα στο ``case_block``." #: reference/compound_stmts.rst:675 msgid "Otherwise, the next ``case_block`` is attempted as described above." -msgstr "" +msgstr "Διαφορετικά, δοκιμάζεται το επόμενο ``case_block`` όπως περιγράφεται παραπάνω." #: reference/compound_stmts.rst:677 msgid "If there are no further case blocks, the match statement is completed." -msgstr "" +msgstr "Εάν δεν υπάρχουν περαιτέρω case μπλοκ, η δήλωση match ολοκληρώνεται." #: reference/compound_stmts.rst:681 msgid "" @@ -776,10 +1024,13 @@ msgid "" "on implementation, the interpreter may cache values or use other " "optimizations which skip repeated evaluations." msgstr "" +"Οι χρήστες γενικά δεν θα πρέπει ποτέ να βασίζονται στο ότι ένα πρότυπο αξιολογείται. Ανάλογα με την υλοποίηση, ο διερμηνέας " +"μπορεί να αποθηκεύσει τιμές στην προσωρινή μνήμη ή να χρησιμοποιήσει άλλες βελτιστοποιήσεις που παραλείπουν " +"επαναλαμβανόμενες αξιολογήσεις." #: reference/compound_stmts.rst:685 msgid "A sample match statement::" -msgstr "" +msgstr "Ένα παράδειγμα εντολής match::" #: reference/compound_stmts.rst:687 msgid "" @@ -796,16 +1047,28 @@ msgid "" "...\n" "Case 3, y: 200" msgstr "" +">>> flag = False\n" +">>> match (100, 200):\n" +"... case (100, 300): # Mismatch: 200 != 300\n" +"... print('Case 1')\n" +"... case (100, 200) if flag: # Successful match, but guard fails\n" +"... print('Case 2')\n" +"... case (100, y): # Matches and binds y to 200\n" +"... print(f'Case 3, y: {y}')\n" +"... case _: # Pattern not attempted\n" +"... print('Case 4, I match anything!')\n" +"...\n" +"Case 3, y: 200" #: reference/compound_stmts.rst:701 msgid "" "In this case, ``if flag`` is a guard. Read more about that in the next " "section." -msgstr "" +msgstr "Σε αυτήν την περίπτωση, το ``if flag`` είναι ένας guard. Διαβάστε περισσότερα για αυτό στην επόμενη ενότητα." #: reference/compound_stmts.rst:704 msgid "Guards" -msgstr "" +msgstr "Guards" #: reference/compound_stmts.rst:711 msgid "" @@ -813,10 +1076,12 @@ msgid "" "``case`` block to execute. It takes the form: :keyword:`if` followed by an " "expression." msgstr "" +"Ένας ``guard`` (που αποτελεί μέρος του ``case``) πρέπει να επιτύχει προκειμένου να εκτελεστεί ο κώδικας μέσα στο μπλοκ " +"``case``. Παίρνει τη μορφή: :keyword:`if` ακολουθούμενο από μια έκφραση." #: reference/compound_stmts.rst:716 msgid "The logical flow of a ``case`` block with a ``guard`` follows:" -msgstr "" +msgstr "Η λογική ροή ενός μπλοκ ``case`` με έναν ``guard`` έχει ως εξής:" #: reference/compound_stmts.rst:718 msgid "" @@ -824,27 +1089,29 @@ msgid "" "failed, the ``guard`` is not evaluated and the next ``case`` block is " "checked." msgstr "" +"Ελέγχει ότι το πρότυπο στο μπλοκ ``case`` επέτυχε. Εάν το πρότυπο απέτυχε, ο ``guard`` δεν αξιολογείται και ελέγχεται το " +"επόμενο μπλοκ ``case``." #: reference/compound_stmts.rst:722 msgid "If the pattern succeeded, evaluate the ``guard``." -msgstr "" +msgstr "Εάν το πρότυπο επέτυχε, αξιολογείται ο ``guard``." #: reference/compound_stmts.rst:724 msgid "" "If the ``guard`` condition evaluates as true, the case block is selected." -msgstr "" +msgstr "Εάν η συνθήκη του ``guard`` αξιολογηθεί ως αληθής, επιλέγεται το μπλοκ case." #: reference/compound_stmts.rst:727 msgid "" "If the ``guard`` condition evaluates as false, the case block is not " "selected." -msgstr "" +msgstr "Εάν η συνθήκη του ``guard`` αξιολογηθεί ως ψευδής, το μπλοκ case δεν επιλέγεται." #: reference/compound_stmts.rst:730 msgid "" "If the ``guard`` raises an exception during evaluation, the exception " "bubbles up." -msgstr "" +msgstr "Εάν ο ``guard`` κάνει raise μια εξαίρεση κατά την αξιολόγηση, η εξαίρεση ανεβαίνει προς τα πάνω." #: reference/compound_stmts.rst:733 msgid "" @@ -854,16 +1121,22 @@ msgid "" "evaluation must happen in order.) Guard evaluation must stop once a case " "block is selected." msgstr "" +"Οι guards επιτρέπεται να έχουν παρενέργειες καθώς είναι εκφράσεις. Η αξιολόγηση των guards πρέπει να προχωρά από το πρώτο " +"έως το τελευταίο case μπλοκ, ένα προς ένα, παραλείποντας τα case μπλοκ των οποίων τα πρότυπα δεν επιτυγχάνουν όλα. (Δηλαδή, " +"η αξιολόγηση των guards πρέπει να γίνει με τη σειρά.) Η αξιολόγηση των guards πρέπει να σταματήσει μόλις επιλεγεί ένα case " +"μπλοκ." #: reference/compound_stmts.rst:743 msgid "Irrefutable Case Blocks" -msgstr "" +msgstr "Αδιάσειστα Case Blocks" #: reference/compound_stmts.rst:747 msgid "" "An irrefutable case block is a match-all case block. A match statement may " "have at most one irrefutable case block, and it must be last." msgstr "" +"Ένα αδιάσειστο case μπλοκ είναι ένα case μπλοκ που ταιριάζει με τα πάντα. Μια δήλωση match μπορεί να έχει το πολύ ένα " +"αδιάσειστο case μπλοκ, και πρέπει να είναι το τελευταίο." #: reference/compound_stmts.rst:750 msgid "" @@ -872,46 +1145,49 @@ msgid "" "syntax alone that it will always succeed. Only the following patterns are " "irrefutable:" msgstr "" +"Ένα case μπλοκ θεωρείται αδιάσειστο εάν δεν έχει guard και το πρότυπό του είναι αδιάσειστο. Ένα πρότυπο θεωρείται " +"αδιάσειστο εάν μπορούμε να αποδείξουμε μόνο από τη σύνταξή του ότι θα επιτυγχάνει πάντα. Μόνο τα ακόλουθα πρότυπα είναι " +"αδιάσειστα:" #: reference/compound_stmts.rst:755 msgid ":ref:`as-patterns` whose left-hand side is irrefutable" -msgstr "" +msgstr ":ref:`as-patterns` των οποίων η αριστερή πλευρά είναι αδιάσειστη" #: reference/compound_stmts.rst:757 msgid ":ref:`or-patterns` containing at least one irrefutable pattern" -msgstr "" +msgstr ":ref:`or-patterns` που περιέχουν τουλάχιστον ένα αδιάσειστο πρότυπο" #: reference/compound_stmts.rst:759 msgid ":ref:`capture-patterns`" -msgstr "" +msgstr ":ref:`capture-patterns`" #: reference/compound_stmts.rst:761 msgid ":ref:`wildcard-patterns`" -msgstr "" +msgstr ":ref:`wildcard-patterns`" #: reference/compound_stmts.rst:763 msgid "parenthesized irrefutable patterns" -msgstr "" +msgstr "παρενθετικά αδιάσειστα πρότυπα" #: reference/compound_stmts.rst:767 msgid "Patterns" -msgstr "" +msgstr "Πρότυπα" #: reference/compound_stmts.rst:774 msgid "This section uses grammar notations beyond standard EBNF:" -msgstr "" +msgstr "Αυτή η ενότητα χρησιμοποιεί σημειογραφίες γραμματικής πέρα από το τυπικό EBNF:" #: reference/compound_stmts.rst:776 msgid "the notation ``SEP.RULE+`` is shorthand for ``RULE (SEP RULE)*``" -msgstr "" +msgstr "η σημειογραφία ``SEP.RULE+`` είναι συντομογραφία για το ``RULE (SEP RULE)*``" #: reference/compound_stmts.rst:778 msgid "the notation ``!RULE`` is shorthand for a negative lookahead assertion" -msgstr "" +msgstr "η σημειογραφία ``!RULE`` είναι συντομογραφία για έναν αρνητικό ισχυρισμό lookahead" #: reference/compound_stmts.rst:781 msgid "The top-level syntax for ``patterns`` is:" -msgstr "" +msgstr "Η σύνταξη ανωτέρου επιπέδου για τα ``patterns`` είναι:" #: reference/compound_stmts.rst:795 msgid "" @@ -922,22 +1198,28 @@ msgid "" "the underlying implementation. Furthermore, they do not cover all valid " "forms." msgstr "" +"Οι παρακάτω περιγραφές θα περιλαμβάνουν μια περιγραφή \"με απλά λόγια\" του τι κάνει ένα πρότυπο για σκοπούς επεξήγησης " +"(ευχαριστίες στον Raymond Hettinger για ένα έγγραφο που ενέπνευσε τις περισσότερες περιγραφές). Σημειώστε ότι αυτές οι " +"περιγραφές προορίζονται καθαρά για σκοπούς επεξήγησης και **ενδέχεται να μην** αντανακλούν την υποκείμενη υλοποίηση. " +"Επιπλέον, δεν καλύπτουν όλες τις έγκυρες μορφές." #: reference/compound_stmts.rst:805 msgid "OR Patterns" -msgstr "" +msgstr "OR Πρότυπα" #: reference/compound_stmts.rst:807 msgid "" "An OR pattern is two or more patterns separated by vertical bars ``|``. " "Syntax:" -msgstr "" +msgstr "Ένα OR πρότυπο αποτελείται από δύο ή περισσότερα πρότυπα χωρισμένα με κάθετες γραμμές ``|``. Σύνταξη:" #: reference/compound_stmts.rst:813 msgid "" "Only the final subpattern may be :ref:`irrefutable `, and " "each subpattern must bind the same set of names to avoid ambiguity." msgstr "" +"Μόνο το τελικό υπο-πρότυπο μπορεί να είναι :ref:`αδιάσειστο `, και κάθε υπο-πρότυπο πρέπει να δεσμεύει το " +"ίδιο σύνολο ονομάτων για να αποφευχθεί η ασάφεια." #: reference/compound_stmts.rst:816 msgid "" @@ -945,6 +1227,8 @@ msgid "" "until one succeeds. The OR pattern is then considered successful. " "Otherwise, if none of the subpatterns succeed, the OR pattern fails." msgstr "" +"Ένα OR πρότυπο ταιριάζει με καθένα από τα υπο-πρότυπά του διαδοχικά με την τιμή του θέματος, μέχρι κάποιο να επιτύχει. Το " +"OR πρότυπο θεωρείται τότε επιτυχημένο. Διαφορετικά, εάν κανένα από τα υποπρότυπα δεν επιτύχει, το OR πρότυπο αποτυγχάνει." #: reference/compound_stmts.rst:820 msgid "" @@ -952,16 +1236,19 @@ msgid "" "will try to match ``P2``, succeeding immediately if any succeeds, failing " "otherwise." msgstr "" +"Με απλά λόγια, το ``P1 | P2 | ...`` θα προσπαθήσει να ταιριάξει το ``P1``, εάν αποτύχει θα προσπαθήσει να ταιριάξει το " +"``P2``, επιτυγχάνοντας αμέσως εάν οποιοδήποτε πετύχει, αποτυγχάνοντας διαφορετικά." #: reference/compound_stmts.rst:826 msgid "AS Patterns" -msgstr "" +msgstr "AS Πρότυπα" #: reference/compound_stmts.rst:828 msgid "" "An AS pattern matches an OR pattern on the left of the :keyword:`as` keyword " "against a subject. Syntax:" msgstr "" +"Ένα AS πρότυπο ταιριάζει με ένα OR πρότυπο στα αριστερά της λέξης-κλειδιού :keyword:`as` έναντι ενός θέματος. Σύνταξη:" #: reference/compound_stmts.rst:834 msgid "" @@ -969,22 +1256,24 @@ msgid "" "binds the subject to the name on the right of the as keyword and succeeds. " "``capture_pattern`` cannot be a ``_``." msgstr "" +"Εάν το OR πρότυπο αποτύχει, το AS πρότυπο αποτυγχάνει. Διαφορετικά, το AS πρότυπο δεσμεύει το θέμα στο όνομα στα δεξιά της " +"λέξης-κλειδιού as και επιτυγχάνει. Το ``capture_pattern`` δεν μπορεί να είναι ``_``." #: reference/compound_stmts.rst:838 msgid "" "In simple terms ``P as NAME`` will match with ``P``, and on success it will " "set ``NAME = ``." -msgstr "" +msgstr "Με απλά λόγια, το ``P as NAME`` θα ταιριάξει με το ``P``, και σε περίπτωση επιτυχίας θα ορίσει ``NAME = ``." #: reference/compound_stmts.rst:845 msgid "Literal Patterns" -msgstr "" +msgstr "Λεκτικά Πρότυπα" #: reference/compound_stmts.rst:847 msgid "" "A literal pattern corresponds to most :ref:`literals ` in Python. " "Syntax:" -msgstr "" +msgstr "Ένα λεκτικό πρότυπο αντιστοιχεί στα περισσότερα :ref:`literals ` στην Python. Σύνταξη:" #: reference/compound_stmts.rst:860 msgid "" @@ -993,6 +1282,9 @@ msgid "" "supported. Raw strings and byte strings are supported. :ref:`f-strings` " "and :ref:`t-strings` are not supported." msgstr "" +"Ο κανόνας ``strings`` και το token ``NUMBER`` ορίζονται στο :doc:`standard Python grammar <./grammar>`. Υποστηρίζονται " +"συμβολοσειρές με τριπλά εισαγωγικά. Υποστηρίζονται ακατέργαστες συμβολοσειρές και byte συμβολοσειρές. Τα :ref:`f-strings` " +"και τα :ref:`t-strings` δεν υποστηρίζονται." #: reference/compound_stmts.rst:865 msgid "" @@ -1000,6 +1292,8 @@ msgid "" "for expressing :ref:`complex numbers `; they require a real " "number on the left and an imaginary number on the right. E.g. ``3 + 4j``." msgstr "" +"Οι μορφές ``signed_number '+' NUMBER`` και ``signed_number '-' NUMBER`` είναι για την έκφραση :ref:`μιγαδικών αριθμών " +"`· απαιτούν έναν πραγματικό αριθμό αριστερά και έναν φανταστικό αριθμό δεξιά. Π.χ. ``3 + 4j``." #: reference/compound_stmts.rst:869 msgid "" @@ -1007,14 +1301,16 @@ msgid "" "For the singletons ``None``, ``True`` and ``False``, the :keyword:`is` " "operator is used." msgstr "" +"Με απλά λόγια, το ``LITERAL`` θα πετύχει μόνο εάν `` == LITERAL``. Για τα singletons ``None``, ``True`` και " +"``False``, χρησιμοποιείται ο τελεστής :keyword:`is`." #: reference/compound_stmts.rst:875 msgid "Capture Patterns" -msgstr "" +msgstr "Μοτίβα Δέσμευσης" #: reference/compound_stmts.rst:877 msgid "A capture pattern binds the subject value to a name. Syntax:" -msgstr "" +msgstr "Ένα μοτίβο δέσμευσης δεσμεύει την τιμή του θέματος σε ένα όνομα. Σύνταξη:" #: reference/compound_stmts.rst:883 msgid "" @@ -1022,12 +1318,16 @@ msgid "" "expresses). It is instead treated as a :token:`~python-grammar:" "wildcard_pattern`." msgstr "" +"Μία μόνο κάτω παύλα ``_`` δεν μοτίβο δέσμευσης (αυτό εκφράζει το ``!'_'``). Αντιθέτως, αντιμετωπίζεται ως :token:`~python-" +"grammar:wildcard_pattern`." #: reference/compound_stmts.rst:887 msgid "" "In a given pattern, a given name can only be bound once. E.g. ``case x, " "x: ...`` is invalid while ``case [x] | x: ...`` is allowed." msgstr "" +"Σε ένα δεδομένο μοτίβο, ένα δεδομένο όνομα μπορεί να δεσμευτεί μόνο μία φορά. Π.χ. το ``case x, x: ...`` είναι μη έγκυρο, " +"ενώ το ``case [x] | x: ...`` επιτρέπεται." #: reference/compound_stmts.rst:890 msgid "" @@ -1036,22 +1336,25 @@ msgid "" "becomes a local variable in the closest containing function scope unless " "there's an applicable :keyword:`global` or :keyword:`nonlocal` statement." msgstr "" +"Τα μοτίβα δέσμευσης επιτυγχάνουν πάντα. Η δέσμευση ακολουθεί τους κανόνες εύρους που καθιερώθηκαν από τον τελεστή έκφρασης " +"ανάθεσης στο :pep:`572`· το όνομα γίνεται μια τοπική μεταβλητή στο πλησιέστερο περιέχουν εύρος συνάρτησης, εκτός εάν " +"υπάρχει μια εφαρμόσιμη δήλωση :keyword:`global` ή :keyword:`nonlocal`." #: reference/compound_stmts.rst:895 msgid "" "In simple terms ``NAME`` will always succeed and it will set ``NAME = " "``." -msgstr "" +msgstr "Με απλά λόγια, το ``NAME`` θα πετυχαίνει πάντα και θα ορίζει το ``NAME = ``." #: reference/compound_stmts.rst:900 msgid "Wildcard Patterns" -msgstr "" +msgstr "Μοτίβα Μπαλαντέρ" #: reference/compound_stmts.rst:902 msgid "" "A wildcard pattern always succeeds (matches anything) and binds no name. " "Syntax:" -msgstr "" +msgstr "Ένα μοτίβο μπαλαντέρ επιτυγχάνει πάντα (ταιριάζει με τα πάντα) και δεν δεσμεύει κανένα όνομα. Σύνταξη:" #: reference/compound_stmts.rst:908 msgid "" @@ -1059,18 +1362,20 @@ msgid "" "within patterns. It is an identifier, as usual, even within ``match`` " "subject expressions, ``guard``\\ s, and ``case`` blocks." msgstr "" +"Το ``_`` είναι ένα :ref:`soft keyword ` εντός οποιουδήποτε μοτίβου, αλλά μόνο εντός μοτίβων. Είναι ένα " +"αναγνωριστικό, ως συνήθως, ακόμη και εντός των εκφράσεων θέματος στο ``match``, στα ``guard``, και στα μπλοκ ``case``." #: reference/compound_stmts.rst:912 msgid "In simple terms, ``_`` will always succeed." -msgstr "" +msgstr "Με απλά λόγια, το ``_`` θα επιτυγχάνει πάντα." #: reference/compound_stmts.rst:917 msgid "Value Patterns" -msgstr "" +msgstr "Μοτίβα Τιμής" #: reference/compound_stmts.rst:919 msgid "A value pattern represents a named value in Python. Syntax:" -msgstr "" +msgstr "Ένα μοτίβο τιμής αναπαριστά μια ονομασμένη τιμή στην Python. Σύνταξη:" #: reference/compound_stmts.rst:927 msgid "" @@ -1078,12 +1383,15 @@ msgid "" "resolution rules `. The pattern succeeds if the value found " "compares equal to the subject value (using the ``==`` equality operator)." msgstr "" +"Το όνομα με τελείες στο μοτίβο αναζητείται χρησιμοποιώντας τους τυπικούς :ref:`κανόνες ανάλυσης ονομάτων ` " +"της Python. Το πρότυπο επιτυγχάνει εάν η τιμή που βρέθηκε συγκρίνεται ως ίση με την τιμή του θέματος (χρησιμοποιώντας τον " +"τελεστή ισότητας ``==``)." #: reference/compound_stmts.rst:932 msgid "" "In simple terms ``NAME1.NAME2`` will succeed only if `` == NAME1." "NAME2``" -msgstr "" +msgstr "Με απλά λόγια, το ``NAME1.NAME2`` θα πετύχει μόνο εάν `` == NAME1.NAME2``" #: reference/compound_stmts.rst:936 msgid "" @@ -1092,36 +1400,45 @@ msgid "" "the same lookup. This cache is strictly tied to a given execution of a " "given match statement." msgstr "" +"Εάν η ίδια τιμή εμφανίζεται πολλές φορές στην ίδια δήλωση match, ο διερμηνέας μπορεί να αποθηκεύσει στην προσωρινή μνήμη " +"την πρώτη τιμή που βρέθηκε και να την επαναχρησιμοποιήσει αντί να επαναλάβει την ίδια αναζήτηση. Αυτή η προσωρινή μνήμη " +"είναι αυστηρά συνδεδεμένη με μια δεδομένη εκτέλεση μιας δεδομένης εντολής match." #: reference/compound_stmts.rst:944 msgid "Group Patterns" -msgstr "" +msgstr "Μοτίβα Ομαδοποίησης" #: reference/compound_stmts.rst:946 msgid "" "A group pattern allows users to add parentheses around patterns to emphasize " "the intended grouping. Otherwise, it has no additional syntax. Syntax:" msgstr "" +"Ένα μοτίβο ομαδοποίησης επιτρέπει στους χρήστες να προσθέτουν παρενθέσεις γύρω από τα μοτίβα για να τονίσουν την " +"επιδιωκόμενη ομαδοποίηση. Διαφορετικά, δεν έχει πρόσθετη σύνταξη. Σύνταξη:" #: reference/compound_stmts.rst:953 msgid "In simple terms ``(P)`` has the same effect as ``P``." -msgstr "" +msgstr "Με απλά λόγια, το ``(P)`` έχει το ίδιο αποτέλεσμα με το ``P``." #: reference/compound_stmts.rst:958 msgid "Sequence Patterns" -msgstr "" +msgstr "Μοτίβα Ακολουθίας" #: reference/compound_stmts.rst:960 msgid "" "A sequence pattern contains several subpatterns to be matched against " "sequence elements. The syntax is similar to the unpacking of a list or tuple." msgstr "" +"Ένα μοτίβο ακολουθίας περιέχει πολλά υπο-πρότυπα που θα ταιριάξουν με τα στοιχεία μιας ακολουθίας. Η σύνταξη είναι παρόμοια " +"με την αποσυμπίεση μιας λίστας ή μιας πλειάδας." #: reference/compound_stmts.rst:971 msgid "" "There is no difference if parentheses or square brackets are used for " "sequence patterns (i.e. ``(...)`` vs ``[...]`` )." msgstr "" +"Δεν υπάρχει διαφορά, εάν χρησιμοποιούνται παρενθέσεις ή αγκύλες για τα μοτίβα ακολουθίας (δηλαδή ``(...)`` έναντι " +"``[...]``)." #: reference/compound_stmts.rst:975 msgid "" @@ -1129,6 +1446,9 @@ msgid "" "| 4)``) is a :ref:`group pattern `. While a single pattern " "enclosed in square brackets (e.g. ``[3 | 4]``) is still a sequence pattern." msgstr "" +"Ένα μεμονωμένο μοτίβο περικλειόμενο σε παρενθέσεις χωρίς τελικό κόμμα (π.χ. ``(3 | 4)``) είναι ένα :ref:`μοτίβο " +"ομαδοποίησης `. Ενώ ένα μεμονωμένο μοτίβο περικλειόμενο σε αγκύλες (π.χ. ``[3 | 4]``) εξακολουθεί να είναι " +"ένα μοτίβο ακολουθίας." #: reference/compound_stmts.rst:980 msgid "" @@ -1137,39 +1457,42 @@ msgid "" "sequence pattern is a fixed-length sequence pattern; otherwise it is a " "variable-length sequence pattern." msgstr "" +"Μπορεί να υπάρχει το πολύ ένα υπο-μοτίβο με αστερίσκο σε ένα μοτίβο ακολουθίας. Το υπο-μοτίβο με αστερίσκο μπορεί να " +"εμφανιστεί σε οποιαδήποτε θέση. Εάν δεν υπάρχει υπο-μοτίβο με αστερίσκο, το μοτίβο ακολουθίας είναι σταθερού μήκους· " +"διαφορετικά είναι μεταβλητού μήκους." #: reference/compound_stmts.rst:985 msgid "" "The following is the logical flow for matching a sequence pattern against a " "subject value:" -msgstr "" +msgstr "Ακολουθεί η λογική ροή για το ταίριασμα ενός μοτίβο ακολουθίας έναντι μιας τιμής θέματος:" #: reference/compound_stmts.rst:988 msgid "" "If the subject value is not a sequence [#]_, the sequence pattern fails." -msgstr "" +msgstr "Εάν η τιμή του θέματος δεν είναι μια ακολουθία [#]_, το μοτίβο ακολουθίας αποτυγχάνει." #: reference/compound_stmts.rst:991 msgid "" "If the subject value is an instance of ``str``, ``bytes`` or ``bytearray`` " "the sequence pattern fails." -msgstr "" +msgstr "Εάν η τιμή του θέματος είναι στιγμιότυπο των ``str``, ``bytes`` ή ``bytearray`` το μοτίβο ακολουθίας αποτυγχάνει." #: reference/compound_stmts.rst:994 msgid "" "The subsequent steps depend on whether the sequence pattern is fixed or " "variable-length." -msgstr "" +msgstr "Τα επόμενα βήματα εξαρτώνται από το αν το μοτίβο ακολουθίας είναι σταθερού ή μεταβλητού μήκους." #: reference/compound_stmts.rst:997 msgid "If the sequence pattern is fixed-length:" -msgstr "" +msgstr "Εάν το μοτίβο ακολουθίας είναι σταθερού μήκους:" #: reference/compound_stmts.rst:999 msgid "" "If the length of the subject sequence is not equal to the number of " "subpatterns, the sequence pattern fails" -msgstr "" +msgstr "Εάν το μήκος της ακολουθίας θέματος δεν είναι ίσο με τον αριθμό των υπο-μοτίβων, το μοτίβο ακολουθίας αποτυγχάνει" #: reference/compound_stmts.rst:1002 msgid "" @@ -1178,22 +1501,28 @@ msgid "" "subpattern fails. If all subpatterns succeed in matching their " "corresponding item, the sequence pattern succeeds." msgstr "" +"Τα υπο-μοτίβα στο μοτίβο ακολουθίας ταιριάζουν με τα αντίστοιχα στοιχεία τους στην ακολουθία θέματος από αριστερά προς τα " +"δεξιά. Το ταίριασμα σταματά μόλις αποτύχει ένα υπο-μοτίβο Εάν όλα τα υπο-μοτίβα επιτύχουν στο ταίριασμα του αντίστοιχου " +"στοιχείου τους, το μοτίβο ακολουθίας επιτυγχάνει." #: reference/compound_stmts.rst:1007 msgid "Otherwise, if the sequence pattern is variable-length:" -msgstr "" +msgstr "Διαφορετικά, εάν το μοτίβο ακολουθίας είναι μεταβλητού μήκους:" #: reference/compound_stmts.rst:1009 msgid "" "If the length of the subject sequence is less than the number of non-star " "subpatterns, the sequence pattern fails." msgstr "" +"Εάν το μήκος της ακολουθίας θέματος είναι μικρότερο από τον αριθμό των υπο-μοτίβων χωρίς αστερίσκο, το μοτίβο ακολουθίας " +"αποτυγχάνει." #: reference/compound_stmts.rst:1012 msgid "" "The leading non-star subpatterns are matched to their corresponding items as " "for fixed-length sequences." msgstr "" +"Τα αρχικά υπο-μοτίβα χωρίς αστερίσκο ταιριάζουν με τα αντίστοιχα στοιχεία τους όπως και για τις ακολουθίες σταθερού μήκους." #: reference/compound_stmts.rst:1015 msgid "" @@ -1201,12 +1530,17 @@ msgid "" "the remaining subject items, excluding the remaining items corresponding to " "non-star subpatterns following the star subpattern." msgstr "" +"Εάν το προηγούμενο βήμα επιτύχει, το υπο-μοτίβο με αστερίσκο ταιριάζει με μια λίστα που σχηματίζεται από τα εναπομείναντα " +"στοιχεία του θέματος, εξαιρουμένων των στοιχείων που αντιστοιχούν σε υπο-μοτίβα χωρίς αστερίσκο τα οποία ακολουθούν το υπο-" +"μοτίβο με αστερίσκο." #: reference/compound_stmts.rst:1019 msgid "" "Remaining non-star subpatterns are matched to their corresponding subject " "items, as for a fixed-length sequence." msgstr "" +"Τα εναπομείναντα υπο-μοτίβα χωρίς αστερίσκο ταιριάζουν με τα αντίστοιχα στοιχεία του θέματος, όπως και για μια ακολουθία " +"σταθερού μήκους." #: reference/compound_stmts.rst:1022 msgid "" @@ -1214,50 +1548,57 @@ msgid "" "the :meth:`~object.__len__` protocol). This length may be cached by the " "interpreter in a similar manner as :ref:`value patterns `." msgstr "" +"Το μήκος της ακολουθίας θέματος λαμβάνεται μέσω της :func:`len` (δηλαδή μέσω του πρωτοκόλλου :meth:`~object.__len__`). Αυτό " +"το μήκος μπορεί να αποθηκευτεί στην προσωρινή μνήμη από τον διερμηνέα με παρόμοιο τρόπο όπως τα :ref:`μοτίβα τιμής `." #: reference/compound_stmts.rst:1028 msgid "" "In simple terms ``[P1, P2, P3,`` ... ``, P]`` matches only if all the " "following happens:" -msgstr "" +msgstr "Με απλά λόγια, το ``[P1, P2, P3,`` ... ``, P]`` ταιριάζει μόνο εάν συμβούν όλα τα ακόλουθα:" #: reference/compound_stmts.rst:1031 msgid "check ```` is a sequence" -msgstr "" +msgstr "έλεγχος ότι το ```` είναι μια ακολουθία" #: reference/compound_stmts.rst:1032 msgid "``len(subject) == ``" -msgstr "" +msgstr "``len(subject) == ``" #: reference/compound_stmts.rst:1033 msgid "" "``P1`` matches ``[0]`` (note that this match can also bind names)" -msgstr "" +msgstr "το ``P1`` ταιριάζει στο ``[0]`` (σημειώστε ότι αυτό το ταίριασμα μπορεί επίσης να δεσμεύσει ονόματα)" #: reference/compound_stmts.rst:1034 msgid "" "``P2`` matches ``[1]`` (note that this match can also bind names)" -msgstr "" +msgstr "το ``P2`` ταιριάζει στο ``[1]`` (σημειώστε ότι αυτό το ταίριασμα μπορεί επίσης να δεσμεύσει ονόματα)" #: reference/compound_stmts.rst:1035 msgid "... and so on for the corresponding pattern/element." -msgstr "" +msgstr "... και ούτω καθεξής για το αντίστοιχο ζεύγος μοτίβου/στοιχείου." #: reference/compound_stmts.rst:1040 msgid "Mapping Patterns" -msgstr "" +msgstr "Μοτίβα Αντιστοίχισης" #: reference/compound_stmts.rst:1042 msgid "" "A mapping pattern contains one or more key-value patterns. The syntax is " "similar to the construction of a dictionary. Syntax:" msgstr "" +"Ένα μοτίβο αντιστοίχισης περιέχει ένα ή περισσότερα μοτίβα κλειδιού-τιμής. Η σύνταξη είναι παρόμοια με την κατασκευή ενός " +"λεξικού. Σύνταξη:" #: reference/compound_stmts.rst:1053 msgid "" "At most one double star pattern may be in a mapping pattern. The double " "star pattern must be the last subpattern in the mapping pattern." msgstr "" +"Μπορεί να υπάρχει το πολύ ένα μοτίβο με διπλό αστερίσκο σε ένα μοτίβο αντιστοίχισης. Το μοτίβο με διπλό αστερίσκο πρέπει να " +"είναι το τελευταίο υπο-μοτίβο στο μοτίβο αντιστοίχισης." #: reference/compound_stmts.rst:1056 msgid "" @@ -1265,16 +1606,19 @@ msgid "" "will raise a :exc:`SyntaxError`. Two keys that otherwise have the same value " "will raise a :exc:`ValueError` at runtime." msgstr "" +"Δεν επιτρέπονται διπλότυπα κλειδιά σε μοτίβα αντιστοίχισης. Τα διπλότυπα λεκτικά κλειδιά θα κάνουν raise " +"ένα :exc:`SyntaxError`. Δύο κλειδιά που κατά τα άλλα έχουν την ίδια τιμή θα κάνουν raise ένα :exc:`ValueError` κατά τον " +"χρόνο εκτέλεσης." #: reference/compound_stmts.rst:1060 msgid "" "The following is the logical flow for matching a mapping pattern against a " "subject value:" -msgstr "" +msgstr "Ακολουθεί η λογική ροή για το ταίριασμα ενός μοτίβο αντιστοίχισης έναντι μιας τιμής θέματος:" #: reference/compound_stmts.rst:1063 msgid "If the subject value is not a mapping [#]_,the mapping pattern fails." -msgstr "" +msgstr "Εάν η τιμή του θέματος δεν είναι μία αντιστοίχιση [#]_, το μοτίβο αντιστοίχισης αποτυγχάνει." #: reference/compound_stmts.rst:1065 msgid "" @@ -1282,6 +1626,8 @@ msgid "" "and the pattern for each key matches the corresponding item of the subject " "mapping, the mapping pattern succeeds." msgstr "" +"Εάν κάθε κλειδί που δίνεται στο μοτίβο αντιστοίχισης είναι παρόν στην αντιστοίχιση του θέματος, και το μοτίβο για κάθε " +"κλειδί ταιριάζει με το αντίστοιχο στοιχείο της αντιστοίχισης του θέματος, το μοτίβο αντιστοίχισης επιτυγχάνει." #: reference/compound_stmts.rst:1069 msgid "" @@ -1289,6 +1635,8 @@ msgid "" "considered invalid. A :exc:`SyntaxError` is raised for duplicate literal " "values; or a :exc:`ValueError` for named keys of the same value." msgstr "" +"Εάν ανιχνευτούν διπλότυπα κλειδιά στο μοτίβο αντιστοίχισης, το μοτίβο θεωρείται μη έγκυρο. Γίνεται raise " +"ένα :exc:`SyntaxError` για διπλότυπες λεκτικές τιμές· ή ένα :exc:`ValueError` για ονομασμένα κλειδιά με την ίδια τιμή." #: reference/compound_stmts.rst:1073 msgid "" @@ -1297,60 +1645,65 @@ msgid "" "in the mapping, and not created on-the-fly via :meth:`~object.__missing__` " "or :meth:`~object.__getitem__`." msgstr "" +"Τα ζεύγη κλειδιού-τιμής ταιριάζονται χρησιμοποιώντας τη μορφή των δύο ορισμάτων της μεθόδου ``get()`` της αντιστοίχισης του " +"θέματος. Τα ταιριασμένα ζεύγη κλειδιού-τιμής πρέπει να είναι ήδη παρόντα στην αντιστοίχιση, και να μην δημιουργούνται " +"δυναμικά μέσω της :meth:`~object.__missing__` ή της :meth:`~object.__getitem__`." #: reference/compound_stmts.rst:1078 msgid "" "In simple terms ``{KEY1: P1, KEY2: P2, ... }`` matches only if all the " "following happens:" -msgstr "" +msgstr "Με απλά λόγια, το ``{KEY1: P1, KEY2: P2, ... }`` ταιριάζει μόνο εάν συμβούν όλα τα ακόλουθα:" #: reference/compound_stmts.rst:1081 msgid "check ```` is a mapping" -msgstr "" +msgstr "έλεγχος ότι το ```` είναι μία αντιστοίχιση" #: reference/compound_stmts.rst:1082 msgid "``KEY1 in ``" -msgstr "" +msgstr "``KEY1 in ``" #: reference/compound_stmts.rst:1083 msgid "``P1`` matches ``[KEY1]``" -msgstr "" +msgstr "το ``P1`` ταιριάζει στο ``[KEY1]``" #: reference/compound_stmts.rst:1084 msgid "... and so on for the corresponding KEY/pattern pair." -msgstr "" +msgstr "... και ούτω καθεξής για το αντίστοιχο ζεύγος KEY/μοτίβου." #: reference/compound_stmts.rst:1090 msgid "Class Patterns" -msgstr "" +msgstr "Μοτίβα Κλάσης" #: reference/compound_stmts.rst:1092 msgid "" "A class pattern represents a class and its positional and keyword arguments " "(if any). Syntax:" -msgstr "" +msgstr "Ένα μοτίβο κλάσης αναπαριστά μια κλάση και τα ορίσματα θέσης και λέξης κλειδιού της (εάν υπάρχουν). Σύνταξη:" #: reference/compound_stmts.rst:1103 msgid "The same keyword should not be repeated in class patterns." -msgstr "" +msgstr "Η ίδια λέξη-κλειδί δεν πρέπει να επαναλαμβάνεται στα μοτίβα κλάσης." #: reference/compound_stmts.rst:1105 msgid "" "The following is the logical flow for matching a class pattern against a " "subject value:" -msgstr "" +msgstr "Ακολουθεί η λογική ροή για το ταίριασμα ενός μοτίβου κλάσης έναντι μιας τιμής θέματος:" #: reference/compound_stmts.rst:1108 msgid "" "If ``name_or_attr`` is not an instance of the builtin :class:`type` , raise :" "exc:`TypeError`." -msgstr "" +msgstr "Εάν το ``name_or_attr`` δεν είναι στιγμιότυπο του ενσωματωμένου :class:`type`, γίνεται raise ένα :exc:`TypeError`." #: reference/compound_stmts.rst:1111 msgid "" "If the subject value is not an instance of ``name_or_attr`` (tested via :" "func:`isinstance`), the class pattern fails." msgstr "" +"Εάν η τιμή του θέματος δεν είναι στιγμιότυπο του ``name_or_attr`` (ελέγχεται μέσω της :func:`isinstance`), το μοτίβο κλάσης " +"αποτυγχάνει." #: reference/compound_stmts.rst:1114 msgid "" @@ -1358,6 +1711,8 @@ msgid "" "subsequent steps depend on whether keyword or positional argument patterns " "are present." msgstr "" +"Εάν δεν υπάρχουν ορίσματα μοτίβου, το μοτίβο επιτυγχάνει. Διαφορετικά, τα επόμενα βήματα εξαρτώνται από το αν υπάρχουν " +"μοτίβα λέξης-κλειδιού ή ορισμάτων θέσης." #: reference/compound_stmts.rst:1118 msgid "" @@ -1365,26 +1720,29 @@ msgid "" "subpattern is accepted which will match the entire subject; for these types " "keyword patterns also work as for other types." msgstr "" +"Για έναν αριθμό ενσωματωμένων τύπων (καθορίζονται παρακάτω), γίνεται αποδεκτό ένα μεμονωμένο υπο-μοτίβο θέσης το οποίο θα " +"ταιριάξει με ολόκληρο το θέμα· για αυτούς τους τύπους, τα μοτίβα λέξης-κλειδιού λειτουργούν επίσης όπως και για άλλους " +"τύπους." #: reference/compound_stmts.rst:1122 msgid "" "If only keyword patterns are present, they are processed as follows, one by " "one:" -msgstr "" +msgstr "Εάν υπάρχουν μόνο μοτίβα λέξης-κλειδιού, επεξεργάζονται ως εξής, ένα προς ένα:" #: reference/compound_stmts.rst:1125 msgid "The keyword is looked up as an attribute on the subject." -msgstr "" +msgstr "Η λέξη-κλειδί αναζητείται ως χαρακτηριστικό πάνω στο θέμα." #: reference/compound_stmts.rst:1127 msgid "" "If this raises an exception other than :exc:`AttributeError`, the exception " "bubbles up." -msgstr "" +msgstr "Εάν κάνει raise μια εξαίρεση διαφορετική από το :exc:`AttributeError`, η εξαίρεση ανεβαίνει προς τα πάνω." #: reference/compound_stmts.rst:1130 msgid "If this raises :exc:`AttributeError`, the class pattern has failed." -msgstr "" +msgstr "Εάν κάνει raise το :exc:`AttributeError`, το μοτίβο κλάσης έχει αποτύχει." #: reference/compound_stmts.rst:1132 msgid "" @@ -1392,10 +1750,12 @@ msgid "" "the subject's attribute value. If this fails, the class pattern fails; if " "this succeeds, the match proceeds to the next keyword." msgstr "" +"Αλλιώς, το υπο-μοτίβο που σχετίζεται με το μοτίβο λέξης-κλειδιού ταιριάζεται με την τιμή του χαρακτηριστικού του θέματος. " +"Εάν αυτό αποτύχει, το μοτίβο κλάσης αποτυγχάνει· εάν επιτύχει, το ταίριασμα προχωρά στην επόμενη λέξη-κλειδί." #: reference/compound_stmts.rst:1137 msgid "If all keyword patterns succeed, the class pattern succeeds." -msgstr "" +msgstr "Εάν όλα τα μοτίβα λέξης-κλειδιού επιτύχουν, το μοτίβο κλάσης επιτυγχάνει." #: reference/compound_stmts.rst:1139 msgid "" @@ -1403,26 +1763,28 @@ msgid "" "patterns using the :data:`~object.__match_args__` attribute on the class " "``name_or_attr`` before matching:" msgstr "" +"Εάν υπάρχουν οποιαδήποτε μοτίβα θέσης, μετατρέπονται σε μοτίβα λέξης-κλειδιού χρησιμοποιώντας το " +"χαρακτηριστικό :data:`~object.__match_args__` πάνω στην κλάση ``name_or_attr`` πριν από το ταίριασμα:" #: reference/compound_stmts.rst:1143 msgid "The equivalent of ``getattr(cls, \"__match_args__\", ())`` is called." -msgstr "" +msgstr "Καλείται το ισοδύναμο της ``getattr(cls, \"__match_args__\", ())``." #: reference/compound_stmts.rst:1145 msgid "If this raises an exception, the exception bubbles up." -msgstr "" +msgstr "Εάν κάνει raise μια εξαίρεση, η εξαίρεση ανεβαίνει προς τα πάνω." #: reference/compound_stmts.rst:1147 msgid "" "If the returned value is not a tuple, the conversion fails and :exc:" "`TypeError` is raised." -msgstr "" +msgstr "Εάν η επιστρεφόμενη τιμή δεν είναι πλειάδα, η μετατροπή αποτυγχάνει και γίνεται raise το :exc:`TypeError`." #: reference/compound_stmts.rst:1150 msgid "" "If there are more positional patterns than ``len(cls.__match_args__)``, :exc:" "`TypeError` is raised." -msgstr "" +msgstr "Εάν υπάρχουν περισσότερα μοτίβα θέσης από το ``len(cls.__match_args__)``, γίνεται raise το :exc:`TypeError`." #: reference/compound_stmts.rst:1153 msgid "" @@ -1430,70 +1792,74 @@ msgid "" "``__match_args__[i]`` as the keyword. ``__match_args__[i]`` must be a " "string; if not :exc:`TypeError` is raised." msgstr "" +"Διαφορετικά, το μοτίβο θέσης ``i`` μετατρέπεται σε ένα μοτίβο λέξης-κλειδιού χρησιμοποιώντας το ``__match_args__[i]`` ως " +"λέξη-κλειδί. Το ``__match_args__[i]`` πρέπει να είναι συμβολοσειρά· εάν όχι, γίνεται raise το :exc:`TypeError`." #: reference/compound_stmts.rst:1157 msgid "If there are duplicate keywords, :exc:`TypeError` is raised." -msgstr "" +msgstr "Εάν υπάρχουν διπλότυπες λέξεις-κλειδιά, γίνεται raise το :exc:`TypeError`." #: reference/compound_stmts.rst:1159 msgid ":ref:`class-pattern-matching`" -msgstr "" +msgstr ":ref:`class-pattern-matching`" #: reference/compound_stmts.rst:1161 msgid "" "Once all positional patterns have been converted to keyword patterns, the " "match proceeds as if there were only keyword patterns." msgstr "" +"Μόλις όλα τα μοτίβα θέσης μετατραπούν σε μοτίβα λέξης-κλειδιού, το ταίριασμα προχωρά σαν να υπήρχαν μόνο μοτίβα λέξης-" +"κλειδιού." #: reference/compound_stmts.rst:1164 msgid "" "For the following built-in types the handling of positional subpatterns is " "different:" -msgstr "" +msgstr "Για τους ακόλουθους ενσωματωμένους τύπους, ο χειρισμός των υπο-μοτίβων θέσης είναι διαφορετικός:" #: reference/compound_stmts.rst:1167 msgid ":class:`bool`" -msgstr "" +msgstr ":class:`bool`" #: reference/compound_stmts.rst:1168 msgid ":class:`bytearray`" -msgstr "" +msgstr ":class:`bytearray`" #: reference/compound_stmts.rst:1169 msgid ":class:`bytes`" -msgstr "" +msgstr ":class:`bytes`" #: reference/compound_stmts.rst:1170 msgid ":class:`dict`" -msgstr "" +msgstr ":class:`dict`" #: reference/compound_stmts.rst:1171 msgid ":class:`float`" -msgstr "" +msgstr ":class:`float`" #: reference/compound_stmts.rst:1172 msgid ":class:`frozenset`" -msgstr "" +msgstr ":class:`frozenset`" #: reference/compound_stmts.rst:1173 msgid ":class:`int`" -msgstr "" +msgstr ":class:`int`" #: reference/compound_stmts.rst:1174 reference/compound_stmts.rst:1932 msgid ":class:`list`" -msgstr "" +msgstr ":class:`list`" #: reference/compound_stmts.rst:1175 msgid ":class:`set`" -msgstr "" +msgstr ":class:`set`" #: reference/compound_stmts.rst:1176 msgid ":class:`str`" -msgstr "" +msgstr ":class:`str`" #: reference/compound_stmts.rst:1177 reference/compound_stmts.rst:1935 msgid ":class:`tuple`" -msgstr "" +msgstr ":class:`tuple`" #: reference/compound_stmts.rst:1179 msgid "" @@ -1501,45 +1867,47 @@ msgid "" "matched against the whole object rather than an attribute. For example " "``int(0|1)`` matches the value ``0``, but not the value ``0.0``." msgstr "" +"Αυτές οι κλάσεις δέχονται ένα μόνο όρισμα θέσης, και το μοτίβο εκεί ταιριάζεται έναντι ολόκληρου του αντικειμένου αντί για " +"ένα χαρακτηριστικό. Για παράδειγμα το ``int(0|1)`` ταιριάζει με την τιμή ``0``, αλλά όχι με την τιμή ``0.0``." #: reference/compound_stmts.rst:1183 msgid "" "In simple terms ``CLS(P1, attr=P2)`` matches only if the following happens:" -msgstr "" +msgstr "Με απλά λόγια, το ``CLS(P1, attr=P2)`` ταιριάζει μόνο εάν συμβαίνουν τα ακόλουθα:" #: reference/compound_stmts.rst:1185 msgid "``isinstance(, CLS)``" -msgstr "" +msgstr "``isinstance(, CLS)``" #: reference/compound_stmts.rst:1186 msgid "convert ``P1`` to a keyword pattern using ``CLS.__match_args__``" -msgstr "" +msgstr "μετατροπή του ``P1`` σε μοτίβο λέξης-κλειδιού χρησιμοποιώντας το ``CLS.__match_args__``" #: reference/compound_stmts.rst:1187 msgid "For each keyword argument ``attr=P2``:" -msgstr "" +msgstr "Για κάθε όρισμα λέξης-κλειδιού ``attr=P2``:" #: reference/compound_stmts.rst:1189 msgid "``hasattr(, \"attr\")``" -msgstr "" +msgstr "``hasattr(, \"attr\")``" #: reference/compound_stmts.rst:1190 msgid "``P2`` matches ``.attr``" -msgstr "" +msgstr "το ``P2`` ταιριάζει στο ``.attr``" #: reference/compound_stmts.rst:1192 msgid "... and so on for the corresponding keyword argument/pattern pair." -msgstr "" +msgstr "... και ούτω καθεξής για το αντίστοιχο ζεύγος ορίσματος λέξης-κλειδιού/μοτίβου." #: reference/compound_stmts.rst:1207 msgid "Function definitions" -msgstr "" +msgstr "Ορισμοί συναρτήσεων" #: reference/compound_stmts.rst:1222 msgid "" "A function definition defines a user-defined function object (see section :" "ref:`types`):" -msgstr "" +msgstr "Ένας ορισμός συνάρτησης ορίζει ένα αντικείμενο συνάρτησης ορισμένο από τον χρήστη (δείτε την ενότητα :ref:`types`):" #: reference/compound_stmts.rst:1244 msgid "" @@ -1549,12 +1917,16 @@ msgid "" "a reference to the current global namespace as the global namespace to be " "used when the function is called." msgstr "" +"Ο ορισμός μιας συνάρτησης είναι μια εκτελέσιμη δήλωση. Η εκτέλεσή της δεσμεύει το όνομα της συνάρτησης στον τρέχοντα τοπικό " +"χώρο ονομάτων σε ένα αντικείμενο συνάρτησης (ένας wrapper γύρω από τον εκτελέσιμο κώδικα της συνάρτησης). Αυτό το " +"αντικείμενο συνάρτησης περιέχει μια αναφορά στον τρέχοντα καθολικό χώρο ονομάτων, ως τον καθολικό χώρο ονομάτων που θα " +"χρησιμοποιηθεί όταν κληθεί η συνάρτηση." #: reference/compound_stmts.rst:1250 msgid "" "The function definition does not execute the function body; this gets " "executed only when the function is called. [#]_" -msgstr "" +msgstr "Ο ορισμός της συνάρτησης δεν εκτελεί το σώμα της συνάρτησης· αυτό εκτελείται μόνο όταν κληθεί η συνάρτηση. [#]_" #: reference/compound_stmts.rst:1256 msgid "" @@ -1566,6 +1938,11 @@ msgid "" "function object. Multiple decorators are applied in nested fashion. For " "example, the following code ::" msgstr "" +"Ένας ορισμός συνάρτησης μπορεί να περιτυλιχθεί από μία ή περισσότερες εκφράσεις :term:`decorator`. Οι εκφράσεις decorator " +"αξιολογούνται όταν ορίζεται η συνάρτηση, στο εύρος που περιέχει τον ορισμό της συνάρτησης. Το αποτέλεσμα πρέπει να είναι " +"ένα callable, το οποίο καλείται με το αντικείμενο συνάρτησης ως το μοναδικό όρισμα. Η τιμή που επιστρέφεται δεσμεύεται στο " +"όνομα της συνάρτησης αντί για το αντικείμενο συνάρτησης. Πολλοί decorators εφαρμόζονται με εμφωλευμένο τρόπο. Για " +"παράδειγμα, ο ακόλουθος κώδικας ::" #: reference/compound_stmts.rst:1263 msgid "" @@ -1573,22 +1950,27 @@ msgid "" "@f2\n" "def func(): pass" msgstr "" +"@f1(arg)\n" +"@f2\n" +"def func(): pass" #: reference/compound_stmts.rst:1267 reference/compound_stmts.rst:1456 msgid "is roughly equivalent to ::" -msgstr "" +msgstr "είναι κατά προσέγγιση ισοδύναμο με το ::" #: reference/compound_stmts.rst:1269 msgid "" "def func(): pass\n" "func = f1(arg)(f2(func))" msgstr "" +"def func(): pass\n" +"func = f1(arg)(f2(func))" #: reference/compound_stmts.rst:1272 msgid "" "except that the original function is not temporarily bound to the name " "``func``." -msgstr "" +msgstr "εκτός του ότι η αρχική συνάρτηση δεν δεσμεύεται προσωρινά στο όνομα ``func``." #: reference/compound_stmts.rst:1274 msgid "" @@ -1596,6 +1978,8 @@ msgid "" "assignment_expression`. Previously, the grammar was much more restrictive; " "see :pep:`614` for details." msgstr "" +"Οι συναρτήσεις μπορούν να διακοσμηθούν με οποιοδήποτε έγκυρο :token:`~python-grammar:assignment_expression`. Προηγουμένως, " +"η γραμματική ήταν πολύ πιο αυστηρή· δείτε το :pep:`614` για λεπτομέρειες." #: reference/compound_stmts.rst:1279 msgid "" @@ -1606,10 +1990,14 @@ msgid "" "function's :attr:`~function.__type_params__` attribute. See :ref:`generic-" "functions` for more." msgstr "" +"Μια λίστα από :ref:`παραμέτρους τύπου ` μπορεί να δοθεί μέσα σε αγκύλες μεταξύ του ονόματος της συνάρτησης και " +"της παρένθεσης ανοίγματος για τη λίστα παραμέτρων της. Αυτό υποδεικνύει στους ελέγχους στατικού τύπου ότι η συνάρτηση είναι " +"γενική. Κατά τον χρόνο εκτέλεσης, οι παράμετροι τύπου μπορούν να ανακτηθούν από το " +"χαρακτηριστικό :attr:`~function.__type_params__` της συνάρτησης. Δείτε το :ref:`generic-functions` για περισσότερα." #: reference/compound_stmts.rst:1286 reference/compound_stmts.rst:1475 msgid "Type parameter lists are new in Python 3.12." -msgstr "" +msgstr "Οι λίστες παραμέτρων τύπου είναι νέες στην Python 3.12." #: reference/compound_stmts.rst:1294 msgid "" @@ -1621,6 +2009,11 @@ msgid "" "up until the \"``*``\" must also have a default value --- this is a " "syntactic restriction that is not expressed by the grammar." msgstr "" +"Όταν μία ή περισσότερες :term:`παράμετροι ` έχουν τη μορφή *parameter* ``=`` *expression*, η συνάρτηση λέγεται " +"ότι έχει \"προεπιλεγμένες τιμές παραμέτρων.\" Για μια παράμετρο με προεπιλεγμένη τιμή, το αντίστοιχο :term:`argument` " +"μπορεί να παραλειφθεί από μια κλήση, οπότε αντικαθίσταται η προεπιλεγμένη τιμή της παραμέτρου. Εάν μια παράμετρος έχει μια " +"προεπιλεγμένη τιμή, όλες οι επόμενες παράμετροι μέχρι το \"``*``\" πρέπει επίσης να έχουν μια προεπιλεγμένη τιμή --- αυτός " +"είναι ένας συντακτικός περιορισμός που δεν εκφράζεται από τη γραμματική." #: reference/compound_stmts.rst:1302 msgid "" @@ -1634,6 +2027,13 @@ msgid "" "is generally not what was intended. A way around this is to use ``None`` as " "the default, and explicitly test for it in the body of the function, e.g.::" msgstr "" +"**Οι προεπιλεγμένες τιμές παραμέτρων αξιολογούνται από αριστερά προς τα δεξιά όταν εκτελείται ο ορισμός της συνάρτησης.** " +"Αυτό σημαίνει ότι η έκφραση αξιολογείται μία φορά, όταν ορίζεται η συνάρτηση, και χρησιμοποιείται η ίδια \"προ-" +"υπολογισμένη\" τιμή για κάθε κλήση. Αυτό είναι ιδιαίτερα σημαντικό να κατανοηθεί, όταν μια προεπιλεγμένη τιμή παραμέτρου " +"είναι ένα μεταβλητό αντικείμενο, όπως μια λίστα ή ένα λεξικό: εάν η συνάρτηση τροποποιήσει το αντικείμενο (π.χ. " +"προσθέτοντας ένα στοιχείο σε μια λίστα), η προεπιλεγμένη τιμή παραμέτρου τροποποιείται στην πράξη. Αυτό συνήθως δεν είναι " +"αυτό που επιδιωκόταν. Ένας τρόπος παράκαμψης είναι να χρησιμοποιήσετε το ``None`` ως προεπιλογή, και να το ελέγχετε ρητά " +"στο σώμα της συνάρτησης, π.χ.::" #: reference/compound_stmts.rst:1312 msgid "" @@ -1643,6 +2043,11 @@ msgid "" " penguin.append(\"property of the zoo\")\n" " return penguin" msgstr "" +"def whats_on_the_telly(penguin=None):\n" +" if penguin is None:\n" +" penguin = []\n" +" penguin.append(\"property of the zoo\")\n" +" return penguin" #: reference/compound_stmts.rst:1323 msgid "" @@ -1659,12 +2064,22 @@ msgid "" "\"``/``\" are positional-only parameters and may only be passed by " "positional arguments." msgstr "" +"Η σημασιολογία των κλήσεων συναρτήσεων περιγράφεται λεπτομερέστερα στην ενότητα :ref:`calls`. Μια κλήση συνάρτησης αναθέτει " +"πάντα τιμές σε όλες τις παραμέτρους που αναφέρονται στη λίστα παραμέτρων, είτε από ορίσματα θέσης, από ορίσματα λέξης-" +"κλειδιού, είτε από προεπιλεγμένες τιμές. Εάν η μορφή \"``*identifier``\" υπάρχει, αρχικοποιείται σε μία πλειάδα που " +"λαμβάνει τυχόν επιπλέον παραμέτρους θέσης, έχοντας ως προεπιλογή την κενή πλειάδα. Εάν η μορφή \"``**identifier``\" " +"υπάρχει, αρχικοποιείται σε μία νέα ταξινομημένη αντιστοίχιση που λαμβάνει τυχόν επιπλέον ορίσματα λέξης-κλειδιού, έχοντας " +"ως προεπιλογή μία νέα κενή αντιστοίχιση του ίδιου τύπου. Οι παράμετροι μετά το \"``*``\" ή το \"``*identifier``\" είναι " +"μόνο παράμετροι λέξης-κλειδιού και μπορούν να περαστούν μόνο από ορίσματα λέξης-κλειδιού. Οι παράμετροι πριν από το \"``/" +"``\" είναι μόνο παράμετροι θέσης και μπορούν να περαστούν μόνο από ορίσματα θέσης." #: reference/compound_stmts.rst:1335 msgid "" "The ``/`` function parameter syntax may be used to indicate positional-only " "parameters. See :pep:`570` for details." msgstr "" +"Η σύνταξη παραμέτρων συνάρτησης ``/`` μπορεί να χρησιμοποιηθεί για να υποδείξει μόνο παραμέτρους θέσης. Δείτε το :pep:`570` " +"για λεπτομέρειες." #: reference/compound_stmts.rst:1344 msgid "" @@ -1678,12 +2093,19 @@ msgid "" "does not change the semantics of a function. See :ref:`annotations` for more " "information on annotations." msgstr "" +"Οι παράμετροι μπορεί να έχουν ένα :term:`annotation ` της μορφής \"``: expression``\" μετά το όνομα " +"της παραμέτρου. Οποιαδήποτε παράμετρος μπορεί να έχει ένα annotation, ακόμα και αυτές της μορφής ``*identifier`` ή " +"``**identifier``. (Ως ειδική περίπτωση, οι παράμετροι της μορφής ``*identifier`` μπορεί να έχουν ένα annotation \"``: " +"*expression``\".) Οι συναρτήσεις μπορεί να έχουν \"return\" annotation της μορφής \"``-> expression``\" μετά τη λίστα " +"παραμέτρων. Αυτά τα annotations μπορούν να είναι οποιαδήποτε έγκυρη έκφραση της Python. Η παρουσία των annotations δεν " +"αλλάζει τη σημασιολογία μιας συνάρτησης. Δείτε το :ref:`annotations` για περισσότερες πληροφορίες." #: reference/compound_stmts.rst:1352 msgid "" "Parameters of the form \"``*identifier``\" may have an annotation \"``: " "*expression``\". See :pep:`646`." msgstr "" +"Οι παράμετροι της μορφής \"``*identifier``\" μπορεί να έχουν ένα annotation \"``: *expression``\". Δείτε το :pep:`646`." #: reference/compound_stmts.rst:1358 msgid "" @@ -1696,6 +2118,12 @@ msgid "" "keyword:`!def`\" form is actually more powerful since it allows the " "execution of multiple statements and annotations." msgstr "" +"Είναι επίσης δυνατό να δημιουργηθούν ανώνυμες συναρτήσεις (συναρτήσεις που δεν δεσμεύονται σε ένα όνομα), για άμεση χρήση " +"σε εκφράσεις. Αυτό χρησιμοποιεί εκφράσεις lambda, που περιγράφονται στην ενότητα :ref:`lambda`. Σημειώστε ότι η έκφραση " +"lambda είναι απλώς μια συντομογραφία για έναν απλοποιημένο ορισμό συνάρτησης· μια συνάρτηση που ορίζεται με την δήλωση " +"\":keyword:`def`\" μπορεί να περαστεί ή να ανατεθεί σε ένα άλλο όνομα ακριβώς όπως μια συνάρτηση που ορίζεται με μια " +"έκφραση lambda. Η μορφή \":keyword:`!def`\" είναι στην πραγματικότητα πιο ισχυρή αφού επιτρέπει την εκτέλεση πολλαπλών " +"εντολών και annotations." #: reference/compound_stmts.rst:1366 msgid "" @@ -1705,60 +2133,68 @@ msgid "" "function can access the local variables of the function containing the def. " "See section :ref:`naming` for details." msgstr "" +"**Σημείωση για προγραμματιστές/τριες:** Οι συναρτήσεις είναι first-class αντικείμενα. Μια δήλωση \"``def``\" που εκτελείται " +"μέσα σε έναν ορισμό συνάρτησης ορίζει μια τοπική συνάρτηση που μπορεί να επιστραφεί ή να περαστεί αλλου. Οι ελεύθερες " +"μεταβλητές που χρησιμοποιούνται στην εμφωλευμένη συνάρτηση έχουν πρόσβαση στις τοπικές μεταβλητές της συνάρτησης που " +"περιέχει το def. Δείτε την ενότητα :ref:`naming` για λεπτομέρειες." #: reference/compound_stmts.rst:1374 msgid ":pep:`3107` - Function Annotations" -msgstr "" +msgstr ":pep:`3107` - Annotations Συνάρτησης" #: reference/compound_stmts.rst:1375 msgid "The original specification for function annotations." -msgstr "" +msgstr "Οι αρχικές προδιαγραφές για τα annotations συνάρτησης." #: reference/compound_stmts.rst:1377 msgid ":pep:`484` - Type Hints" -msgstr "" +msgstr ":pep:`484` - Υποδείξεις Τύπου" #: reference/compound_stmts.rst:1378 msgid "Definition of a standard meaning for annotations: type hints." -msgstr "" +msgstr "Ορισμός ενός τυποποιημένου νοήματος για τα annotations: υποδείξεις τύπου." #: reference/compound_stmts.rst:1380 msgid ":pep:`526` - Syntax for Variable Annotations" -msgstr "" +msgstr ":pep:`526` - Σύνταξη για Annotations Μεταβλητών" #: reference/compound_stmts.rst:1381 msgid "" "Ability to type hint variable declarations, including class variables and " "instance variables." msgstr "" +"Δυνατότητα για υποδείξεις τύπου στις δηλώσεις μεταβλητών, συμπεριλαμβανομένων των μεταβλητών κλάσης και των μεταβλητών " +"στιγμιοτύπου." #: reference/compound_stmts.rst:1384 msgid ":pep:`563` - Postponed Evaluation of Annotations" -msgstr "" +msgstr ":pep:`563` - Αναβαλλόμενη Αξιολόγηση των Annotations" #: reference/compound_stmts.rst:1385 msgid "" "Support for forward references within annotations by preserving annotations " "in a string form at runtime instead of eager evaluation." msgstr "" +"Υποστήριξη για μελλοντική αναφορά μέσα στα annotations διατηρώντας τα annotations σε μορφή συμβολοσειράς κατά τον χρόνο " +"εκτέλεσης αντί για άμεση αξιολόγηση." #: reference/compound_stmts.rst:1388 msgid ":pep:`318` - Decorators for Functions and Methods" -msgstr "" +msgstr ":pep:`318` - Decorators για Συναρτήσεις και Μεθόδους" #: reference/compound_stmts.rst:1389 msgid "" "Function and method decorators were introduced. Class decorators were " "introduced in :pep:`3129`." -msgstr "" +msgstr "Εισήχθησαν οι decorators συναρτήσεων και μεθόδων. Οι decorators κλάσεων εισήχθησαν στο :pep:`3129`." #: reference/compound_stmts.rst:1395 msgid "Class definitions" -msgstr "" +msgstr "Ορισμοί κλάσεων" #: reference/compound_stmts.rst:1410 msgid "A class definition defines a class object (see section :ref:`types`):" -msgstr "" +msgstr "Ο ορισμός μιας κλάσης ορίζει ένα αντικείμενο κλάσης (δείτε την ενότητα :ref:`types`):" #: reference/compound_stmts.rst:1417 msgid "" @@ -1768,22 +2204,30 @@ msgid "" "allows subclassing. Classes without an inheritance list inherit, by " "default, from the base class :class:`object`; hence, ::" msgstr "" +"Ένας ορισμός κλάσης είναι μια εκτελέσιμη δήλωση. Η λίστα κληρονομικότητας συνήθως δίνει μια λίστα βασικών κλάσεων (δείτε " +"το :ref:`metaclasses` για πιο προχωρημένες χρήσεις), επομένως κάθε στοιχείο στη λίστα θα πρέπει να αξιολογείται σε ένα " +"αντικείμενο κλάσης που επιτρέπει τη δημιουργία υπο-κλάσεων. Οι κλάσεις χωρίς λίστα κληρονομικότητας κληρονομούν, εξ " +"ορισμού, από τη βασική κλάση :class:`object`· επομένως, το ::" #: reference/compound_stmts.rst:1423 msgid "" "class Foo:\n" " pass" msgstr "" +"class Foo:\n" +" pass" #: reference/compound_stmts.rst:1426 msgid "is equivalent to ::" -msgstr "" +msgstr "είναι ισοδύναμο με το ::" #: reference/compound_stmts.rst:1428 msgid "" "class Foo(object):\n" " pass" msgstr "" +"class Foo(object):\n" +" pass" #: reference/compound_stmts.rst:1431 msgid "" @@ -1796,6 +2240,12 @@ msgid "" "attribute dictionary. The class name is bound to this class object in the " "original local namespace." msgstr "" +"Η σουίτα της κλάσης στη συνέχεια εκτελείται σε ένα νέο πλαίσιο εκτέλεσης (δείτε το :ref:`naming`), χρησιμοποιώντας έναν " +"νεοδημιουργηθέντα τοπικό χώρο ονομάτων και τον αρχικό καθολικό χώρο ονομάτων. (Συνήθως, η σουίτα περιέχει κυρίως ορισμούς " +"συναρτήσεων.) Όταν η σουίτα της κλάσης ολοκληρώσει την εκτέλεσή της, το πλαίσιο εκτέλεσής της απορρίπτεται αλλά ο τοπικός " +"χώρος ονομάτων της σώζεται. [#]_ Ένα αντικείμενο κλάσης δημιουργείται στη συνέχεια χρησιμοποιώντας τη λίστα " +"κληρονομικότητας για τις βασικές κλάσεις και τον αποθηκευμένο τοπικό χώρο ονομάτων για το λεξικό των χαρακτηριστικών. Το " +"όνομα της κλάσης δεσμεύεται σε αυτό το αντικείμενο κλάσης στον αρχικό τοπικό χώρο ονομάτων." #: reference/compound_stmts.rst:1440 msgid "" @@ -1804,16 +2254,19 @@ msgid "" "right after the class is created and only for classes that were defined " "using the definition syntax." msgstr "" +"Η σειρά με την οποία ορίζονται τα χαρακτηριστικά στο σώμα της κλάσης διατηρείται στο :attr:`~type.__dict__` της νέας " +"κλάσης. Σημειώστε ότι αυτή είναι αξιόπιστη μόνο αμέσως μετά τη δημιουργία της κλάσης και μόνο για κλάσεις που ορίστηκαν " +"χρησιμοποιώντας τη σύνταξη ορισμού." #: reference/compound_stmts.rst:1445 msgid "" "Class creation can be customized heavily using :ref:`metaclasses " "`." -msgstr "" +msgstr "Η δημιουργία κλάσεων μπορεί να προσαρμοστεί εκτενώς χρησιμοποιώντας :ref:`metaclasses `." #: reference/compound_stmts.rst:1450 msgid "Classes can also be decorated: just like when decorating functions, ::" -msgstr "" +msgstr "Οι κλάσεις μπορούν επίσης να διακοσμηθούν: ακριβώς όπως με τους decorators συναρτήσεων, ::" #: reference/compound_stmts.rst:1452 msgid "" @@ -1821,18 +2274,25 @@ msgid "" "@f2\n" "class Foo: pass" msgstr "" +"@f1(arg)\n" +"@f2\n" +"class Foo: pass" #: reference/compound_stmts.rst:1458 msgid "" "class Foo: pass\n" "Foo = f1(arg)(f2(Foo))" msgstr "" +"class Foo: pass\n" +"Foo = f1(arg)(f2(Foo))" #: reference/compound_stmts.rst:1461 msgid "" "The evaluation rules for the decorator expressions are the same as for " "function decorators. The result is then bound to the class name." msgstr "" +"Οι κανόνες αξιολόγησης για τις εκφράσεις decorators είναι οι ίδιοι με αυτούς των decorators συναρτήσεων. Το αποτέλεσμα στη " +"συνέχεια δεσμεύεται στο όνομα της κλάσης." #: reference/compound_stmts.rst:1464 msgid "" @@ -1840,6 +2300,8 @@ msgid "" "assignment_expression`. Previously, the grammar was much more restrictive; " "see :pep:`614` for details." msgstr "" +"Οι κλάσεις μπορούν να διακοσμηθούν με οποιοδήποτε έγκυρο :token:`~python-grammar:assignment_expression`. Προηγουμένως, η " +"γραμματική ήταν πολύ πιο αυστηρή· δείτε το :pep:`614` για λεπτομέρειες." #: reference/compound_stmts.rst:1469 msgid "" @@ -1849,6 +2311,10 @@ msgid "" "retrieved from the class's :attr:`~type.__type_params__` attribute. See :ref:" "`generic-classes` for more." msgstr "" +"Μια λίστα από :ref:`παραμέτρους τύπου ` μπορεί να δοθεί σε αγκύλες αμέσως μετά το όνομα της κλάσης. Αυτό " +"υποδεικνύει στους ελέγχους στατικού τύπου ότι η κλάση είναι γενική. Κατά τον χρόνο εκτέλεσης, οι παράμετροι τύπου μπορούν " +"να ανακτηθούν από το χαρακτηριστικό :attr:`~type.__type_params__` της κλάσης. Δείτε το :ref:`generic-classes` για " +"περισσότερα." #: reference/compound_stmts.rst:1478 msgid "" @@ -1862,34 +2328,43 @@ msgid "" "` can be used to create instance variables with different " "implementation details." msgstr "" +"**Σημείωση για προγραμματιστές/τριες:** Οι μεταβλητές που ορίζονται στον ορισμό της κλάσης είναι χαρακτηριστικά κλάσης· " +"μοιράζονται μεταξύ των στιγμιοτύπων. Τα χαρακτηριστικά στιγμιοτύπου μπορούν να οριστούν σε μια μέθοδο με ``self.name = " +"value``. Τόσο χαρακτηριστικά κλάσης όσο και τα χαρακτηριστικά στιγμιοτύπου είναι προσβάσιμα μέσω της σημειογραφίας " +"\"``self.name``\", και ένα χαρακτηριστικό στιγμιοτύπου κρύβει ένα χαρακτηριστικό κλάσης με το ίδιο όνομα όταν η πρόσβαση " +"γίνεται με αυτόν τον τρόπο. Τα χαρακτηριστικά κλάσης μπορούν να χρησιμοποιηθούν ως προεπιλογές για τα χαρακτηριστικά " +"στιγμιοτύπου, αλλά η χρήση μεταβλητών τιμών μπορεί να οδηγήσει σε μη αναμενόμενα αποτελέσματα. Τα :ref:`Descriptors " +"` μπορούν να χρησιμοποιηθούν για τη δημιουργία μεταβλητών στιγμιοτύπου με διαφορετικές λεπτομέρειες υλοποίησης." #: reference/compound_stmts.rst:1490 msgid ":pep:`3115` - Metaclasses in Python 3000" -msgstr "" +msgstr ":pep:`3115` - Metaclasses στην Python 3000" #: reference/compound_stmts.rst:1491 msgid "" "The proposal that changed the declaration of metaclasses to the current " "syntax, and the semantics for how classes with metaclasses are constructed." msgstr "" +"Η πρόταση που άλλαξε τη δήλωση των metaclasses στην τρέχουσα σύνταξη, και τη σημασιολογία για τον τρόπο κατασκευής κλάσεων " +"με metaclasses." #: reference/compound_stmts.rst:1495 msgid ":pep:`3129` - Class Decorators" -msgstr "" +msgstr ":pep:`3129` - Decorators Κλάσεων" #: reference/compound_stmts.rst:1496 msgid "" "The proposal that added class decorators. Function and method decorators " "were introduced in :pep:`318`." -msgstr "" +msgstr "Η πρόταση που πρόσθεσε τους decorators κλάσεων. Οι decorators συναρτήσεων και μεθόδων είχαν εισαχθεί στο :pep:`318`." #: reference/compound_stmts.rst:1503 msgid "Coroutines" -msgstr "" +msgstr "Coroutines" #: reference/compound_stmts.rst:1511 msgid "Coroutine function definition" -msgstr "" +msgstr "Ορισμός συνάρτησης coroutine" #: reference/compound_stmts.rst:1521 msgid "" @@ -1898,22 +2373,27 @@ msgid "" "and :keyword:`async with` can only be used in the body of a coroutine " "function." msgstr "" +"Η εκτέλεση των Python coroutines μπορεί να ανασταλεί και να συνεχιστεί σε πολλά σημεία (δείτε το :term:`coroutine`). Οι " +"εκφράσεις :keyword:`await`, το :keyword:`async for` και το :keyword:`async with` μπορούν να χρησιμοποιηθούν μόνο στο σώμα " +"μιας συνάρτησης coroutine." #: reference/compound_stmts.rst:1525 msgid "" "Functions defined with ``async def`` syntax are always coroutine functions, " "even if they do not contain ``await`` or ``async`` keywords." msgstr "" +"Οι συναρτήσεις που ορίζονται με τη σύνταξη ``async def`` είναι πάντα συναρτήσεις coroutine, ακόμη και αν δεν περιέχουν τις " +"λέξεις-κλειδιά ``await`` ή ``async``." #: reference/compound_stmts.rst:1528 msgid "" "It is a :exc:`SyntaxError` to use a ``yield from`` expression inside the " "body of a coroutine function." -msgstr "" +msgstr "Προκαλείται :exc:`SyntaxError` αν χρησιμοποιηθεί μια έκφραση ``yield from`` μέσα στο σώμα μιας συνάρτησης coroutine." #: reference/compound_stmts.rst:1531 msgid "An example of a coroutine function::" -msgstr "" +msgstr "Ένα παράδειγμα συνάρτησης coroutine::" #: reference/compound_stmts.rst:1533 msgid "" @@ -1921,16 +2401,21 @@ msgid "" " do_stuff()\n" " await some_coroutine()" msgstr "" +"async def func(param1, param2):\n" +" do_stuff()\n" +" await some_coroutine()" #: reference/compound_stmts.rst:1537 msgid "" "``await`` and ``async`` are now keywords; previously they were only treated " "as such inside the body of a coroutine function." msgstr "" +"Το ``await`` και το ``async`` είναι πλέον λέξεις-κλειδιά· προηγουμένως αντιμετωπίζονταν ως τέτοια μόνο εντός του σώματος " +"μιας συνάρτησης coroutine." #: reference/compound_stmts.rst:1545 msgid "The :keyword:`!async for` statement" -msgstr "" +msgstr "Η δήλωση :keyword:`!async for`" #: reference/compound_stmts.rst:1550 msgid "" @@ -1938,12 +2423,14 @@ msgid "" "directly returns an :term:`asynchronous iterator`, which can call " "asynchronous code in its ``__anext__`` method." msgstr "" +"Ένα :term:`asynchronous iterable` παρέχει μια μέθοδο ``__aiter__`` η οποία επιστρέφει απευθείας έναν :term:`asynchronous " +"iterator`, ο οποίος μπορεί να καλέσει ασύγχρονο κώδικα στη μέθοδο ``__anext__`` του." #: reference/compound_stmts.rst:1554 msgid "" "The ``async for`` statement allows convenient iteration over asynchronous " "iterables." -msgstr "" +msgstr "Η δήλωση ``async for`` επιτρέπει τη βολική επανάληψη σε ασύγχρονα iterables." #: reference/compound_stmts.rst:1559 msgid "" @@ -1952,10 +2439,14 @@ msgid "" "else:\n" " SUITE2" msgstr "" +"async for TARGET in ITER:\n" +" SUITE\n" +"else:\n" +" SUITE2" #: reference/compound_stmts.rst:1564 msgid "Is semantically equivalent to::" -msgstr "" +msgstr "Είναι σημασιολογικά ισοδύναμο με το::" #: reference/compound_stmts.rst:1566 msgid "" @@ -1973,33 +2464,50 @@ msgid "" "else:\n" " SUITE2" msgstr "" +"iter = (ITER)\n" +"iter = type(iter).__aiter__(iter)\n" +"running = True\n" +"\n" +"while running:\n" +" try:\n" +" TARGET = await type(iter).__anext__(iter)\n" +" except StopAsyncIteration:\n" +" running = False\n" +" else:\n" +" SUITE\n" +"else:\n" +" SUITE2" #: reference/compound_stmts.rst:1580 msgid "" "See also :meth:`~object.__aiter__` and :meth:`~object.__anext__` for details." -msgstr "" +msgstr "Δείτε επίσης την :meth:`~object.__aiter__` και την :meth:`~object.__anext__` για λεπτομέρειες." #: reference/compound_stmts.rst:1582 msgid "" "It is a :exc:`SyntaxError` to use an ``async for`` statement outside the " "body of a coroutine function." -msgstr "" +msgstr "Προκαλείται :exc:`SyntaxError` αν χρησιμοποιηθεί μια δήλωση ``async for`` έξω από το σώμα μιας συνάρτησης coroutine." #: reference/compound_stmts.rst:1590 msgid "The :keyword:`!async with` statement" -msgstr "" +msgstr "Η δήλωση :keyword:`!async with`" #: reference/compound_stmts.rst:1595 msgid "" "An :term:`asynchronous context manager` is a :term:`context manager` that is " "able to suspend execution in its *enter* and *exit* methods." msgstr "" +"Ένας :term:`asynchronous context manager` είναι ένας :term:`context manager` που είναι ικανός να αναστείλει την εκτέλεση " +"στις μεθόδους του *enter* και *exit*." #: reference/compound_stmts.rst:1600 msgid "" "async with EXPRESSION as TARGET:\n" " SUITE" msgstr "" +"async with EXPRESSION as TARGET:\n" +" SUITE" #: reference/compound_stmts.rst:1605 msgid "" @@ -2020,36 +2528,52 @@ msgid "" " if not hit_except:\n" " await aexit(manager, None, None, None)" msgstr "" +"manager = (EXPRESSION)\n" +"aenter = type(manager).__aenter__\n" +"aexit = type(manager).__aexit__\n" +"value = await aenter(manager)\n" +"hit_except = False\n" +"\n" +"try:\n" +" TARGET = value\n" +" SUITE\n" +"except:\n" +" hit_except = True\n" +" if not await aexit(manager, *sys.exc_info()):\n" +" raise\n" +"finally:\n" +" if not hit_except:\n" +" await aexit(manager, None, None, None)" #: reference/compound_stmts.rst:1622 msgid "" "See also :meth:`~object.__aenter__` and :meth:`~object.__aexit__` for " "details." -msgstr "" +msgstr "Δείτε επίσης την :meth:`~object.__aenter__` και την :meth:`~object.__aexit__` για λεπτομέρειες." #: reference/compound_stmts.rst:1624 msgid "" "It is a :exc:`SyntaxError` to use an ``async with`` statement outside the " "body of a coroutine function." -msgstr "" +msgstr "Προκαλείται :exc:`SyntaxError` αν χρησιμοποιηθεί μια δήλωση ``async with`` έξω από το σώμα μιας συνάρτησης coroutine." #: reference/compound_stmts.rst:1629 msgid ":pep:`492` - Coroutines with async and await syntax" -msgstr "" +msgstr ":pep:`492` - Coroutines με σύνταξη async και await" #: reference/compound_stmts.rst:1630 msgid "" "The proposal that made coroutines a proper standalone concept in Python, and " "added supporting syntax." -msgstr "" +msgstr "Η πρόταση που έκανε τις coroutines μια σωστή, ανεξάρτητη έννοια στην Python, και πρόσθεσε την υποστηρικτική σύνταξη." #: reference/compound_stmts.rst:1636 msgid "Type parameter lists" -msgstr "" +msgstr "Λίστες παραμέτρων τύπου" #: reference/compound_stmts.rst:1640 msgid "Support for default values was added (see :pep:`696`)." -msgstr "" +msgstr "Προστέθηκε υποστήριξη για προεπιλεγμένες τιμές (δείτε το :pep:`696`)." #: reference/compound_stmts.rst:1653 msgid "" @@ -2057,6 +2581,8 @@ msgid "" "`classes ` and :ref:`type aliases ` may contain a type " "parameter list::" msgstr "" +"Οι :ref:`Συναρτήσεις ` (συμπεριλαμβανομένων των :ref:`coroutines `), οι :ref:`κλάσεις ` και " +"τα :ref:`ψευδώνυμα τύπων ` μπορούν να περιέχουν μια λίστα παραμέτρων τύπου::" #: reference/compound_stmts.rst:1657 msgid "" @@ -2075,6 +2601,20 @@ msgid "" "\n" "type ListOrSet[T] = list[T] | set[T]" msgstr "" +"def max[T](args: list[T]) -> T:\n" +" ...\n" +"\n" +"async def amax[T](args: list[T]) -> T:\n" +" ...\n" +"\n" +"class Bag[T]:\n" +" def __iter__(self) -> Iterator[T]:\n" +" ...\n" +"\n" +" def add(self, arg: T) -> None:\n" +" ...\n" +"\n" +"type ListOrSet[T] = list[T] | set[T]" #: reference/compound_stmts.rst:1672 msgid "" @@ -2083,6 +2623,9 @@ msgid "" "type checkers, and at runtime, generic objects behave much like their non-" "generic counterparts." msgstr "" +"Σημασιολογικά, αυτό υποδηλώνει ότι η συνάρτηση, η κλάση ή το ψευδώνυμο τύπου είναι γενικά ως προς μια μεταβλητή τύπου. Αυτή " +"η πληροφορία χρησιμοποιείται κυρίως από τους ελεγκτές στατικού τύπου, και κατά τον χρόνο εκτέλεσης, τα γενικά αντικείμενα " +"συμπεριφέρονται σχεδόν όπως τα αντίστοιχα μη γενικά." #: reference/compound_stmts.rst:1677 msgid "" @@ -2095,22 +2638,32 @@ msgid "" "function (technically, an :ref:`annotation scope `) that " "wraps the creation of the generic object." msgstr "" +"Οι παράμετροι τύπου δηλώνονται μέσα σε αγκύλες (``[]``) αμέσως μετά το όνομα της συνάρτησης, κλάσης ή του ψευδωνύμου τύπου. " +"Οι παράμετροι τύπου είναι προσβάσιμες εντός της εμβέλειας του γενικού αντικειμένου, αλλά όχι αλλού. Επομένως, μετά από μια " +"δήλωση ``def func[T](): pass``, το όνομα ``T`` δεν είναι διαθέσιμο στο εύρος του module. Παρακάτω, η σημασιολογία των " +"γενικών αντικειμένων περιγράφεται με μεγαλύτερη ακρίβεια. Το εύρος των παραμέτρων τύπου μοντελοποιείται με μια ειδική " +"συνάρτηση (τεχνικά, ένα :ref:`annotation scope `) η οποία περιτυλίγει τη δημιουργία του γενικού " +"αντικειμένου." #: reference/compound_stmts.rst:1686 msgid "" "Generic functions, classes, and type aliases have a :attr:`~definition." "__type_params__` attribute listing their type parameters." msgstr "" +"Οι γενικές συναρτήσεις, κλάσεις και τα ψευδώνυμα τύπων έχουν ένα χαρακτηριστικό :attr:`~definition.__type_params__` που " +"παραθέτει τις παραμέτρους του τύπου τους." #: reference/compound_stmts.rst:1689 msgid "Type parameters come in three kinds:" -msgstr "" +msgstr "Οι παράμετροι τύπου διακρίνονται σε τρία είδη:" #: reference/compound_stmts.rst:1691 msgid "" ":data:`typing.TypeVar`, introduced by a plain name (e.g., ``T``). " "Semantically, this represents a single type to a type checker." msgstr "" +"Το :data:`typing.TypeVar`, που εισάγεται από ένα απλό όνομα (π.χ. ``T``). Σημασιολογικά, αναπαριστά έναν μόνο τύπο σε έναν " +"ελεγκτή τύπου." #: reference/compound_stmts.rst:1693 msgid "" @@ -2118,12 +2671,16 @@ msgid "" "asterisk (e.g., ``*Ts``). Semantically, this stands for a tuple of any " "number of types." msgstr "" +"Το :data:`typing.TypeVarTuple`, που εισάγεται από ένα όνομα με πρόθεμα έναν απλό αστερίσκο (π.χ. ``*Ts``). Σημασιολογικά, " +"αντιπροσωπεύει μία πλειάδα οποιουδήποτε αριθμού τύπων." #: reference/compound_stmts.rst:1696 msgid "" ":data:`typing.ParamSpec`, introduced by a name prefixed with two asterisks " "(e.g., ``**P``). Semantically, this stands for the parameters of a callable." msgstr "" +"Το :data:`typing.ParamSpec`, που εισάγεται από ένα όνομα με πρόθεμα δύο αστερίσκους (π.χ. ``**P``). Σημασιολογικά, " +"αντιπροσωπεύει τις παραμέτρους ενός callable." #: reference/compound_stmts.rst:1699 msgid "" @@ -2136,6 +2693,12 @@ msgid "" "should be a type (again, this is not enforced at runtime). Constrained type " "variables can only take on one of the types in the list of constraints." msgstr "" +"Οι δηλώσεις του :data:`typing.TypeVar` μπορούν να ορίσουν *bounds* και *constraints* με άνω και κάτω τελεία (``:``) " +"ακολουθούμενη από μια έκφραση. Μία μεμονωμένη έκφραση μετά την άνω και κάτω τελεία υποδεικνύει ένα bound (π.χ. ``T: int``). " +"Σημασιολογικά, αυτό σημαίνει ότι το :data:`!typing.TypeVar` μπορεί να αναπαριστά μόνο τύπους που είναι υπότυπος αυτού του " +"bound. Μία παρενθετική πλειάδα εκφράσεων μετά την άνω και κάτω τελεία υποδεικνύει ένα σύνολο από constraints (π.χ. ``T: " +"(str, bytes)``). Κάθε μέλος της πλειάδας θα πρέπει να είναι ένας τύπος (και πάλι, αυτό δεν επιβάλλεται κατά τον χρόνο " +"εκτέλεσης). Οι constraint μεταβλητές τύπου μπορούν να λάβουν μόνο έναν από τους τύπους στη λίστα των constraints." #: reference/compound_stmts.rst:1708 msgid "" @@ -2146,12 +2709,16 @@ msgid "" "bounds or constraints are evaluated in a separate :ref:`annotation scope " "`." msgstr "" +"Για τα :data:`!typing.TypeVar` που δηλώνονται χρησιμοποιώντας τη σύνταξη λίστας παραμέτρων τύπου, τα bound και constraints " +"δεν αξιολογούνται όταν το γενικό αντικείμενο δημιουργείται, παρά μόνο όταν πραγματοποιείται ρητή πρόσβαση στην τιμή μέσω " +"των χαρακτηριστικών ``__bound__`` και ``__constraints__``. Για να επιτευχθεί αυτό, τα bounds ή constraints αξιολογούνται σε " +"ένα ξεχωριστό :ref:`annotation scope `." #: reference/compound_stmts.rst:1714 msgid "" ":data:`typing.TypeVarTuple`\\ s and :data:`typing.ParamSpec`\\ s cannot have " "bounds or constraints." -msgstr "" +msgstr "Τα :data:`typing.TypeVarTuple` και τα :data:`typing.ParamSpec` δεν μπορούν να έχουν bounds ή constraints." #: reference/compound_stmts.rst:1717 msgid "" @@ -2165,12 +2732,19 @@ msgid "" "default value is specified for a type parameter, the ``__default__`` " "attribute is set to the special sentinel object :data:`typing.NoDefault`." msgstr "" +"Και τα τρία είδη παραμέτρων τύπου μπορούν επίσης να έχουν μια *προεπιλεγμένη τιμή*, η οποία χρησιμοποιείται όταν η " +"παράμετρος τύπου δεν παρέχεται ρητά. Αυτό προστίθεται προσαρτώντας ένα απλό σύμβολο ίσον (``=``) ακολουθούμενο από μια " +"έκφραση. Όπως τα bounds και τα constraints των μεταβλητών τύπου, η προεπιλεγμένη τιμή δεν αξιολογείται κατά τη δημιουργία " +"του αντικειμένου, παρά μόνο κατά την πρόσβαση στο χαρακτηριστικό ``__default__`` της παραμέτρου τύπου. Για τον σκοπό αυτό, " +"η προεπιλεγμένη τιμή αξιολογείται σε ένα ξεχωριστό :ref:`annotation scope `. Εάν δεν καθοριστεί " +"προεπιλεγμένη τιμή για μια παράμετρο τύπου, το χαρακτηριστικό ``__default__`` ορίζεται στο ειδικό αντικείμενο " +"φρουρό :data:`typing.NoDefault`." #: reference/compound_stmts.rst:1727 msgid "" "The following example indicates the full set of allowed type parameter " "declarations::" -msgstr "" +msgstr "Το ακόλουθο παράδειγμα υποδεικνύει το πλήρες σύνολο των επιτρεπόμενων δηλώσεων παραμέτρων τύπου::" #: reference/compound_stmts.rst:1729 msgid "" @@ -2189,22 +2763,36 @@ msgid "" " *e: SimpleTypeVarTuple,\n" "): ..." msgstr "" +"def overly_generic[\n" +" SimpleTypeVar,\n" +" TypeVarWithDefault = int,\n" +" TypeVarWithBound: int,\n" +" TypeVarWithConstraints: (str, bytes),\n" +" *SimpleTypeVarTuple = (int, float),\n" +" **SimpleParamSpec = (str, bytearray),\n" +"](\n" +" a: SimpleTypeVar,\n" +" b: TypeVarWithDefault,\n" +" c: TypeVarWithBound,\n" +" d: Callable[SimpleParamSpec, TypeVarWithConstraints],\n" +" *e: SimpleTypeVarTuple,\n" +"): ..." #: reference/compound_stmts.rst:1747 msgid "Generic functions" -msgstr "" +msgstr "Γενικές συναρτήσεις" #: reference/compound_stmts.rst:1749 msgid "Generic functions are declared as follows::" -msgstr "" +msgstr "Οι γενικές συναρτήσεις δηλώνονται ως εξής::" #: reference/compound_stmts.rst:1751 msgid "def func[T](arg: T): ..." -msgstr "" +msgstr "def func[T](arg: T): ..." #: reference/compound_stmts.rst:1753 reference/compound_stmts.rst:1813 msgid "This syntax is equivalent to::" -msgstr "" +msgstr "Αυτή η σύνταξη είναι ισοδύναμη με το::" #: reference/compound_stmts.rst:1755 msgid "" @@ -2215,6 +2803,12 @@ msgid "" " return func\n" "func = TYPE_PARAMS_OF_func()" msgstr "" +"annotation-def TYPE_PARAMS_OF_func():\n" +" T = typing.TypeVar(\"T\")\n" +" def func(arg: T): ...\n" +" func.__type_params__ = (T,)\n" +" return func\n" +"func = TYPE_PARAMS_OF_func()" #: reference/compound_stmts.rst:1762 msgid "" @@ -2224,6 +2818,10 @@ msgid "" "attribute access on the :mod:`typing` module, but creates an instance of :" "data:`typing.TypeVar` directly.)" msgstr "" +"Εδώ το ``annotation-def`` υποδηλώνει ένα :ref:`annotation scope `, το οποίο δεν δεσμεύεται στην " +"πραγματικότητα σε κανένα όνομα κατά τον χρόνο εκτέλεσης. (Έχει ληφθεί άλλη μία ελευθερία στη μετάφραση: η σύνταξη δεν περνά " +"μέσω της πρόσβασης σε χαρακτηριστικό πάνω στο :mod:`typing` module, αλλά δημιουργεί απευθείας ένα στιγμιότυπο " +"της :data:`typing.TypeVar`.)" #: reference/compound_stmts.rst:1768 msgid "" @@ -2231,12 +2829,16 @@ msgid "" "scope used for declaring the type parameters, but the function's defaults " "and decorators are not." msgstr "" +"Τα annotations των γενικών συναρτήσεων αξιολογούνται εντός του εύρους του annotation που χρησιμοποιείται για τη δήλωση των " +"παραμέτρων τύπου, αλλά οι προεπιλογές και οι decorators της συνάρτησης όχι." #: reference/compound_stmts.rst:1772 msgid "" "The following example illustrates the scoping rules for these cases, as well " "as for additional flavors of type parameters::" msgstr "" +"Το ακόλουθο παράδειγμα απεικονίζει τους κανόνες εμβέλειας για αυτές τις περιπτώσεις, καθώς και για επιπρόσθετα είδη " +"παραμέτρων τύπου::" #: reference/compound_stmts.rst:1775 msgid "" @@ -2244,12 +2846,16 @@ msgid "" "def func[T: int, *Ts, **P](*args: *Ts, arg: Callable[P, T] = some_default):\n" " ..." msgstr "" +"@decorator\n" +"def func[T: int, *Ts, **P](*args: *Ts, arg: Callable[P, T] = some_default):\n" +" ..." #: reference/compound_stmts.rst:1779 msgid "" "Except for the :ref:`lazy evaluation ` of the :class:" "`~typing.TypeVar` bound, this is equivalent to::" msgstr "" +"Εκτός από το :ref:`lazy evaluation ` του :class:`~typing.TypeVar` bound, αυτό είναι ισοδύναμο με το::" #: reference/compound_stmts.rst:1782 msgid "" @@ -2272,24 +2878,42 @@ msgid "" " return func\n" "func = decorator(TYPE_PARAMS_OF_func())" msgstr "" +"DEFAULT_OF_arg = some_default\n" +"\n" +"annotation-def TYPE_PARAMS_OF_func():\n" +"\n" +" annotation-def BOUND_OF_T():\n" +" return int\n" +" # In reality, BOUND_OF_T() is evaluated only on demand.\n" +" T = typing.TypeVar(\"T\", bound=BOUND_OF_T())\n" +"\n" +" Ts = typing.TypeVarTuple(\"Ts\")\n" +" P = typing.ParamSpec(\"P\")\n" +"\n" +" def func(*args: *Ts, arg: Callable[P, T] = DEFAULT_OF_arg):\n" +" ...\n" +"\n" +" func.__type_params__ = (T, Ts, P)\n" +" return func\n" +"func = decorator(TYPE_PARAMS_OF_func())" #: reference/compound_stmts.rst:1801 msgid "" "The capitalized names like ``DEFAULT_OF_arg`` are not actually bound at " "runtime." -msgstr "" +msgstr "Τα κεφαλαιοποιημένα ονόματα όπως το ``DEFAULT_OF_arg`` δεν δεσμεύονται στην πραγματικότητα κατά τον χρόνο εκτέλεσης." #: reference/compound_stmts.rst:1807 msgid "Generic classes" -msgstr "" +msgstr "Γενικές κλάσεις" #: reference/compound_stmts.rst:1809 msgid "Generic classes are declared as follows::" -msgstr "" +msgstr "Οι γενικές κλάσεις δηλώνονται ως εξής::" #: reference/compound_stmts.rst:1811 msgid "class Bag[T]: ..." -msgstr "" +msgstr "class Bag[T]: ..." #: reference/compound_stmts.rst:1815 msgid "" @@ -2301,6 +2925,13 @@ msgid "" " return Bag\n" "Bag = TYPE_PARAMS_OF_Bag()" msgstr "" +"annotation-def TYPE_PARAMS_OF_Bag():\n" +" T = typing.TypeVar(\"T\")\n" +" class Bag(typing.Generic[T]):\n" +" __type_params__ = (T,)\n" +" ...\n" +" return Bag\n" +"Bag = TYPE_PARAMS_OF_Bag()" #: reference/compound_stmts.rst:1823 msgid "" @@ -2308,6 +2939,8 @@ msgid "" "`annotation scope `, and the name ``TYPE_PARAMS_OF_Bag`` " "is not actually bound at runtime." msgstr "" +"Εδώ πάλι το ``annotation-def`` (δεν είναι πραγματική λέξη-κλειδί) υποδεικνύει ένα :ref:`annotation scope `, και το όνομα ``TYPE_PARAMS_OF_Bag`` δεν δεσμεύεται στην πραγματικότητα κατά τον χρόνο εκτέλεσης." #: reference/compound_stmts.rst:1827 msgid "" @@ -2316,16 +2949,21 @@ msgid "" "type scope for the type parameters, and decorators are evaluated outside " "that scope. This is illustrated by this example::" msgstr "" +"Οι γενικές κλάσεις κληρονομούν σιωπηρά την :data:`typing.Generic`. Οι βασικές κλάσεις και τα ορίσματα λέξης-κλειδιού των " +"γενικών κλάσεων αξιολογούνται εντός του εύρους του τύπου για τις παραμέτρους τύπου, και οι decorators αξιολογούνται έξω από " +"αυτό το εύρος. Αυτό απεικονίζεται από αυτό το παράδειγμα::" #: reference/compound_stmts.rst:1833 msgid "" "@decorator\n" "class Bag(Base[T], arg=T): ..." msgstr "" +"@decorator\n" +"class Bag(Base[T], arg=T): ..." #: reference/compound_stmts.rst:1836 msgid "This is equivalent to::" -msgstr "" +msgstr "Αυτό είναι ισοδύναμο με το::" #: reference/compound_stmts.rst:1838 msgid "" @@ -2337,26 +2975,33 @@ msgid "" " return Bag\n" "Bag = decorator(TYPE_PARAMS_OF_Bag())" msgstr "" +"annotation-def TYPE_PARAMS_OF_Bag():\n" +" T = typing.TypeVar(\"T\")\n" +" class Bag(Base[T], typing.Generic[T], arg=T):\n" +" __type_params__ = (T,)\n" +" ...\n" +" return Bag\n" +"Bag = decorator(TYPE_PARAMS_OF_Bag())" #: reference/compound_stmts.rst:1849 msgid "Generic type aliases" -msgstr "" +msgstr "Ψευδώνυμα γενικού τύπου" #: reference/compound_stmts.rst:1851 msgid "" "The :keyword:`type` statement can also be used to create a generic type " "alias::" -msgstr "" +msgstr "Η δήλωση :keyword:`type` μπορεί επίσης να χρησιμοποιηθεί για τη δημιουργία ενός ψευδωνύμου γενικού τύπου::" #: reference/compound_stmts.rst:1853 msgid "type ListOrSet[T] = list[T] | set[T]" -msgstr "" +msgstr "type ListOrSet[T] = list[T] | set[T]" #: reference/compound_stmts.rst:1855 msgid "" "Except for the :ref:`lazy evaluation ` of the value, this " "is equivalent to::" -msgstr "" +msgstr "Με εξαίρεση το :ref:`lazy evaluation ` της τιμής, αυτό είναι ισοδύναμο με το::" #: reference/compound_stmts.rst:1858 msgid "" @@ -2370,6 +3015,15 @@ msgid "" "type_params=(T,))\n" "ListOrSet = TYPE_PARAMS_OF_ListOrSet()" msgstr "" +"annotation-def TYPE_PARAMS_OF_ListOrSet():\n" +" T = typing.TypeVar(\"T\")\n" +"\n" +" annotation-def VALUE_OF_ListOrSet():\n" +" return list[T] | set[T]\n" +" # In reality, the value is lazily evaluated\n" +" return typing.TypeAliasType(\"ListOrSet\", VALUE_OF_ListOrSet(), " +"type_params=(T,))\n" +"ListOrSet = TYPE_PARAMS_OF_ListOrSet()" #: reference/compound_stmts.rst:1867 msgid "" @@ -2377,14 +3031,17 @@ msgid "" "scope `. The capitalized names like " "``TYPE_PARAMS_OF_ListOrSet`` are not actually bound at runtime." msgstr "" +"Εδώ, το ``annotation-def`` (δεν είναι πραγματική λέξη-κλειδί) υποδεικνύει ένα :ref:`annotation scope `. " +"Τα κεφαλαιοποιημένα ονόματα όπως το ``TYPE_PARAMS_OF_ListOrSet`` δεν δεσμεύονται στην πραγματικότητα κατά τον χρόνο " +"εκτέλεσης." #: reference/compound_stmts.rst:1874 msgid "Annotations" -msgstr "" +msgstr "Annotations" #: reference/compound_stmts.rst:1876 msgid "Annotations are now lazily evaluated by default." -msgstr "" +msgstr "Τα annotations πλέον αξιολογούνται νωχελικά από προεπιλογή." #: reference/compound_stmts.rst:1879 msgid "" @@ -2392,20 +3049,24 @@ msgid "" "`, created by adding a colon after the name, followed by an " "expression::" msgstr "" +"Οι μεταβλητές και οι παράμετροι συναρτήσεων μπορούν να φέρουν :term:`annotations `, που δημιουργούνται " +"προσθέτοντας άνω και κάτω τελεία μετά το όνομα, ακολουθούμενη από μια έκφραση::" #: reference/compound_stmts.rst:1882 msgid "" "x: annotation = 1\n" "def f(param: annotation): ..." msgstr "" +"x: annotation = 1\n" +"def f(param: annotation): ..." #: reference/compound_stmts.rst:1885 msgid "Functions may also carry a return annotation following an arrow::" -msgstr "" +msgstr "Οι συναρτήσεις μπορούν επίσης να φέρουν ένα annotation επιστροφής ακολουθώντας ένα βέλος::" #: reference/compound_stmts.rst:1887 msgid "def f() -> annotation: ..." -msgstr "" +msgstr "def f() -> annotation: ..." #: reference/compound_stmts.rst:1889 msgid "" @@ -2416,6 +3077,10 @@ msgid "" "introspects and uses the annotations (such as :mod:`dataclasses` or :func:" "`functools.singledispatch`)." msgstr "" +"Τα annotations χρησιμοποιούνται συμβατικά για :term:`type hints `, αλλά αυτό δεν επιβάλλεται από τη γλώσσα, και " +"γενικά τα annotations μπορούν να περιέχουν αυθαίρετες εκφράσεις. Η παρουσία των annotations δεν αλλάζει τη σημασιολογία " +"εκτέλεσης του κώδικα, εκτός εάν χρησιμοποιείται κάποιος μηχανισμός που επιθεωρεί και χρησιμοποιεί τα annotations (όπως " +"οι :mod:`dataclasses` ή η :func:`functools.singledispatch`)." #: reference/compound_stmts.rst:1895 msgid "" @@ -2425,12 +3090,18 @@ msgid "" "information that can be used to evaluate the annotation later if requested. " "The :mod:`annotationlib` module provides tools for evaluating annotations." msgstr "" +"Από προεπιλογή, τα annotations αξιολογούνται νωχελικά σε ένα :ref:`annotation scope `. Αυτό σημαίνει ότι " +"δεν αξιολογούνται όταν αξιολογείται ο κώδικας που περιέχει το annotation. Αντίθετα, ο διερμηνέας αποθηκεύει πληροφορίες που " +"μπορούν να χρησιμοποιηθούν για να αξιολογηθεί το annotation αργότερα, εάν ζητηθεί. Το module :mod:`annotationlib` παρέχει " +"εργαλεία για την αξιολόγηση των annotations." #: reference/compound_stmts.rst:1900 msgid "" "If the :ref:`future statement ` ``from __future__ import " "annotations`` is present, all annotations are instead stored as strings::" msgstr "" +"Εάν η :ref:`μελλοντική δήλωση ` ``from __future__ import annotations`` είναι παρούσα, όλα τα annotations " +"αποθηκεύονται αντί αυτού ως συμβολοσειρές::" #: reference/compound_stmts.rst:1903 msgid "" @@ -2439,6 +3110,10 @@ msgid "" ">>> f.__annotations__\n" "{'param': 'annotation'}" msgstr "" +">>> from __future__ import annotations\n" +">>> def f(param: annotation): ...\n" +">>> f.__annotations__\n" +"{'param': 'annotation'}" #: reference/compound_stmts.rst:1908 msgid "" @@ -2448,10 +3123,14 @@ msgid "" "get_annotations` and :func:`typing.get_type_hints` are less likely to be " "able to resolve annotations at runtime." msgstr "" +"Αυτή η μελλοντική δήλωση θα θεωρηθεί απαρχαιωμένη και θα αφαιρεθεί σε μια μελλοντική έκδοση της Python, αλλά όχι προτού η " +"Python 3.13 φτάσει στο τέλος της ζωής της (δείτε το :pep:`749`). Όταν χρησιμοποιείται, τα εργαλεία ενδοσκόπησης όπως " +"η :func:`annotationlib.get_annotations` και η :func:`typing.get_type_hints` είναι λιγότερο πιθανό να μπορούν να επιλύσουν " +"annotations κατά τον χρόνο εκτέλεσης." #: reference/compound_stmts.rst:1916 msgid "Footnotes" -msgstr "" +msgstr "Υποσημειώσεις" #: reference/compound_stmts.rst:1917 msgid "" @@ -2459,78 +3138,80 @@ msgid "" "keyword:`finally` clause which happens to raise another exception. That new " "exception causes the old one to be lost." msgstr "" +"Η εξαίρεση διαδίδεται στη στοίβα κλήσεων εκτός εάν υπάρχει μία ρήτρα :keyword:`finally` η οποία τυχαίνει να κάνει raise μια " +"άλλη εξαίρεση. Αυτή η νέα εξαίρεση προκαλεί την απώλεια της παλιάς." #: reference/compound_stmts.rst:1921 msgid "In pattern matching, a sequence is defined as one of the following:" -msgstr "" +msgstr "Στο ταίριασμα μοτίβων, μια ακολουθία ορίζεται ως ένα από τα ακόλουθα:" #: reference/compound_stmts.rst:1923 msgid "a class that inherits from :class:`collections.abc.Sequence`" -msgstr "" +msgstr "μια κλάση που κληρονομεί από την :class:`collections.abc.Sequence`" #: reference/compound_stmts.rst:1924 msgid "" "a Python class that has been registered as :class:`collections.abc.Sequence`" -msgstr "" +msgstr "μια Python κλάση που έχει εγγραφεί ως :class:`collections.abc.Sequence`" #: reference/compound_stmts.rst:1925 msgid "" "a builtin class that has its (CPython) :c:macro:`Py_TPFLAGS_SEQUENCE` bit set" -msgstr "" +msgstr "μια ενσωματωμένη κλάση που έχει το :c:macro:`Py_TPFLAGS_SEQUENCE` bit της ρυθμισμένο (στην CPython)" #: reference/compound_stmts.rst:1926 reference/compound_stmts.rst:1945 msgid "a class that inherits from any of the above" -msgstr "" +msgstr "μια κλάση που κληρονομεί οποιοδήποτε από τα παραπάνω" #: reference/compound_stmts.rst:1928 msgid "The following standard library classes are sequences:" -msgstr "" +msgstr "Οι ακόλουθες κλάσεις της τυπικής βιβλιοθήκης είναι ακολουθίες:" #: reference/compound_stmts.rst:1930 msgid ":class:`array.array`" -msgstr "" +msgstr ":class:`array.array`" #: reference/compound_stmts.rst:1931 msgid ":class:`collections.deque`" -msgstr "" +msgstr ":class:`collections.deque`" #: reference/compound_stmts.rst:1933 msgid ":class:`memoryview`" -msgstr "" +msgstr ":class:`memoryview`" #: reference/compound_stmts.rst:1934 msgid ":class:`range`" -msgstr "" +msgstr ":class:`range`" #: reference/compound_stmts.rst:1937 msgid "" "Subject values of type ``str``, ``bytes``, and ``bytearray`` do not match " "sequence patterns." -msgstr "" +msgstr "Τιμές θέματος τύπου ``str``, ``bytes``, και ``bytearray`` δεν ταιριάζουν με μοτίβα ακολουθίας." #: reference/compound_stmts.rst:1940 msgid "In pattern matching, a mapping is defined as one of the following:" -msgstr "" +msgstr "Στο ταίριασμα μοτίβων, μία αντιστοίχιση ορίζεται ως ένα από τα ακόλουθα:" #: reference/compound_stmts.rst:1942 msgid "a class that inherits from :class:`collections.abc.Mapping`" -msgstr "" +msgstr "μια κλάση που κληρονομεί την :class:`collections.abc.Mapping`" #: reference/compound_stmts.rst:1943 msgid "" "a Python class that has been registered as :class:`collections.abc.Mapping`" -msgstr "" +msgstr "μια Python κλάση που έχει εγγραφεί ως :class:`collections.abc.Mapping`" #: reference/compound_stmts.rst:1944 msgid "" "a builtin class that has its (CPython) :c:macro:`Py_TPFLAGS_MAPPING` bit set" -msgstr "" +msgstr "μια ενσωματωμένη κλάση που έχει το :c:macro:`Py_TPFLAGS_MAPPING` bit της ρυθμισμένο (στην CPython)" #: reference/compound_stmts.rst:1947 msgid "" "The standard library classes :class:`dict` and :class:`types." "MappingProxyType` are mappings." -msgstr "" +msgstr "Οι κλάσεις :class:`dict` και :class:`types.MappingProxyType` της τυπικής βιβλιοθήκης είναι αντιστοιχίσεις." #: reference/compound_stmts.rst:1950 msgid "" @@ -2538,6 +3219,8 @@ msgid "" "transformed into the function's :attr:`~function.__doc__` attribute and " "therefore the function's :term:`docstring`." msgstr "" +"Ένα λεκτικό συμβολοσειράς που εμφανίζεται ως η πρώτη δήλωση στο σώμα μιας συνάρτησης μετατρέπεται στο " +"χαρακτηριστικό :attr:`~function.__doc__` της συνάρτησης και κατά συνέπεια στο :term:`docstring` της συνάρτησης." #: reference/compound_stmts.rst:1954 msgid "" @@ -2545,10 +3228,12 @@ msgid "" "transformed into the namespace's :attr:`~type.__doc__` item and therefore " "the class's :term:`docstring`." msgstr "" +"Ένα λεκτικό συμβολοσειράς που εμφανίζεται ως η πρώτη δήλωση στο σώμα μιας κλάσης μετατρέπεται στο " +"στοιχείο :attr:`~type.__doc__` του χώρου ονομάτων και κατά συνέπεια στο :term:`docstring` της κλάσης." #: reference/compound_stmts.rst:7 msgid "compound" -msgstr "" +msgstr "σύνθετο" #: reference/compound_stmts.rst:86 reference/compound_stmts.rst:111 #: reference/compound_stmts.rst:129 reference/compound_stmts.rst:144 @@ -2559,41 +3244,41 @@ msgstr "" #: reference/compound_stmts.rst:1507 reference/compound_stmts.rst:1541 #: reference/compound_stmts.rst:1586 msgid "statement" -msgstr "" +msgstr "δήλωση" #: reference/compound_stmts.rst:21 msgid "clause" -msgstr "" +msgstr "ρήτρα" #: reference/compound_stmts.rst:21 msgid "suite" -msgstr "" +msgstr "σουίτα" #: reference/compound_stmts.rst:21 msgid "; (semicolon)" -msgstr "" +msgstr "; (ερωτηματικό)" #: reference/compound_stmts.rst:64 msgid "NEWLINE token" -msgstr "" +msgstr "NEWLINE token" #: reference/compound_stmts.rst:64 msgid "DEDENT token" -msgstr "" +msgstr "DEDENT token" #: reference/compound_stmts.rst:64 msgid "dangling" -msgstr "" +msgstr "εκκρεμές" #: reference/compound_stmts.rst:64 reference/compound_stmts.rst:86 #: reference/compound_stmts.rst:111 reference/compound_stmts.rst:144 #: reference/compound_stmts.rst:207 reference/compound_stmts.rst:397 msgid "else" -msgstr "" +msgstr "else" #: reference/compound_stmts.rst:86 reference/compound_stmts.rst:602 msgid "if" -msgstr "" +msgstr "if" #: reference/compound_stmts.rst:86 reference/compound_stmts.rst:111 #: reference/compound_stmts.rst:144 reference/compound_stmts.rst:207 @@ -2601,11 +3286,11 @@ msgstr "" #: reference/compound_stmts.rst:415 reference/compound_stmts.rst:484 #: reference/compound_stmts.rst:602 reference/compound_stmts.rst:1517 msgid "keyword" -msgstr "" +msgstr "λέξη-κλειδί" #: reference/compound_stmts.rst:86 msgid "elif" -msgstr "" +msgstr "elif" #: reference/compound_stmts.rst:86 reference/compound_stmts.rst:111 #: reference/compound_stmts.rst:144 reference/compound_stmts.rst:207 @@ -2613,298 +3298,298 @@ msgstr "" #: reference/compound_stmts.rst:1209 reference/compound_stmts.rst:1339 #: reference/compound_stmts.rst:1397 msgid ": (colon)" -msgstr "" +msgstr ": (άνω και κάτω τελεία)" #: reference/compound_stmts.rst:86 reference/compound_stmts.rst:111 #: reference/compound_stmts.rst:144 reference/compound_stmts.rst:207 #: reference/compound_stmts.rst:484 reference/compound_stmts.rst:602 #: reference/compound_stmts.rst:1209 reference/compound_stmts.rst:1397 msgid "compound statement" -msgstr "" +msgstr "σύνθετη δήλωση" #: reference/compound_stmts.rst:111 msgid "while" -msgstr "" +msgstr "while" #: reference/compound_stmts.rst:111 reference/compound_stmts.rst:144 msgid "loop" -msgstr "" +msgstr "βρόχος" #: reference/compound_stmts.rst:129 reference/compound_stmts.rst:169 #: reference/compound_stmts.rst:397 reference/compound_stmts.rst:446 msgid "break" -msgstr "" +msgstr "break" #: reference/compound_stmts.rst:129 reference/compound_stmts.rst:169 #: reference/compound_stmts.rst:397 reference/compound_stmts.rst:446 msgid "continue" -msgstr "" +msgstr "continue" #: reference/compound_stmts.rst:144 msgid "for" -msgstr "" +msgstr "for" #: reference/compound_stmts.rst:144 msgid "in" -msgstr "" +msgstr "in" #: reference/compound_stmts.rst:144 msgid "target" -msgstr "" +msgstr "στόχος" #: reference/compound_stmts.rst:144 msgid "list" -msgstr "" +msgstr "λίστα" #: reference/compound_stmts.rst:144 reference/compound_stmts.rst:301 #: reference/compound_stmts.rst:1209 reference/compound_stmts.rst:1397 msgid "object" -msgstr "" +msgstr "αντικείμενο" #: reference/compound_stmts.rst:144 msgid "sequence" -msgstr "" +msgstr "ακολουθία" #: reference/compound_stmts.rst:190 msgid "built-in function" -msgstr "" +msgstr "ενσωματωμένη συνάρτηση" #: reference/compound_stmts.rst:190 msgid "range" -msgstr "" +msgstr "εύρος" #: reference/compound_stmts.rst:207 msgid "try" -msgstr "" +msgstr "try" #: reference/compound_stmts.rst:207 msgid "except" -msgstr "" +msgstr "except" #: reference/compound_stmts.rst:207 reference/compound_stmts.rst:415 msgid "finally" -msgstr "" +msgstr "finally" #: reference/compound_stmts.rst:207 reference/compound_stmts.rst:268 #: reference/compound_stmts.rst:484 reference/compound_stmts.rst:602 msgid "as" -msgstr "" +msgstr "as" #: reference/compound_stmts.rst:268 msgid "except clause" -msgstr "" +msgstr "ρήτρα εξαίρεσης" #: reference/compound_stmts.rst:301 msgid "module" -msgstr "" +msgstr "module" #: reference/compound_stmts.rst:301 msgid "sys" -msgstr "" +msgstr "sys" #: reference/compound_stmts.rst:301 msgid "traceback" -msgstr "" +msgstr "ιχνηλάτηση" #: reference/compound_stmts.rst:330 msgid "except_star" -msgstr "" +msgstr "except_star" #: reference/compound_stmts.rst:397 reference/compound_stmts.rst:446 msgid "return" -msgstr "" +msgstr "return" #: reference/compound_stmts.rst:484 msgid "with" -msgstr "" +msgstr "with" #: reference/compound_stmts.rst:484 msgid "with statement" -msgstr "" +msgstr "δήλωση with" #: reference/compound_stmts.rst:484 reference/compound_stmts.rst:1209 #: reference/compound_stmts.rst:1397 msgid ", (comma)" -msgstr "" +msgstr ", (κόμμα)" #: reference/compound_stmts.rst:602 msgid "match" -msgstr "" +msgstr "ταίριασμα" #: reference/compound_stmts.rst:602 msgid "case" -msgstr "" +msgstr "case" #: reference/compound_stmts.rst:602 msgid "pattern matching" -msgstr "" +msgstr "ταίριασμα μοτίβου" #: reference/compound_stmts.rst:602 msgid "match statement" -msgstr "" +msgstr "δήλωση match" #: reference/compound_stmts.rst:706 msgid "guard" -msgstr "" +msgstr "guard" #: reference/compound_stmts.rst:745 msgid "irrefutable case block" -msgstr "" +msgstr "αδιάσειστο case μπλοκ" #: reference/compound_stmts.rst:745 msgid "case block" -msgstr "" +msgstr "case μπλοκ" #: reference/compound_stmts.rst:769 msgid "! patterns" -msgstr "" +msgstr "! μοτίβα" #: reference/compound_stmts.rst:769 msgid "AS pattern, OR pattern, capture pattern, wildcard pattern" -msgstr "" +msgstr "AS μοτίβο, OR μοτίβο, μοτίβο δέσμευσης, μοτίβο μπαλαντέρ" #: reference/compound_stmts.rst:1200 reference/compound_stmts.rst:1289 msgid "parameter" -msgstr "" +msgstr "παράμετρος" #: reference/compound_stmts.rst:1200 reference/compound_stmts.rst:1209 #: reference/compound_stmts.rst:1253 reference/compound_stmts.rst:1289 #: reference/compound_stmts.rst:1318 msgid "function definition" -msgstr "" +msgstr "ορισμός συνάρτησης" #: reference/compound_stmts.rst:1209 msgid "def" -msgstr "" +msgstr "def" #: reference/compound_stmts.rst:1209 reference/compound_stmts.rst:1339 msgid "function" -msgstr "" +msgstr "συνάρτηση" #: reference/compound_stmts.rst:1209 reference/compound_stmts.rst:1397 msgid "definition" -msgstr "" +msgstr "ορισμός" #: reference/compound_stmts.rst:1209 reference/compound_stmts.rst:1397 msgid "name" -msgstr "" +msgstr "όνομα" #: reference/compound_stmts.rst:1209 reference/compound_stmts.rst:1397 msgid "binding" -msgstr "" +msgstr "δέσμευση" #: reference/compound_stmts.rst:1209 msgid "user-defined function" -msgstr "" +msgstr "συνάρτηση ορισμένη από τον χρήστη" #: reference/compound_stmts.rst:1209 reference/compound_stmts.rst:1397 msgid "() (parentheses)" -msgstr "" +msgstr "() (παρενθέσεις)" #: reference/compound_stmts.rst:1209 msgid "parameter list" -msgstr "" +msgstr "λίστα παραμέτρων" #: reference/compound_stmts.rst:1253 reference/compound_stmts.rst:1447 msgid "@ (at)" -msgstr "" +msgstr "@ (at)" #: reference/compound_stmts.rst:1289 msgid "default" -msgstr "" +msgstr "προεπιλογή" #: reference/compound_stmts.rst:1289 msgid "value" -msgstr "" +msgstr "τιμή" #: reference/compound_stmts.rst:1289 msgid "argument" -msgstr "" +msgstr "όρισμα" #: reference/compound_stmts.rst:1289 msgid "= (equals)" -msgstr "" +msgstr "= (ίσον)" #: reference/compound_stmts.rst:1318 msgid "/ (slash)" -msgstr "" +msgstr "/ (κάθετος)" #: reference/compound_stmts.rst:1318 msgid "* (asterisk)" -msgstr "" +msgstr "* (αστερίσκος)" #: reference/compound_stmts.rst:1318 msgid "**" -msgstr "" +msgstr "**" #: reference/compound_stmts.rst:1339 msgid "annotations" -msgstr "" +msgstr "annotations" #: reference/compound_stmts.rst:1339 msgid "->" -msgstr "" +msgstr "->" #: reference/compound_stmts.rst:1339 msgid "function annotations" -msgstr "" +msgstr "annotations συνάρτησης" #: reference/compound_stmts.rst:1356 msgid "lambda" -msgstr "" +msgstr "lambda" #: reference/compound_stmts.rst:1356 msgid "expression" -msgstr "" +msgstr "έκφραση" #: reference/compound_stmts.rst:1397 msgid "class" -msgstr "" +msgstr "κλάση" #: reference/compound_stmts.rst:1397 msgid "execution" -msgstr "" +msgstr "εκτέλεση" #: reference/compound_stmts.rst:1397 msgid "frame" -msgstr "" +msgstr "πλαίσιο" #: reference/compound_stmts.rst:1397 msgid "inheritance" -msgstr "" +msgstr "κληρονομικότητα" #: reference/compound_stmts.rst:1397 msgid "docstring" -msgstr "" +msgstr "docstring" #: reference/compound_stmts.rst:1397 reference/compound_stmts.rst:1447 msgid "class definition" -msgstr "" +msgstr "ορισμός κλάσης" #: reference/compound_stmts.rst:1397 msgid "expression list" -msgstr "" +msgstr "λίστα εκφράσεων" #: reference/compound_stmts.rst:1507 msgid "async def" -msgstr "" +msgstr "async def" #: reference/compound_stmts.rst:1517 msgid "async" -msgstr "" +msgstr "async" #: reference/compound_stmts.rst:1517 msgid "await" -msgstr "" +msgstr "await" #: reference/compound_stmts.rst:1541 msgid "async for" -msgstr "" +msgstr "async for" #: reference/compound_stmts.rst:1586 msgid "async with" -msgstr "" +msgstr "async with" #: reference/compound_stmts.rst:1643 msgid "type parameters" -msgstr "" +msgstr "παράμετροι τύπου" From 25d162fb4fa1f3d70922927d6a2aeaeb2d525e57 Mon Sep 17 00:00:00 2001 From: vadal Date: Sat, 7 Mar 2026 01:19:25 +0200 Subject: [PATCH 2/9] add translation for reference/compound_stmts.po --- reference/compound_stmts.po | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/reference/compound_stmts.po b/reference/compound_stmts.po index e9d1b92d..b4ce74ff 100644 --- a/reference/compound_stmts.po +++ b/reference/compound_stmts.po @@ -939,8 +939,7 @@ msgstr "Πιθανή δέσμευση ταιριασμένων τιμών σε #: reference/compound_stmts.rst:635 msgid "" -"Possible binding of matched values to a name. The prerequisites for this " -"are further discussed below." +"The ``match`` and ``case`` keywords are :ref:`soft keywords `." msgstr "Οι λέξεις-κλειδιά ``match`` και ``case`` είναι :ref:`soft keywords `." #: reference/compound_stmts.rst:639 reference/compound_stmts.rst:1196 From ad07ed6013aad352edb6553215a53e614a3f6a06 Mon Sep 17 00:00:00 2001 From: "pre-commit-ci-lite[bot]" <117423508+pre-commit-ci-lite[bot]@users.noreply.github.com> Date: Fri, 6 Mar 2026 23:21:58 +0000 Subject: [PATCH 3/9] [pre-commit.ci lite] apply automatic fixes --- reference/compound_stmts.po | 1398 ++++++++++++++++++++++------------- 1 file changed, 885 insertions(+), 513 deletions(-) diff --git a/reference/compound_stmts.po b/reference/compound_stmts.po index b4ce74ff..eff43a9d 100644 --- a/reference/compound_stmts.po +++ b/reference/compound_stmts.po @@ -28,9 +28,10 @@ msgid "" "compound statements span multiple lines, although in simple incarnations a " "whole compound statement may be contained in one line." msgstr "" -"Οι σύνθετες εντολές περιέχουν (ομάδες από) άλλες εντολές· επηρεάζουν ή ελέγχουν την εκτέλεση αυτών των άλλων εντολών με " -"κάποιο τρόπο. Γενικά, οι σύνθετες εντολές εκτείνονται σε πολλαπλές γραμμές, αν και σε απλές μορφές μια ολόκληρη σύνθετη " -"δήλωση μπορεί να περιέχεται σε μία γραμμή." +"Οι σύνθετες εντολές περιέχουν (ομάδες από) άλλες εντολές· επηρεάζουν ή " +"ελέγχουν την εκτέλεση αυτών των άλλων εντολών με κάποιο τρόπο. Γενικά, οι " +"σύνθετες εντολές εκτείνονται σε πολλαπλές γραμμές, αν και σε απλές μορφές " +"μια ολόκληρη σύνθετη δήλωση μπορεί να περιέχεται σε μία γραμμή." #: reference/compound_stmts.rst:14 msgid "" @@ -41,10 +42,12 @@ msgid "" "code around a block of code. Function and class definitions are also " "syntactically compound statements." msgstr "" -"Οι εντολές :keyword:`if`, :keyword:`while` και :keyword:`for` υλοποιούν παραδοσιακές δομές ροής ελέγχου. Η " -":keyword:`try` καθορίζει χειριστές εξαιρέσεων ή/και κώδικα εκκαθάρισης για μια ομάδα εντολών, ενώ η " -"δήλωση :keyword:`with` επιτρέπει την εκτέλεση κώδικα αρχικοποίησης και οριστικοποίησης γύρω από ένα μπλοκ κώδικα. Οι " -"ορισμοί συναρτήσεων και κλάσεων είναι επίσης συντακτικά σύνθετες εντολές." +"Οι εντολές :keyword:`if`, :keyword:`while` και :keyword:`for` υλοποιούν " +"παραδοσιακές δομές ροής ελέγχου. Η :keyword:`try` καθορίζει χειριστές " +"εξαιρέσεων ή/και κώδικα εκκαθάρισης για μια ομάδα εντολών, ενώ η δήλωση :" +"keyword:`with` επιτρέπει την εκτέλεση κώδικα αρχικοποίησης και " +"οριστικοποίησης γύρω από ένα μπλοκ κώδικα. Οι ορισμοί συναρτήσεων και " +"κλάσεων είναι επίσης συντακτικά σύνθετες εντολές." #: reference/compound_stmts.rst:26 msgid "" @@ -60,13 +63,18 @@ msgid "" "clear to which :keyword:`if` clause a following :keyword:`else` clause would " "belong::" msgstr "" -"Μια σύνθετη δήλωση αποτελείται από μία ή περισσότερες ‘ρήτρες’. Μία ρήτρα αποτελείται από μια κεφαλίδα και μία ‘σουίτα’. Οι " -"κεφαλίδες των ρητρών μιας συγκεκριμένης σύνθετης εντολής βρίσκονται όλες στο ίδιο επίπεδο εσοχής. Κάθε κεφαλίδα της ρήτρας " -"ξεκινά με μια μοναδική λέξη-κλειδί αναγνώρισης και καταλήγει σε άνω και κάτω τελεία. Μία σουίτα είναι μια ομάδα εντολών που " -"ελέγχονται από μία ρήτρα. Μία σουίτα μπορεί να είναι μία ή περισσότερες απλές εντολές χωρισμένες με ερωτηματικό στην ίδια " -"γραμμή με την κεφαλίδα, ακολουθώντας την άνω και κάτω τελεία της κεφαλίδας, ή μπορεί να είναι μία ή περισσότερες εντολές με " -"εσοχή σε επόμενες γραμμές. Μόνο η δεύτερη μορφή μιας σουίτες μπορεί να περιέχει εμφωλευμένες σύνθετες εντολές· το ακόλουθο " -"δεν είναι έγκυρο, κυρίως επειδή δεν θα ήταν σαφές σε ποια ρήτρα :keyword:`if` θα ανήκε μία ακόλουθη ρήτρα :keyword:`else`::" +"Μια σύνθετη δήλωση αποτελείται από μία ή περισσότερες ‘ρήτρες’. Μία ρήτρα " +"αποτελείται από μια κεφαλίδα και μία ‘σουίτα’. Οι κεφαλίδες των ρητρών μιας " +"συγκεκριμένης σύνθετης εντολής βρίσκονται όλες στο ίδιο επίπεδο εσοχής. Κάθε " +"κεφαλίδα της ρήτρας ξεκινά με μια μοναδική λέξη-κλειδί αναγνώρισης και " +"καταλήγει σε άνω και κάτω τελεία. Μία σουίτα είναι μια ομάδα εντολών που " +"ελέγχονται από μία ρήτρα. Μία σουίτα μπορεί να είναι μία ή περισσότερες " +"απλές εντολές χωρισμένες με ερωτηματικό στην ίδια γραμμή με την κεφαλίδα, " +"ακολουθώντας την άνω και κάτω τελεία της κεφαλίδας, ή μπορεί να είναι μία ή " +"περισσότερες εντολές με εσοχή σε επόμενες γραμμές. Μόνο η δεύτερη μορφή μιας " +"σουίτες μπορεί να περιέχει εμφωλευμένες σύνθετες εντολές· το ακόλουθο δεν " +"είναι έγκυρο, κυρίως επειδή δεν θα ήταν σαφές σε ποια ρήτρα :keyword:`if` θα " +"ανήκε μία ακόλουθη ρήτρα :keyword:`else`::" #: reference/compound_stmts.rst:37 msgid "if test1: if test2: print(x)" @@ -78,8 +86,9 @@ msgid "" "so that in the following example, either all or none of the :func:`print` " "calls are executed::" msgstr "" -"Σημειώστε επίσης ότι το ερωτηματικό έχει ισχυρότερη προτεραιότητα από την άνω και κάτω τελεία σε αυτό το πλαίσιο, οπότε στο " -"ακόλουθο παράδειγμα, εκτελούνται είτε όλες είτε καμία από τις κλήσεις της :func:`print`::" +"Σημειώστε επίσης ότι το ερωτηματικό έχει ισχυρότερη προτεραιότητα από την " +"άνω και κάτω τελεία σε αυτό το πλαίσιο, οπότε στο ακόλουθο παράδειγμα, " +"εκτελούνται είτε όλες είτε καμία από τις κλήσεις της :func:`print`::" #: reference/compound_stmts.rst:43 msgid "if x < y < z: print(x); print(y); print(z)" @@ -97,9 +106,11 @@ msgid "" "'dangling :keyword:`else`' problem is solved in Python by requiring nested :" "keyword:`if` statements to be indented)." msgstr "" -"Σημειώστε ότι οι εντολές τελειώνουν πάντα με ένα ``NEWLINE`` πιθανώς ακολουθούμενο από ένα ``DEDENT``. Σημειώστε επίσης ότι " -"οι προαιρετικές ρήτρες συνέχειας ξεκινούν πάντα με μια λέξη-κλειδί που δεν μπορεί να ξεκινήσει μια δήλωση, επομένως δεν " -"υπάρχουν ασάφειες (το πρόβλημα του 'εκκρεμούς :keyword:`else`' λύνεται στην Python απαιτώντας οι εμφωλευμένες " +"Σημειώστε ότι οι εντολές τελειώνουν πάντα με ένα ``NEWLINE`` πιθανώς " +"ακολουθούμενο από ένα ``DEDENT``. Σημειώστε επίσης ότι οι προαιρετικές " +"ρήτρες συνέχειας ξεκινούν πάντα με μια λέξη-κλειδί που δεν μπορεί να " +"ξεκινήσει μια δήλωση, επομένως δεν υπάρχουν ασάφειες (το πρόβλημα του " +"'εκκρεμούς :keyword:`else`' λύνεται στην Python απαιτώντας οι εμφωλευμένες " "εντολές :keyword:`if` να έχουν εσοχή)." #: reference/compound_stmts.rst:75 @@ -107,7 +118,8 @@ msgid "" "The formatting of the grammar rules in the following sections places each " "clause on a separate line for clarity." msgstr "" -"Η μορφοποίηση των γραμματικών κανόνων στις ακόλουθες ενότητες τοποθετεί κάθε ρήτρα σε ξεχωριστή γραμμή για λόγους σαφήνειας." +"Η μορφοποίηση των γραμματικών κανόνων στις ακόλουθες ενότητες τοποθετεί κάθε " +"ρήτρα σε ξεχωριστή γραμμή για λόγους σαφήνειας." #: reference/compound_stmts.rst:84 msgid "The :keyword:`!if` statement" @@ -126,10 +138,12 @@ msgid "" "expressions are false, the suite of the :keyword:`else` clause, if present, " "is executed." msgstr "" -"Επιλέγει ακριβώς μία από τις σουίτες αξιολογώντας τις εκφράσεις μία προς μία μέχρι να βρεθεί μία που να είναι αληθής (δείτε " -"την ενότητα :ref:`booleans` για τον ορισμό του αληθούς και του ψευδούς)· στη συνέχεια εκτελείται αυτή η σουίτα (και κανένα " -"άλλο μέρος της εντολής :keyword:`if` δεν εκτελείται ή αξιολογείται). Εάν όλες οι εκφράσεις είναι ψευδείς, εκτελείται η " -"σουίτα της ρήτρας :keyword:`else`, εάν υπάρχει." +"Επιλέγει ακριβώς μία από τις σουίτες αξιολογώντας τις εκφράσεις μία προς μία " +"μέχρι να βρεθεί μία που να είναι αληθής (δείτε την ενότητα :ref:`booleans` " +"για τον ορισμό του αληθούς και του ψευδούς)· στη συνέχεια εκτελείται αυτή η " +"σουίτα (και κανένα άλλο μέρος της εντολής :keyword:`if` δεν εκτελείται ή " +"αξιολογείται). Εάν όλες οι εκφράσεις είναι ψευδείς, εκτελείται η σουίτα της " +"ρήτρας :keyword:`else`, εάν υπάρχει." #: reference/compound_stmts.rst:109 msgid "The :keyword:`!while` statement" @@ -139,7 +153,9 @@ msgstr "Η δήλωση :keyword:`!while`" msgid "" "The :keyword:`while` statement is used for repeated execution as long as an " "expression is true:" -msgstr "Η δήλωση :keyword:`while` χρησιμοποιείται για επαναλαμβανόμενη εκτέλεση εφόσον μια έκφραση είναι αληθής:" +msgstr "" +"Η δήλωση :keyword:`while` χρησιμοποιείται για επαναλαμβανόμενη εκτέλεση " +"εφόσον μια έκφραση είναι αληθής:" #: reference/compound_stmts.rst:124 msgid "" @@ -148,9 +164,10 @@ msgid "" "the suite of the :keyword:`!else` clause, if present, is executed and the " "loop terminates." msgstr "" -"Ελέγχει επανειλημμένα την έκφραση και, εάν είναι αληθής, εκτελεί την πρώτη σουίτα· εάν η έκφραση είναι ψευδής (το οποίο " -"μπορεί να συμβεί την πρώτη φορά που ελέγχεται) εκτελείται η σουίτα της ρήτρας :keyword:`!else`, εάν υπάρχει, και ο βρόχος " -"τερματίζεται." +"Ελέγχει επανειλημμένα την έκφραση και, εάν είναι αληθής, εκτελεί την πρώτη " +"σουίτα· εάν η έκφραση είναι ψευδής (το οποίο μπορεί να συμβεί την πρώτη φορά " +"που ελέγχεται) εκτελείται η σουίτα της ρήτρας :keyword:`!else`, εάν υπάρχει, " +"και ο βρόχος τερματίζεται." #: reference/compound_stmts.rst:133 msgid "" @@ -159,9 +176,10 @@ msgid "" "`continue` statement executed in the first suite skips the rest of the suite " "and goes back to testing the expression." msgstr "" -"Μια δήλωση :keyword:`break` που εκτελείται στην πρώτη σουίτα τερματίζει τον βρόχο χωρίς να εκτελέσει τη σουίτα της " -"ρήτρας :keyword:`!else`. Μια δήλωση :keyword:`continue` που εκτελείται στην πρώτη σουίτα παραλείπει το υπόλοιπο της σουίτας " -"και επιστρέφει στον έλεγχο της έκφρασης." +"Μια δήλωση :keyword:`break` που εκτελείται στην πρώτη σουίτα τερματίζει τον " +"βρόχο χωρίς να εκτελέσει τη σουίτα της ρήτρας :keyword:`!else`. Μια δήλωση :" +"keyword:`continue` που εκτελείται στην πρώτη σουίτα παραλείπει το υπόλοιπο " +"της σουίτας και επιστρέφει στον έλεγχο της έκφρασης." #: reference/compound_stmts.rst:142 msgid "The :keyword:`!for` statement" @@ -172,8 +190,9 @@ msgid "" "The :keyword:`for` statement is used to iterate over the elements of a " "sequence (such as a string, tuple or list) or other iterable object:" msgstr "" -"Η δήλωση :keyword:`for` χρησιμοποιείται για την επανάληψη στα στοιχεία μιας ακολουθίας (όπως ένα αλφαριθμητικό, μία πλειάδα " -"ή μία λίστα) ή άλλου iterable αντικειμένου:" +"Η δήλωση :keyword:`for` χρησιμοποιείται για την επανάληψη στα στοιχεία μιας " +"ακολουθίας (όπως ένα αλφαριθμητικό, μία πλειάδα ή μία λίστα) ή άλλου " +"iterable αντικειμένου:" #: reference/compound_stmts.rst:160 msgid "" @@ -185,11 +204,15 @@ msgid "" "provided by the iterator. When the iterator is exhausted, the suite in the :" "keyword:`!else` clause, if present, is executed, and the loop terminates." msgstr "" -"Η έκφραση :token:`~python-grammar:starred_expression_list` αξιολογείται μία φορά· θα πρέπει να αποφέρει ένα " -"αντικείμενο :term:`iterable`. Ένας :term:`iterator` δημιουργείται για αυτό το iterable. Το πρώτο στοιχείο που παρέχεται από " -"τον iterator ανατίθεται στη συνέχεια στη λίστα-στόχο χρησιμοποιώντας τους τυπικούς κανόνες για αναθέσεις (δείτε " -"το :ref:`assignment`), και η σουίτα εκτελείται. Αυτό επαναλαμβάνεται για κάθε στοιχείο που παρέχεται από τον iterator. Όταν " -"ο iterator εξαντληθεί, εκτελείται η σουίτα στη ρήτρα :keyword:`!else`, εάν υπάρχει, και ο βρόχος τερματίζεται." +"Η έκφραση :token:`~python-grammar:starred_expression_list` αξιολογείται μία " +"φορά· θα πρέπει να αποφέρει ένα αντικείμενο :term:`iterable`. Ένας :term:" +"`iterator` δημιουργείται για αυτό το iterable. Το πρώτο στοιχείο που " +"παρέχεται από τον iterator ανατίθεται στη συνέχεια στη λίστα-στόχο " +"χρησιμοποιώντας τους τυπικούς κανόνες για αναθέσεις (δείτε το :ref:" +"`assignment`), και η σουίτα εκτελείται. Αυτό επαναλαμβάνεται για κάθε " +"στοιχείο που παρέχεται από τον iterator. Όταν ο iterator εξαντληθεί, " +"εκτελείται η σουίτα στη ρήτρα :keyword:`!else`, εάν υπάρχει, και ο βρόχος " +"τερματίζεται." #: reference/compound_stmts.rst:173 msgid "" @@ -199,9 +222,11 @@ msgid "" "and continues with the next item, or with the :keyword:`!else` clause if " "there is no next item." msgstr "" -"Μια δήλωση :keyword:`break` που εκτελείται στην πρώτη σουίτα τερματίζει τον βρόχο χωρίς να εκτελέσει τη σουίτα της " -"ρήτρας :keyword:`!else`. Μια δήλωση :keyword:`continue` που εκτελείται στην πρώτη σουίτα παραλείπει το υπόλοιπο της σουίτας " -"και συνεχίζει με το επόμενο στοιχείο, ή με τη ρήτρα :keyword:`!else` εάν δεν υπάρχει επόμενο στοιχείο." +"Μια δήλωση :keyword:`break` που εκτελείται στην πρώτη σουίτα τερματίζει τον " +"βρόχο χωρίς να εκτελέσει τη σουίτα της ρήτρας :keyword:`!else`. Μια δήλωση :" +"keyword:`continue` που εκτελείται στην πρώτη σουίτα παραλείπει το υπόλοιπο " +"της σουίτας και συνεχίζει με το επόμενο στοιχείο, ή με τη ρήτρα :keyword:`!" +"else` εάν δεν υπάρχει επόμενο στοιχείο." #: reference/compound_stmts.rst:179 msgid "" @@ -209,8 +234,9 @@ msgid "" "overwrites all previous assignments to those variables including those made " "in the suite of the for-loop::" msgstr "" -"Ο βρόχος for κάνει αναθέσεις στις μεταβλητές της λίστας στόχου. Αυτό αντικαθιστά όλες τις προηγούμενες αναθέσεις σε αυτές " -"τις μεταβλητές συμπεριλαμβανομένων αυτών που έγιναν στη σουίτα του βρόχου for::" +"Ο βρόχος for κάνει αναθέσεις στις μεταβλητές της λίστας στόχου. Αυτό " +"αντικαθιστά όλες τις προηγούμενες αναθέσεις σε αυτές τις μεταβλητές " +"συμπεριλαμβανομένων αυτών που έγιναν στη σουίτα του βρόχου for::" #: reference/compound_stmts.rst:183 msgid "" @@ -234,9 +260,11 @@ msgid "" "sequences of integers. For instance, iterating ``range(3)`` successively " "yields 0, 1, and then 2." msgstr "" -"Τα ονόματα στη λίστα-στόχο δεν διαγράφονται όταν τελειώσει ο βρόχος, αλλά εάν η ακολουθία είναι κενή, δεν θα τους έχει " -"γίνει καμία ανάθεση από τον βρόχο. Υπόδειξη: ο ενσωματωμένος τύπος :func:`range` αναπαριστά αμετάβλητες αριθμητικές " -"ακολουθίες ακεραίων. Για παράδειγμα, η επανάληψη του ``range(3)`` διαδοχικά αποφέρει 0, 1, και έπειτα 2." +"Τα ονόματα στη λίστα-στόχο δεν διαγράφονται όταν τελειώσει ο βρόχος, αλλά " +"εάν η ακολουθία είναι κενή, δεν θα τους έχει γίνει καμία ανάθεση από τον " +"βρόχο. Υπόδειξη: ο ενσωματωμένος τύπος :func:`range` αναπαριστά αμετάβλητες " +"αριθμητικές ακολουθίες ακεραίων. Για παράδειγμα, η επανάληψη του " +"``range(3)`` διαδοχικά αποφέρει 0, 1, και έπειτα 2." #: reference/compound_stmts.rst:198 msgid "Starred elements are now allowed in the expression list." @@ -250,7 +278,9 @@ msgstr "Η δήλωση :keyword:`!try`" msgid "" "The :keyword:`!try` statement specifies exception handlers and/or cleanup " "code for a group of statements:" -msgstr "Η δήλωση :keyword:`!try` καθορίζει χειριστές εξαιρέσεων ή/και κώδικα εκκαθάρισης για μια ομάδα εντολών:" +msgstr "" +"Η δήλωση :keyword:`!try` καθορίζει χειριστές εξαιρέσεων ή/και κώδικα " +"εκκαθάρισης για μια ομάδα εντολών:" #: reference/compound_stmts.rst:231 msgid "" @@ -258,16 +288,18 @@ msgid "" "`exceptions`, and information on using the :keyword:`raise` statement to " "generate exceptions may be found in section :ref:`raise`." msgstr "" -"Πρόσθετες πληροφορίες σχετικά με τις εξαιρέσεις μπορούν να βρεθούν στην ενότητα :ref:`exceptions`, και πληροφορίες σχετικά " -"με τη χρήση της εντολής :keyword:`raise` για τη δημιουργία εξαιρέσεων μπορούν να βρεθούν στην ενότητα :ref:`raise`." +"Πρόσθετες πληροφορίες σχετικά με τις εξαιρέσεις μπορούν να βρεθούν στην " +"ενότητα :ref:`exceptions`, και πληροφορίες σχετικά με τη χρήση της εντολής :" +"keyword:`raise` για τη δημιουργία εξαιρέσεων μπορούν να βρεθούν στην " +"ενότητα :ref:`raise`." #: reference/compound_stmts.rst:235 msgid "" "Support for optionally dropping grouping parentheses when using multiple " "exception types. See :pep:`758`." msgstr "" -"Υποστήριξη για προαιρετική αφαίρεση των παρενθέσεων ομαδοποίησης όταν χρησιμοποιούνται πολλαπλοί τύποι εξαιρέσεων. Δείτε " -"το :pep:`758`." +"Υποστήριξη για προαιρετική αφαίρεση των παρενθέσεων ομαδοποίησης όταν " +"χρησιμοποιούνται πολλαπλοί τύποι εξαιρέσεων. Δείτε το :pep:`758`." #: reference/compound_stmts.rst:241 msgid ":keyword:`!except` clause" @@ -283,11 +315,14 @@ msgid "" "expression-less :keyword:`!except` clause, if present, must be last; it " "matches any exception." msgstr "" -"Οι ρήτρες :keyword:`!except` καθορίζουν έναν ή περισσότερους χειριστές εξαιρέσεων. Όταν δεν προκύπτει καμία εξαίρεση στη " -"ρήτρα :keyword:`try`, κανένας χειριστής εξαίρεσης δεν εκτελείται. Όταν προκύψει μια εξαίρεση στη σουίτα του :keyword:`!" -"try`, ξεκινά μια αναζήτηση για χειριστή εξαίρεσης. Αυτή η αναζήτηση εξετάζει τις ρήτρες :keyword:`!except` με τη σειρά " -"μέχρι να βρεθεί μία που ταιριάζει με την εξαίρεση. Μία ρήτρα :keyword:`!except` χωρίς έκφραση, εάν υπάρχει, πρέπει να είναι " -"τελευταία· ταιριάζει με οποιαδήποτε εξαίρεση." +"Οι ρήτρες :keyword:`!except` καθορίζουν έναν ή περισσότερους χειριστές " +"εξαιρέσεων. Όταν δεν προκύπτει καμία εξαίρεση στη ρήτρα :keyword:`try`, " +"κανένας χειριστής εξαίρεσης δεν εκτελείται. Όταν προκύψει μια εξαίρεση στη " +"σουίτα του :keyword:`!try`, ξεκινά μια αναζήτηση για χειριστή εξαίρεσης. " +"Αυτή η αναζήτηση εξετάζει τις ρήτρες :keyword:`!except` με τη σειρά μέχρι να " +"βρεθεί μία που ταιριάζει με την εξαίρεση. Μία ρήτρα :keyword:`!except` χωρίς " +"έκφραση, εάν υπάρχει, πρέπει να είναι τελευταία· ταιριάζει με οποιαδήποτε " +"εξαίρεση." #: reference/compound_stmts.rst:251 msgid "" @@ -299,11 +334,14 @@ msgid "" "` of the exception object, or to a tuple that contains " "such a class." msgstr "" -"Για μία ρήτρα :keyword:`!except` με μια έκφραση, η έκφραση πρέπει να αξιολογείται σε έναν τύπο εξαίρεσης ή σε μία πλειάδα " -"τύπων εξαιρέσεων. Οι παρενθέσεις μπορούν να παραλειφθούν εάν παρέχονται πολλαπλοί τύποι εξαιρέσεων και η ρήτρα ``as`` δεν " -"χρησιμοποιείται. Η εξαίρεση που έγινε raise ταιριάζει με μία ρήτρα :keyword:`!except` του οποίου η έκφραση αξιολογείται " -"στην κλάση ή σε μια :term:`μη εικονική βασική κλάση ` του αντικειμένου εξαίρεσης, ή σε μία πλειάδα που " -"περιέχει μια τέτοια κλάση." +"Για μία ρήτρα :keyword:`!except` με μια έκφραση, η έκφραση πρέπει να " +"αξιολογείται σε έναν τύπο εξαίρεσης ή σε μία πλειάδα τύπων εξαιρέσεων. Οι " +"παρενθέσεις μπορούν να παραλειφθούν εάν παρέχονται πολλαπλοί τύποι " +"εξαιρέσεων και η ρήτρα ``as`` δεν χρησιμοποιείται. Η εξαίρεση που έγινε " +"raise ταιριάζει με μία ρήτρα :keyword:`!except` του οποίου η έκφραση " +"αξιολογείται στην κλάση ή σε μια :term:`μη εικονική βασική κλάση ` του αντικειμένου εξαίρεσης, ή σε μία πλειάδα που περιέχει μια " +"τέτοια κλάση." #: reference/compound_stmts.rst:258 msgid "" @@ -311,8 +349,9 @@ msgid "" "exception handler continues in the surrounding code and on the invocation " "stack. [#]_" msgstr "" -"Εάν καμία ρήτρα :keyword:`!except` δεν ταιριάζει με την εξαίρεση, η αναζήτηση για έναν χειριστή εξαίρεσης συνεχίζεται στον " -"περιβάλλοντα κώδικα και στη στοίβα κλήσεων. [#]_" +"Εάν καμία ρήτρα :keyword:`!except` δεν ταιριάζει με την εξαίρεση, η " +"αναζήτηση για έναν χειριστή εξαίρεσης συνεχίζεται στον περιβάλλοντα κώδικα " +"και στη στοίβα κλήσεων. [#]_" #: reference/compound_stmts.rst:262 msgid "" @@ -322,9 +361,11 @@ msgid "" "call stack (it is treated as if the entire :keyword:`try` statement raised " "the exception)." msgstr "" -"Εάν η αξιολόγηση μιας έκφρασης στην κεφαλίδα μιας ρήτρας :keyword:`!except` κάνει raise μια εξαίρεση, η αρχική αναζήτηση " -"για χειριστή ακυρώνεται και μια αναζήτηση ξεκινά για τη νέα εξαίρεση στον περιβάλλοντα κώδικα και στη στοίβα κλήσεων " -"(αντιμετωπίζεται σαν να έκανε raise την εξαίρεση ολόκληρη η δήλωση :keyword:`try`)." +"Εάν η αξιολόγηση μιας έκφρασης στην κεφαλίδα μιας ρήτρας :keyword:`!except` " +"κάνει raise μια εξαίρεση, η αρχική αναζήτηση για χειριστή ακυρώνεται και μια " +"αναζήτηση ξεκινά για τη νέα εξαίρεση στον περιβάλλοντα κώδικα και στη στοίβα " +"κλήσεων (αντιμετωπίζεται σαν να έκανε raise την εξαίρεση ολόκληρη η δήλωση :" +"keyword:`try`)." #: reference/compound_stmts.rst:270 msgid "" @@ -338,20 +379,23 @@ msgid "" "keyword:`!try` clause of the inner handler, the outer handler will not " "handle the exception.)" msgstr "" -"Όταν βρεθεί μία ρήτρα :keyword:`!except` που να ταιριάζει, η εξαίρεση ανατίθεται στον στόχο που καθορίζεται μετά τη λέξη-" -"κλειδί :keyword:`!as` σε αυτή τη ρήτρα :keyword:`!except`, εάν υπάρχει, και η σουίτα της ρήτρας :keyword:`!except` " -"εκτελείται. Όλες οι ρήτρες :keyword:`!except` πρέπει να έχουν ένα εκτελέσιμο μπλοκ. Όταν επιτευχθεί το τέλος αυτού του " -"μπλοκ, η εκτέλεση συνεχίζεται κανονικά μετά από ολόκληρη την δήλωση :keyword:`try`. (Αυτό σημαίνει ότι εάν υπάρχουν δύο " -"εμφωλευμένοι χειριστές για την ίδια εξαίρεση, και η εξαίρεση συμβεί στη ρήτρα :keyword:`!try` του εσωτερικού χειριστή, ο " -"εξωτερικός χειριστής δεν θα χειριστεί την εξαίρεση.)" +"Όταν βρεθεί μία ρήτρα :keyword:`!except` που να ταιριάζει, η εξαίρεση " +"ανατίθεται στον στόχο που καθορίζεται μετά τη λέξη-κλειδί :keyword:`!as` σε " +"αυτή τη ρήτρα :keyword:`!except`, εάν υπάρχει, και η σουίτα της ρήτρας :" +"keyword:`!except` εκτελείται. Όλες οι ρήτρες :keyword:`!except` πρέπει να " +"έχουν ένα εκτελέσιμο μπλοκ. Όταν επιτευχθεί το τέλος αυτού του μπλοκ, η " +"εκτέλεση συνεχίζεται κανονικά μετά από ολόκληρη την δήλωση :keyword:`try`. " +"(Αυτό σημαίνει ότι εάν υπάρχουν δύο εμφωλευμένοι χειριστές για την ίδια " +"εξαίρεση, και η εξαίρεση συμβεί στη ρήτρα :keyword:`!try` του εσωτερικού " +"χειριστή, ο εξωτερικός χειριστής δεν θα χειριστεί την εξαίρεση.)" #: reference/compound_stmts.rst:281 msgid "" "When an exception has been assigned using ``as target``, it is cleared at " "the end of the :keyword:`!except` clause. This is as if ::" msgstr "" -"Όταν μια εξαίρεση έχει ανατεθεί χρησιμοποιώντας το ``as target``, καθαρίζεται στο τέλος της ρήτρας :keyword:`!except`. Αυτό " -"είναι σαν το ::" +"Όταν μια εξαίρεση έχει ανατεθεί χρησιμοποιώντας το ``as target``, " +"καθαρίζεται στο τέλος της ρήτρας :keyword:`!except`. Αυτό είναι σαν το ::" #: reference/compound_stmts.rst:284 msgid "" @@ -387,10 +431,12 @@ msgid "" "with the stack frame, keeping all locals in that frame alive until the next " "garbage collection occurs." msgstr "" -"Αυτό σημαίνει ότι η εξαίρεση πρέπει να ανατεθεί σε διαφορετικό όνομα για να μπορείτε να αναφερθείτε σε αυτήν μετά τη " -"ρήτρα :keyword:`!except`. Οι εξαιρέσεις καθαρίζονται επειδή με την ανίχνευση επισυναπτόμενη σε αυτές, σχηματίζουν έναν " -"κύκλο αναφοράς με το πλαίσιο στοίβας, διατηρώντας όλες τις τοπικές μεταβλητές σε αυτό το πλαίσιο ζωντανές μέχρι να συμβεί η " -"επόμενη συλλογή απορριμμάτων." +"Αυτό σημαίνει ότι η εξαίρεση πρέπει να ανατεθεί σε διαφορετικό όνομα για να " +"μπορείτε να αναφερθείτε σε αυτήν μετά τη ρήτρα :keyword:`!except`. Οι " +"εξαιρέσεις καθαρίζονται επειδή με την ανίχνευση επισυναπτόμενη σε αυτές, " +"σχηματίζουν έναν κύκλο αναφοράς με το πλαίσιο στοίβας, διατηρώντας όλες τις " +"τοπικές μεταβλητές σε αυτό το πλαίσιο ζωντανές μέχρι να συμβεί η επόμενη " +"συλλογή απορριμμάτων." #: reference/compound_stmts.rst:305 msgid "" @@ -400,9 +446,11 @@ msgid "" "leaving an exception handler, the exception stored in the :mod:`sys` module " "is reset to its previous value::" msgstr "" -"Πριν εκτελεστεί η σουίτα μιας ρήτρας :keyword:`!except`, η εξαίρεση αποθηκεύεται στο module :mod:`sys`, όπου είναι " -"προσβάσιμη μέσα από το σώμα της ρήτρας :keyword:`!except` καλώντας την :func:`sys.exception`. Όταν κλείνει ένας χειριστής " -"εξαίρεσης, η εξαίρεση που αποθηκεύτηκε στο module :mod:`sys` επαναφέρεται στην προηγούμενη τιμή της::" +"Πριν εκτελεστεί η σουίτα μιας ρήτρας :keyword:`!except`, η εξαίρεση " +"αποθηκεύεται στο module :mod:`sys`, όπου είναι προσβάσιμη μέσα από το σώμα " +"της ρήτρας :keyword:`!except` καλώντας την :func:`sys.exception`. Όταν " +"κλείνει ένας χειριστής εξαίρεσης, η εξαίρεση που αποθηκεύτηκε στο module :" +"mod:`sys` επαναφέρεται στην προηγούμενη τιμή της::" #: reference/compound_stmts.rst:311 msgid "" @@ -458,13 +506,16 @@ msgid "" "if a matching type is a subclass of :exc:`!BaseExceptionGroup`, because that " "would have ambiguous semantics." msgstr "" -"Οι ρήτρες :keyword:`!except*` καθορίζουν έναν ή περισσότερους χειριστές για ομάδες εξαιρέσεων (στιγμιότυπα " -"της :exc:`BaseExceptionGroup`). Μια δήλωση :keyword:`try` μπορεί να έχει είτε ρήτρες :keyword:`except` είτε " -"ρήτρες :keyword:`!except*`, αλλά όχι και τα δύο. Ο τύπος εξαίρεσης για το ταίριασμα είναι υποχρεωτικός στην περίπτωση " -"του :keyword:`!except*`, επομένως το ``except*:`` είναι συντακτικό σφάλμα. Ο τύπος ερμηνεύεται όπως και στην περίπτωση " -"του :keyword:`!except`, αλλά το ταίριασμα εκτελείται στις εξαιρέσεις που περιέχονται στην ομάδα που τυγχάνει χειρισμού. " -"Μια :exc:`TypeError` γίνεται raise εάν ένας τύπος που ταιριάζει είναι υποκλάση του :exc:`!BaseExceptionGroup`, επειδή αυτό " -"θα είχε διφορούμενη σημασιολογία." +"Οι ρήτρες :keyword:`!except*` καθορίζουν έναν ή περισσότερους χειριστές για " +"ομάδες εξαιρέσεων (στιγμιότυπα της :exc:`BaseExceptionGroup`). Μια δήλωση :" +"keyword:`try` μπορεί να έχει είτε ρήτρες :keyword:`except` είτε ρήτρες :" +"keyword:`!except*`, αλλά όχι και τα δύο. Ο τύπος εξαίρεσης για το ταίριασμα " +"είναι υποχρεωτικός στην περίπτωση του :keyword:`!except*`, επομένως το " +"``except*:`` είναι συντακτικό σφάλμα. Ο τύπος ερμηνεύεται όπως και στην " +"περίπτωση του :keyword:`!except`, αλλά το ταίριασμα εκτελείται στις " +"εξαιρέσεις που περιέχονται στην ομάδα που τυγχάνει χειρισμού. Μια :exc:" +"`TypeError` γίνεται raise εάν ένας τύπος που ταιριάζει είναι υποκλάση του :" +"exc:`!BaseExceptionGroup`, επειδή αυτό θα είχε διφορούμενη σημασιολογία." #: reference/compound_stmts.rst:348 msgid "" @@ -478,12 +529,16 @@ msgid "" "`!except*` in the same manner. This continues until all exceptions in the " "group have been matched, or the last :keyword:`!except*` clause has run." msgstr "" -"Όταν μια ομάδα εξαιρέσεων γίνει raise στο μπλοκ try, κάθε ρήτρα :keyword:`!except*` τη διαχωρίζει (δείτε " -"τη :meth:`~BaseExceptionGroup.split`) στις υπο-ομάδες ταιριαστών και μη ταιριαστών εξαιρέσεων. Εάν η ταιριαστή υπο-ομάδα " -"δεν είναι κενή, γίνεται η εξαίρεση υπό χειρισμό (η τιμή που επιστρέφεται από την :func:`sys.exception`) και ανατίθεται στον " -"στόχο της ρήτρας :keyword:`!except*` (εάν υπάρχει). Έπειτα, εκτελείται το σώμα της ρήτρας :keyword:`!except*`. Εάν η μη " -"ταιριαστή υπο-ομάδα δεν είναι κενή, επεξεργάζεται από το επόμενο :keyword:`!except*` με τον ίδιο τρόπο. Αυτό συνεχίζεται " -"μέχρι να ταιριάξουν όλες οι εξαιρέσεις στην ομάδα, ή να εκτελεστεί η τελευταία ρήτρα :keyword:`!except*`." +"Όταν μια ομάδα εξαιρέσεων γίνει raise στο μπλοκ try, κάθε ρήτρα :keyword:`!" +"except*` τη διαχωρίζει (δείτε τη :meth:`~BaseExceptionGroup.split`) στις υπο-" +"ομάδες ταιριαστών και μη ταιριαστών εξαιρέσεων. Εάν η ταιριαστή υπο-ομάδα " +"δεν είναι κενή, γίνεται η εξαίρεση υπό χειρισμό (η τιμή που επιστρέφεται από " +"την :func:`sys.exception`) και ανατίθεται στον στόχο της ρήτρας :keyword:`!" +"except*` (εάν υπάρχει). Έπειτα, εκτελείται το σώμα της ρήτρας :keyword:`!" +"except*`. Εάν η μη ταιριαστή υπο-ομάδα δεν είναι κενή, επεξεργάζεται από το " +"επόμενο :keyword:`!except*` με τον ίδιο τρόπο. Αυτό συνεχίζεται μέχρι να " +"ταιριάξουν όλες οι εξαιρέσεις στην ομάδα, ή να εκτελεστεί η τελευταία ρήτρα :" +"keyword:`!except*`." #: reference/compound_stmts.rst:358 msgid "" @@ -492,9 +547,10 @@ msgid "" "within :keyword:`!except*` clauses. This merged exception group propagates " "on.::" msgstr "" -"Αφού εκτελεστούν όλες οι ρήτρες :keyword:`!except*`, η ομάδα των μη χειριζόμενων εξαιρέσεων συγχωνεύεται με τυχόν " -"εξαιρέσεις που έγιναν raise ή re-raise μέσα από ρήτρες :keyword:`!except*`. Αυτή η συγχωνευμένη ομάδα εξαιρέσεων συνεχίζει " -"να διαδίδεται.::" +"Αφού εκτελεστούν όλες οι ρήτρες :keyword:`!except*`, η ομάδα των μη " +"χειριζόμενων εξαιρέσεων συγχωνεύεται με τυχόν εξαιρέσεις που έγιναν raise ή " +"re-raise μέσα από ρήτρες :keyword:`!except*`. Αυτή η συγχωνευμένη ομάδα " +"εξαιρέσεων συνεχίζει να διαδίδεται.::" #: reference/compound_stmts.rst:362 msgid "" @@ -544,9 +600,11 @@ msgid "" "ensures that the type of the target ``e`` is consistently :exc:" "`BaseExceptionGroup`::" msgstr "" -"Εάν η εξαίρεση που έγινε raise από το μπλοκ :keyword:`try` δεν είναι ομάδα εξαιρέσεων και ο τύπος της ταιριάζει με μία από " -"τις ρήτρες :keyword:`!except*`, τότε πιάνεται και περιτυλίγεται από μια ομάδα εξαιρέσεων με μία κενή συμβολοσειρά " -"μηνύματος. Αυτό διασφαλίζει ότι ο τύπος του στόχου ``e`` είναι συνεπώς :exc:`BaseExceptionGroup`::" +"Εάν η εξαίρεση που έγινε raise από το μπλοκ :keyword:`try` δεν είναι ομάδα " +"εξαιρέσεων και ο τύπος της ταιριάζει με μία από τις ρήτρες :keyword:`!" +"except*`, τότε πιάνεται και περιτυλίγεται από μια ομάδα εξαιρέσεων με μία " +"κενή συμβολοσειρά μηνύματος. Αυτό διασφαλίζει ότι ο τύπος του στόχου ``e`` " +"είναι συνεπώς :exc:`BaseExceptionGroup`::" #: reference/compound_stmts.rst:386 msgid "" @@ -569,7 +627,8 @@ msgid "" ":keyword:`break`, :keyword:`continue` and :keyword:`return` cannot appear in " "an :keyword:`!except*` clause." msgstr "" -"Τα :keyword:`break`, :keyword:`continue` και :keyword:`return` δεν μπορούν να εμφανιστούν σε μία ρήτρα :keyword:`!except*`." +"Τα :keyword:`break`, :keyword:`continue` και :keyword:`return` δεν μπορούν " +"να εμφανιστούν σε μία ρήτρα :keyword:`!except*`." #: reference/compound_stmts.rst:406 msgid ":keyword:`!else` clause" @@ -583,9 +642,11 @@ msgid "" "Exceptions in the :keyword:`!else` clause are not handled by the preceding :" "keyword:`except` clauses." msgstr "" -"Η προαιρετική ρήτρα :keyword:`!else` εκτελείται εάν η ροή ελέγχου αφήσει τη σουίτα :keyword:`try`, δεν έγινε raise καμία " -"εξαίρεση, και δεν εκτελέστηκε καμία δήλωση :keyword:`return`, :keyword:`continue`, ή :keyword:`break`. Οι εξαιρέσεις στη " -"ρήτρα :keyword:`!else` δεν χειρίζονται από τις προηγούμενες ρήτρες :keyword:`except`." +"Η προαιρετική ρήτρα :keyword:`!else` εκτελείται εάν η ροή ελέγχου αφήσει τη " +"σουίτα :keyword:`try`, δεν έγινε raise καμία εξαίρεση, και δεν εκτελέστηκε " +"καμία δήλωση :keyword:`return`, :keyword:`continue`, ή :keyword:`break`. Οι " +"εξαιρέσεις στη ρήτρα :keyword:`!else` δεν χειρίζονται από τις προηγούμενες " +"ρήτρες :keyword:`except`." #: reference/compound_stmts.rst:420 msgid ":keyword:`!finally` clause" @@ -604,13 +665,17 @@ msgid "" "keyword:`return`, :keyword:`break` or :keyword:`continue` statement, the " "saved exception is discarded. For example, this function returns 42." msgstr "" -"Εάν το :keyword:`!finally` υπάρχει, καθορίζει έναν χειριστή 'εκκαθάρισης'. Η ρήτρα :keyword:`try` εκτελείται, " -"συμπεριλαμβανομένων τυχόν ρητρών :keyword:`except` και :keyword:`else `. Εάν προκύψει εξαίρεση σε κάποια από " -"τις ρήτρες και δεν υπάρξει χειρισμός, η εξαίρεση αποθηκεύεται προσωρινά. Η ρήτρα :keyword:`!finally` εκτελείται. Εάν " -"υπάρχει μια αποθηκευμένη εξαίρεση, γίνεται re-raise στο τέλος της ρήτρας :keyword:`!finally`. Εάν η ρήτρα :keyword:`!" -"finally` κάνει raise μια άλλη εξαίρεση, η αποθηκευμένη εξαίρεση ορίζεται ως το πλαίσιο της νέας εξαίρεσης. Εάν η " -"ρήτρα :keyword:`!finally` εκτελεί μια δήλωση :keyword:`return`, :keyword:`break` ή :keyword:`continue`, η αποθηκευμένη " -"εξαίρεση απορρίπτεται. Για παράδειγμα, αυτή η συνάρτηση επιστρέφει 42." +"Εάν το :keyword:`!finally` υπάρχει, καθορίζει έναν χειριστή 'εκκαθάρισης'. Η " +"ρήτρα :keyword:`try` εκτελείται, συμπεριλαμβανομένων τυχόν ρητρών :keyword:" +"`except` και :keyword:`else `. Εάν προκύψει εξαίρεση σε κάποια " +"από τις ρήτρες και δεν υπάρξει χειρισμός, η εξαίρεση αποθηκεύεται προσωρινά. " +"Η ρήτρα :keyword:`!finally` εκτελείται. Εάν υπάρχει μια αποθηκευμένη " +"εξαίρεση, γίνεται re-raise στο τέλος της ρήτρας :keyword:`!finally`. Εάν η " +"ρήτρα :keyword:`!finally` κάνει raise μια άλλη εξαίρεση, η αποθηκευμένη " +"εξαίρεση ορίζεται ως το πλαίσιο της νέας εξαίρεσης. Εάν η ρήτρα :keyword:`!" +"finally` εκτελεί μια δήλωση :keyword:`return`, :keyword:`break` ή :keyword:" +"`continue`, η αποθηκευμένη εξαίρεση απορρίπτεται. Για παράδειγμα, αυτή η " +"συνάρτηση επιστρέφει 42." #: reference/compound_stmts.rst:435 msgid "" @@ -630,7 +695,9 @@ msgstr "" msgid "" "The exception information is not available to the program during execution " "of the :keyword:`!finally` clause." -msgstr "Οι πληροφορίες εξαίρεσης δεν είναι διαθέσιμες στο πρόγραμμα κατά την εκτέλεση της ρήτρας :keyword:`!finally`." +msgstr "" +"Οι πληροφορίες εξαίρεσης δεν είναι διαθέσιμες στο πρόγραμμα κατά την " +"εκτέλεση της ρήτρας :keyword:`!finally`." #: reference/compound_stmts.rst:451 msgid "" @@ -639,8 +706,10 @@ msgid "" "finally` statement, the :keyword:`!finally` clause is also executed 'on the " "way out.'" msgstr "" -"Όταν μια δήλωση :keyword:`return`, :keyword:`break` ή :keyword:`continue` εκτελείται στη σουίτα :keyword:`try` μιας " -"εντολής :keyword:`!try`...\\ :keyword:`!finally`, η ρήτρα :keyword:`!finally` εκτελείται επίσης 'κατά την έξοδο'." +"Όταν μια δήλωση :keyword:`return`, :keyword:`break` ή :keyword:`continue` " +"εκτελείται στη σουίτα :keyword:`try` μιας εντολής :keyword:`!try`...\\ :" +"keyword:`!finally`, η ρήτρα :keyword:`!finally` εκτελείται επίσης 'κατά την " +"έξοδο'." #: reference/compound_stmts.rst:455 msgid "" @@ -650,9 +719,11 @@ msgid "" "will always be the last one executed. The following function returns " "'finally'." msgstr "" -"Η τιμή επιστροφής μιας συνάρτησης καθορίζεται από την τελευταία δήλωση :keyword:`return` που εκτελέστηκε. Εφόσον η " -"ρήτρα :keyword:`!finally` εκτελείται πάντα, μια δήλωση :keyword:`!return` που εκτελείται στη ρήτρα :keyword:`!finally` θα " -"είναι πάντα η τελευταία που θα εκτελεστεί. Η ακόλουθη συνάρτηση επιστρέφει 'finally'." +"Η τιμή επιστροφής μιας συνάρτησης καθορίζεται από την τελευταία δήλωση :" +"keyword:`return` που εκτελέστηκε. Εφόσον η ρήτρα :keyword:`!finally` " +"εκτελείται πάντα, μια δήλωση :keyword:`!return` που εκτελείται στη ρήτρα :" +"keyword:`!finally` θα είναι πάντα η τελευταία που θα εκτελεστεί. Η ακόλουθη " +"συνάρτηση επιστρέφει 'finally'." #: reference/compound_stmts.rst:460 msgid "" @@ -673,8 +744,8 @@ msgid "" "Prior to Python 3.8, a :keyword:`continue` statement was illegal in the :" "keyword:`!finally` clause due to a problem with the implementation." msgstr "" -"Πριν από την Python 3.8, μια δήλωση :keyword:`continue` ήταν μη έγκυρη στη ρήτρα :keyword:`!finally` λόγω ενός προβλήματος " -"με την υλοποίηση." +"Πριν από την Python 3.8, μια δήλωση :keyword:`continue` ήταν μη έγκυρη στη " +"ρήτρα :keyword:`!finally` λόγω ενός προβλήματος με την υλοποίηση." #: reference/compound_stmts.rst:472 msgid "" @@ -682,8 +753,9 @@ msgid "" "`break` or :keyword:`continue` appears in a :keyword:`!finally` block (see :" "pep:`765`)." msgstr "" -"Ο compiler εκπέμπει ένα :exc:`SyntaxWarning` όταν εμφανίζεται ένα :keyword:`return`, :keyword:`break` ή :keyword:`continue` " -"σε ένα μπλοκ :keyword:`!finally` (δείτε :pep:`765`)." +"Ο compiler εκπέμπει ένα :exc:`SyntaxWarning` όταν εμφανίζεται ένα :keyword:" +"`return`, :keyword:`break` ή :keyword:`continue` σε ένα μπλοκ :keyword:`!" +"finally` (δείτε :pep:`765`)." #: reference/compound_stmts.rst:482 msgid "The :keyword:`!with` statement" @@ -696,32 +768,40 @@ msgid "" "This allows common :keyword:`try`...\\ :keyword:`except`...\\ :keyword:" "`finally` usage patterns to be encapsulated for convenient reuse." msgstr "" -"Η δήλωση :keyword:`with` χρησιμοποιείται για να περιτυλίξει την εκτέλεση ενός μπλοκ με μεθόδους ορισμένες από έναν " -"διαχειριστή πλαισίου (δείτε την ενότητα :ref:`context-managers`). Αυτό επιτρέπει την ενθυλάκωση κοινών μοτίβων " -"χρήσης :keyword:`try`...\\ :keyword:`except`...\\ :keyword:`finally` για βολική επαναχρησιμοποίηση." +"Η δήλωση :keyword:`with` χρησιμοποιείται για να περιτυλίξει την εκτέλεση " +"ενός μπλοκ με μεθόδους ορισμένες από έναν διαχειριστή πλαισίου (δείτε την " +"ενότητα :ref:`context-managers`). Αυτό επιτρέπει την ενθυλάκωση κοινών " +"μοτίβων χρήσης :keyword:`try`...\\ :keyword:`except`...\\ :keyword:`finally` " +"για βολική επαναχρησιμοποίηση." #: reference/compound_stmts.rst:501 msgid "" "The execution of the :keyword:`with` statement with one \"item\" proceeds as " "follows:" -msgstr "Η εκτέλεση της εντολής :keyword:`with` με ένα \"αντικείμενο\" προχωρά ως εξής:" +msgstr "" +"Η εκτέλεση της εντολής :keyword:`with` με ένα \"αντικείμενο\" προχωρά ως " +"εξής:" #: reference/compound_stmts.rst:503 msgid "" "The context expression (the expression given in the :token:`~python-grammar:" "with_item`) is evaluated to obtain a context manager." msgstr "" -"Η έκφραση πλαισίου (η έκφραση που δίνεται στο :token:`~python-grammar:with_item`) αξιολογείται για να ληφθεί ένας " -"διαχειριστής πλαισίου." +"Η έκφραση πλαισίου (η έκφραση που δίνεται στο :token:`~python-grammar:" +"with_item`) αξιολογείται για να ληφθεί ένας διαχειριστής πλαισίου." #: reference/compound_stmts.rst:506 msgid "" "The context manager's :meth:`~object.__enter__` is loaded for later use." -msgstr "Φορτώνεται η :meth:`~object.__enter__` του διαχειριστή πλαισίου για μελλοντική χρήση." +msgstr "" +"Φορτώνεται η :meth:`~object.__enter__` του διαχειριστή πλαισίου για " +"μελλοντική χρήση." #: reference/compound_stmts.rst:508 msgid "The context manager's :meth:`~object.__exit__` is loaded for later use." -msgstr "Φορτώνεται η :meth:`~object.__exit__` του διαχειριστή πλαισίου για μελλοντική χρήση." +msgstr "" +"Φορτώνεται η :meth:`~object.__exit__` του διαχειριστή πλαισίου για " +"μελλοντική χρήση." #: reference/compound_stmts.rst:510 msgid "The context manager's :meth:`~object.__enter__` method is invoked." @@ -732,7 +812,8 @@ msgid "" "If a target was included in the :keyword:`with` statement, the return value " "from :meth:`~object.__enter__` is assigned to it." msgstr "" -"Εάν συμπεριλήφθηκε ένας στόχος στην δήλωση :keyword:`with`, η τιμή επιστροφής της :meth:`~object.__enter__` του ανατίθεται." +"Εάν συμπεριλήφθηκε ένας στόχος στην δήλωση :keyword:`with`, η τιμή " +"επιστροφής της :meth:`~object.__enter__` του ανατίθεται." #: reference/compound_stmts.rst:517 msgid "" @@ -742,9 +823,11 @@ msgid "" "target list, it will be treated the same as an error occurring within the " "suite would be. See step 7 below." msgstr "" -"Η δήλωση :keyword:`with` εγγυάται ότι εάν η μέθοδος :meth:`~object.__enter__` επιστρέψει το αποτέλεσμα χωρίς σφάλμα, τότε " -"η :meth:`~object.__exit__` θα κληθεί πάντα. Επομένως, εάν προκύψει σφάλμα κατά την ανάθεση στη λίστα-στόχο, θα " -"αντιμετωπιστεί με τον ίδιο τρόπο όπως ένα σφάλμα που προκύπτει μέσα στη σουίτα. Δείτε το βήμα 7 παρακάτω." +"Η δήλωση :keyword:`with` εγγυάται ότι εάν η μέθοδος :meth:`~object." +"__enter__` επιστρέψει το αποτέλεσμα χωρίς σφάλμα, τότε η :meth:`~object." +"__exit__` θα κληθεί πάντα. Επομένως, εάν προκύψει σφάλμα κατά την ανάθεση " +"στη λίστα-στόχο, θα αντιμετωπιστεί με τον ίδιο τρόπο όπως ένα σφάλμα που " +"προκύπτει μέσα στη σουίτα. Δείτε το βήμα 7 παρακάτω." #: reference/compound_stmts.rst:523 msgid "The suite is executed." @@ -757,9 +840,10 @@ msgid "" "passed as arguments to :meth:`~object.__exit__`. Otherwise, three :const:" "`None` arguments are supplied." msgstr "" -"Καλείται η μέθοδος :meth:`~object.__exit__` του διαχειριστή πλαισίου. Εάν μια εξαίρεση προκάλεσε την έξοδο από τη σουίτα, ο " -"τύπος, η τιμή και η ιχνηλάτησή της περνούν ως ορίσματα στην :meth:`~object.__exit__`. Διαφορετικά, παρέχονται τρία " -"ορίσματα :const:`None`." +"Καλείται η μέθοδος :meth:`~object.__exit__` του διαχειριστή πλαισίου. Εάν " +"μια εξαίρεση προκάλεσε την έξοδο από τη σουίτα, ο τύπος, η τιμή και η " +"ιχνηλάτησή της περνούν ως ορίσματα στην :meth:`~object.__exit__`. " +"Διαφορετικά, παρέχονται τρία ορίσματα :const:`None`." #: reference/compound_stmts.rst:530 msgid "" @@ -768,9 +852,10 @@ msgid "" "return value was true, the exception is suppressed, and execution continues " "with the statement following the :keyword:`with` statement." msgstr "" -"Εάν υπήρξε έξοδος από τη σουίτα λόγω εξαίρεσης, και η τιμή επιστροφής από τη μέθοδο :meth:`~object.__exit__` ήταν false, η " -"εξαίρεση γίνεται re-raise. Εάν η τιμή επιστροφής ήταν true, η εξαίρεση καταστέλλεται, και η εκτέλεση συνεχίζεται με την " -"δήλωση που ακολουθεί την δήλωση :keyword:`with`." +"Εάν υπήρξε έξοδος από τη σουίτα λόγω εξαίρεσης, και η τιμή επιστροφής από τη " +"μέθοδο :meth:`~object.__exit__` ήταν false, η εξαίρεση γίνεται re-raise. Εάν " +"η τιμή επιστροφής ήταν true, η εξαίρεση καταστέλλεται, και η εκτέλεση " +"συνεχίζεται με την δήλωση που ακολουθεί την δήλωση :keyword:`with`." #: reference/compound_stmts.rst:535 msgid "" @@ -778,9 +863,9 @@ msgid "" "value from :meth:`~object.__exit__` is ignored, and execution proceeds at " "the normal location for the kind of exit that was taken." msgstr "" -"Εάν υπήρξε έξοδος από τη σουίτα για οποιονδήποτε λόγο εκτός από εξαίρεση, η τιμή επιστροφής από " -"την :meth:`~object.__exit__` αγνοείται, και η εκτέλεση προχωρά στην κανονική θέση για το είδος της εξόδου που " -"πραγματοποιήθηκε." +"Εάν υπήρξε έξοδος από τη σουίτα για οποιονδήποτε λόγο εκτός από εξαίρεση, η " +"τιμή επιστροφής από την :meth:`~object.__exit__` αγνοείται, και η εκτέλεση " +"προχωρά στην κανονική θέση για το είδος της εξόδου που πραγματοποιήθηκε." #: reference/compound_stmts.rst:539 reference/compound_stmts.rst:1557 #: reference/compound_stmts.rst:1598 @@ -841,8 +926,8 @@ msgid "" "With more than one item, the context managers are processed as if multiple :" "keyword:`with` statements were nested::" msgstr "" -"Με περισσότερα από ένα στοιχεία, οι διαχειριστές πλαισίου επεξεργάζονται σαν να είχαν εμφωλευτεί πολλαπλές " -"εντολές :keyword:`with`::" +"Με περισσότερα από ένα στοιχεία, οι διαχειριστές πλαισίου επεξεργάζονται σαν " +"να είχαν εμφωλευτεί πολλαπλές εντολές :keyword:`with`::" #: reference/compound_stmts.rst:566 msgid "" @@ -867,8 +952,8 @@ msgid "" "You can also write multi-item context managers in multiple lines if the " "items are surrounded by parentheses. For example::" msgstr "" -"Μπορείτε επίσης να γράψετε διαχειριστές πλαισίου πολλαπλών στοιχείων σε πολλές γραμμές, αν τα στοιχεία περικλείονται σε " -"παρενθέσεις. Για παράδειγμα::" +"Μπορείτε επίσης να γράψετε διαχειριστές πλαισίου πολλαπλών στοιχείων σε " +"πολλές γραμμές, αν τα στοιχεία περικλείονται σε παρενθέσεις. Για παράδειγμα::" #: reference/compound_stmts.rst:578 msgid "" @@ -892,7 +977,9 @@ msgstr "Υποστήριξη για πολλαπλές εκφράσεις πλα msgid "" "Support for using grouping parentheses to break the statement in multiple " "lines." -msgstr "Υποστήριξη για χρήση παρενθέσεων ομαδοποίησης ώστε να διασπαστεί η δήλωση σε πολλές γραμμές." +msgstr "" +"Υποστήριξη για χρήση παρενθέσεων ομαδοποίησης ώστε να διασπαστεί η δήλωση σε " +"πολλές γραμμές." #: reference/compound_stmts.rst:592 msgid ":pep:`343` - The \"with\" statement" @@ -902,7 +989,9 @@ msgstr ":pep:`343` - Η δήλωση \"with\"" msgid "" "The specification, background, and examples for the Python :keyword:`with` " "statement." -msgstr "Οι προδιαγραφές, το υπόβαθρο και τα παραδείγματα για την δήλωση :keyword:`with` της Python." +msgstr "" +"Οι προδιαγραφές, το υπόβαθρο και τα παραδείγματα για την δήλωση :keyword:" +"`with` της Python." #: reference/compound_stmts.rst:600 msgid "The :keyword:`!match` statement" @@ -916,7 +1005,9 @@ msgstr "Η δήλωση match χρησιμοποιείται για ταίρια msgid "" "This section uses single quotes to denote :ref:`soft keywords `." -msgstr "Αυτή η ενότητα χρησιμοποιεί μονά εισαγωγικά για να υποδηλώσει τα :ref:`soft keywords `." +msgstr "" +"Αυτή η ενότητα χρησιμοποιεί μονά εισαγωγικά για να υποδηλώσει τα :ref:`soft " +"keywords `." #: reference/compound_stmts.rst:626 msgid "" @@ -924,23 +1015,30 @@ msgid "" "value (following ``match``). The pattern (which may contain subpatterns) is " "matched against the subject value. The outcomes are:" msgstr "" -"Το ταίριασμα προτύπων παίρνει ένα πρότυπο ως είσοδο (μετά το ``case``) και μια τιμή θέματος (μετά το ``match``). Το πρότυπο " -"(το οποίο μπορεί να περιέχει υπο-πρότυπα) ταιριάζεται με την τιμή θέματος. Τα αποτελέσματα είναι:" +"Το ταίριασμα προτύπων παίρνει ένα πρότυπο ως είσοδο (μετά το ``case``) και " +"μια τιμή θέματος (μετά το ``match``). Το πρότυπο (το οποίο μπορεί να " +"περιέχει υπο-πρότυπα) ταιριάζεται με την τιμή θέματος. Τα αποτελέσματα είναι:" #: reference/compound_stmts.rst:630 msgid "A match success or failure (also termed a pattern success or failure)." -msgstr "Μια επιτυχία ή αποτυχία ταιριάσματος (επίσης ονομάζεται επιτυχία ή αποτυχία προτύπου)." +msgstr "" +"Μια επιτυχία ή αποτυχία ταιριάσματος (επίσης ονομάζεται επιτυχία ή αποτυχία " +"προτύπου)." #: reference/compound_stmts.rst:632 msgid "" "Possible binding of matched values to a name. The prerequisites for this " "are further discussed below." -msgstr "Πιθανή δέσμευση ταιριασμένων τιμών σε ένα όνομα. Οι προϋποθέσεις για αυτό συζητούνται περαιτέρω παρακάτω." +msgstr "" +"Πιθανή δέσμευση ταιριασμένων τιμών σε ένα όνομα. Οι προϋποθέσεις για αυτό " +"συζητούνται περαιτέρω παρακάτω." #: reference/compound_stmts.rst:635 msgid "" "The ``match`` and ``case`` keywords are :ref:`soft keywords `." -msgstr "Οι λέξεις-κλειδιά ``match`` και ``case`` είναι :ref:`soft keywords `." +msgstr "" +"Οι λέξεις-κλειδιά ``match`` και ``case`` είναι :ref:`soft keywords `." #: reference/compound_stmts.rst:639 reference/compound_stmts.rst:1196 msgid ":pep:`634` -- Structural Pattern Matching: Specification" @@ -964,8 +1062,9 @@ msgid "" "value obtained. If the subject expression contains a comma, a tuple is " "constructed using :ref:`the standard rules `." msgstr "" -"Η έκφραση θέματος ``subject_expr`` αξιολογείται και λαμβάνεται η προκύπτουσα τιμή θέματος. Εάν η έκφραση θέματος περιέχει " -"κόμμα, κατασκευάζεται μία πλειάδα χρησιμοποιώντας :ref:`τους τυπικούς κανόνες `." +"Η έκφραση θέματος ``subject_expr`` αξιολογείται και λαμβάνεται η προκύπτουσα " +"τιμή θέματος. Εάν η έκφραση θέματος περιέχει κόμμα, κατασκευάζεται μία " +"πλειάδα χρησιμοποιώντας :ref:`τους τυπικούς κανόνες `." #: reference/compound_stmts.rst:653 msgid "" @@ -976,11 +1075,14 @@ msgid "" "specified below. **Name bindings made during a successful pattern match " "outlive the executed block and can be used after the match statement**." msgstr "" -"Κάθε πρότυπο σε ένα ``case_block`` προσπαθεί να ταιριάξει με την τιμή του θέματος. Οι συγκεκριμένοι κανόνες για επιτυχία ή " -"αποτυχία περιγράφονται παρακάτω. Η προσπάθεια ταιριάσματος μπορεί επίσης να δεσμεύσει κάποια ή όλα τα αυτόνομα ονόματα " -"εντός του προτύπου. Οι ακριβείς κανόνες δέσμευσης προτύπων διαφέρουν ανά τύπο προτύπου και καθορίζονται παρακάτω. **Οι " -"δεσμεύσεις ονομάτων, που γίνονται κατά τη διάρκεια ενός επιτυχημένου ταιριάσματος προτύπου, επιβιώνουν από το εκτελεσμένο " -"μπλοκ και μπορούν να χρησιμοποιηθούν μετά την δήλωση match**." +"Κάθε πρότυπο σε ένα ``case_block`` προσπαθεί να ταιριάξει με την τιμή του " +"θέματος. Οι συγκεκριμένοι κανόνες για επιτυχία ή αποτυχία περιγράφονται " +"παρακάτω. Η προσπάθεια ταιριάσματος μπορεί επίσης να δεσμεύσει κάποια ή όλα " +"τα αυτόνομα ονόματα εντός του προτύπου. Οι ακριβείς κανόνες δέσμευσης " +"προτύπων διαφέρουν ανά τύπο προτύπου και καθορίζονται παρακάτω. **Οι " +"δεσμεύσεις ονομάτων, που γίνονται κατά τη διάρκεια ενός επιτυχημένου " +"ταιριάσματος προτύπου, επιβιώνουν από το εκτελεσμένο μπλοκ και μπορούν να " +"χρησιμοποιηθούν μετά την δήλωση match**." #: reference/compound_stmts.rst:662 msgid "" @@ -990,28 +1092,36 @@ msgid "" "dependent on implementation and may vary. This is an intentional decision " "made to allow different implementations to add optimizations." msgstr "" -"Κατά τη διάρκεια αποτυχημένων ταιριασμάτων προτύπων, ορισμένα υπο-πρότυπα μπορεί να πετύχουν. Μην βασίζεστε στο ότι θα " -"πραγματοποιηθούν δεσμεύσεις για ένα αποτυχημένο ταίριασμα. Αντίστροφα, μην βασίζεστε στο ότι οι μεταβλητές θα παραμείνουν " -"αμετάβλητες μετά από ένα αποτυχημένο ταίριασμα. Η ακριβής συμπεριφορά εξαρτάται από την υλοποίηση και μπορεί να διαφέρει. " -"Πρόκειται για μια σκόπιμη απόφαση ώστε να επιτραπεί σε διαφορετικές υλοποιήσεις να προσθέσουν βελτιστοποιήσεις." +"Κατά τη διάρκεια αποτυχημένων ταιριασμάτων προτύπων, ορισμένα υπο-πρότυπα " +"μπορεί να πετύχουν. Μην βασίζεστε στο ότι θα πραγματοποιηθούν δεσμεύσεις για " +"ένα αποτυχημένο ταίριασμα. Αντίστροφα, μην βασίζεστε στο ότι οι μεταβλητές " +"θα παραμείνουν αμετάβλητες μετά από ένα αποτυχημένο ταίριασμα. Η ακριβής " +"συμπεριφορά εξαρτάται από την υλοποίηση και μπορεί να διαφέρει. Πρόκειται " +"για μια σκόπιμη απόφαση ώστε να επιτραπεί σε διαφορετικές υλοποιήσεις να " +"προσθέσουν βελτιστοποιήσεις." #: reference/compound_stmts.rst:669 msgid "" "If the pattern succeeds, the corresponding guard (if present) is evaluated. " "In this case all name bindings are guaranteed to have happened." msgstr "" -"Εάν το πρότυπο επιτύχει, αξιολογείται ο αντίστοιχος guard (εάν υπάρχει). Σε αυτήν την περίπτωση είναι εγγυημένο ότι έχουν " -"πραγματοποιηθεί όλες οι δεσμεύσεις ονομάτων." +"Εάν το πρότυπο επιτύχει, αξιολογείται ο αντίστοιχος guard (εάν υπάρχει). Σε " +"αυτήν την περίπτωση είναι εγγυημένο ότι έχουν πραγματοποιηθεί όλες οι " +"δεσμεύσεις ονομάτων." #: reference/compound_stmts.rst:672 msgid "" "If the guard evaluates as true or is missing, the ``block`` inside " "``case_block`` is executed." -msgstr "Εάν ο guard αξιολογηθεί ως αληθής ή λείπει, εκτελείται το ``block`` μέσα στο ``case_block``." +msgstr "" +"Εάν ο guard αξιολογηθεί ως αληθής ή λείπει, εκτελείται το ``block`` μέσα στο " +"``case_block``." #: reference/compound_stmts.rst:675 msgid "Otherwise, the next ``case_block`` is attempted as described above." -msgstr "Διαφορετικά, δοκιμάζεται το επόμενο ``case_block`` όπως περιγράφεται παραπάνω." +msgstr "" +"Διαφορετικά, δοκιμάζεται το επόμενο ``case_block`` όπως περιγράφεται " +"παραπάνω." #: reference/compound_stmts.rst:677 msgid "If there are no further case blocks, the match statement is completed." @@ -1023,9 +1133,10 @@ msgid "" "on implementation, the interpreter may cache values or use other " "optimizations which skip repeated evaluations." msgstr "" -"Οι χρήστες γενικά δεν θα πρέπει ποτέ να βασίζονται στο ότι ένα πρότυπο αξιολογείται. Ανάλογα με την υλοποίηση, ο διερμηνέας " -"μπορεί να αποθηκεύσει τιμές στην προσωρινή μνήμη ή να χρησιμοποιήσει άλλες βελτιστοποιήσεις που παραλείπουν " -"επαναλαμβανόμενες αξιολογήσεις." +"Οι χρήστες γενικά δεν θα πρέπει ποτέ να βασίζονται στο ότι ένα πρότυπο " +"αξιολογείται. Ανάλογα με την υλοποίηση, ο διερμηνέας μπορεί να αποθηκεύσει " +"τιμές στην προσωρινή μνήμη ή να χρησιμοποιήσει άλλες βελτιστοποιήσεις που " +"παραλείπουν επαναλαμβανόμενες αξιολογήσεις." #: reference/compound_stmts.rst:685 msgid "A sample match statement::" @@ -1063,7 +1174,9 @@ msgstr "" msgid "" "In this case, ``if flag`` is a guard. Read more about that in the next " "section." -msgstr "Σε αυτήν την περίπτωση, το ``if flag`` είναι ένας guard. Διαβάστε περισσότερα για αυτό στην επόμενη ενότητα." +msgstr "" +"Σε αυτήν την περίπτωση, το ``if flag`` είναι ένας guard. Διαβάστε " +"περισσότερα για αυτό στην επόμενη ενότητα." #: reference/compound_stmts.rst:704 msgid "Guards" @@ -1075,8 +1188,9 @@ msgid "" "``case`` block to execute. It takes the form: :keyword:`if` followed by an " "expression." msgstr "" -"Ένας ``guard`` (που αποτελεί μέρος του ``case``) πρέπει να επιτύχει προκειμένου να εκτελεστεί ο κώδικας μέσα στο μπλοκ " -"``case``. Παίρνει τη μορφή: :keyword:`if` ακολουθούμενο από μια έκφραση." +"Ένας ``guard`` (που αποτελεί μέρος του ``case``) πρέπει να επιτύχει " +"προκειμένου να εκτελεστεί ο κώδικας μέσα στο μπλοκ ``case``. Παίρνει τη " +"μορφή: :keyword:`if` ακολουθούμενο από μια έκφραση." #: reference/compound_stmts.rst:716 msgid "The logical flow of a ``case`` block with a ``guard`` follows:" @@ -1088,8 +1202,8 @@ msgid "" "failed, the ``guard`` is not evaluated and the next ``case`` block is " "checked." msgstr "" -"Ελέγχει ότι το πρότυπο στο μπλοκ ``case`` επέτυχε. Εάν το πρότυπο απέτυχε, ο ``guard`` δεν αξιολογείται και ελέγχεται το " -"επόμενο μπλοκ ``case``." +"Ελέγχει ότι το πρότυπο στο μπλοκ ``case`` επέτυχε. Εάν το πρότυπο απέτυχε, ο " +"``guard`` δεν αξιολογείται και ελέγχεται το επόμενο μπλοκ ``case``." #: reference/compound_stmts.rst:722 msgid "If the pattern succeeded, evaluate the ``guard``." @@ -1098,19 +1212,24 @@ msgstr "Εάν το πρότυπο επέτυχε, αξιολογείται ο ` #: reference/compound_stmts.rst:724 msgid "" "If the ``guard`` condition evaluates as true, the case block is selected." -msgstr "Εάν η συνθήκη του ``guard`` αξιολογηθεί ως αληθής, επιλέγεται το μπλοκ case." +msgstr "" +"Εάν η συνθήκη του ``guard`` αξιολογηθεί ως αληθής, επιλέγεται το μπλοκ case." #: reference/compound_stmts.rst:727 msgid "" "If the ``guard`` condition evaluates as false, the case block is not " "selected." -msgstr "Εάν η συνθήκη του ``guard`` αξιολογηθεί ως ψευδής, το μπλοκ case δεν επιλέγεται." +msgstr "" +"Εάν η συνθήκη του ``guard`` αξιολογηθεί ως ψευδής, το μπλοκ case δεν " +"επιλέγεται." #: reference/compound_stmts.rst:730 msgid "" "If the ``guard`` raises an exception during evaluation, the exception " "bubbles up." -msgstr "Εάν ο ``guard`` κάνει raise μια εξαίρεση κατά την αξιολόγηση, η εξαίρεση ανεβαίνει προς τα πάνω." +msgstr "" +"Εάν ο ``guard`` κάνει raise μια εξαίρεση κατά την αξιολόγηση, η εξαίρεση " +"ανεβαίνει προς τα πάνω." #: reference/compound_stmts.rst:733 msgid "" @@ -1120,9 +1239,11 @@ msgid "" "evaluation must happen in order.) Guard evaluation must stop once a case " "block is selected." msgstr "" -"Οι guards επιτρέπεται να έχουν παρενέργειες καθώς είναι εκφράσεις. Η αξιολόγηση των guards πρέπει να προχωρά από το πρώτο " -"έως το τελευταίο case μπλοκ, ένα προς ένα, παραλείποντας τα case μπλοκ των οποίων τα πρότυπα δεν επιτυγχάνουν όλα. (Δηλαδή, " -"η αξιολόγηση των guards πρέπει να γίνει με τη σειρά.) Η αξιολόγηση των guards πρέπει να σταματήσει μόλις επιλεγεί ένα case " +"Οι guards επιτρέπεται να έχουν παρενέργειες καθώς είναι εκφράσεις. Η " +"αξιολόγηση των guards πρέπει να προχωρά από το πρώτο έως το τελευταίο case " +"μπλοκ, ένα προς ένα, παραλείποντας τα case μπλοκ των οποίων τα πρότυπα δεν " +"επιτυγχάνουν όλα. (Δηλαδή, η αξιολόγηση των guards πρέπει να γίνει με τη " +"σειρά.) Η αξιολόγηση των guards πρέπει να σταματήσει μόλις επιλεγεί ένα case " "μπλοκ." #: reference/compound_stmts.rst:743 @@ -1134,8 +1255,9 @@ msgid "" "An irrefutable case block is a match-all case block. A match statement may " "have at most one irrefutable case block, and it must be last." msgstr "" -"Ένα αδιάσειστο case μπλοκ είναι ένα case μπλοκ που ταιριάζει με τα πάντα. Μια δήλωση match μπορεί να έχει το πολύ ένα " -"αδιάσειστο case μπλοκ, και πρέπει να είναι το τελευταίο." +"Ένα αδιάσειστο case μπλοκ είναι ένα case μπλοκ που ταιριάζει με τα πάντα. " +"Μια δήλωση match μπορεί να έχει το πολύ ένα αδιάσειστο case μπλοκ, και " +"πρέπει να είναι το τελευταίο." #: reference/compound_stmts.rst:750 msgid "" @@ -1144,9 +1266,10 @@ msgid "" "syntax alone that it will always succeed. Only the following patterns are " "irrefutable:" msgstr "" -"Ένα case μπλοκ θεωρείται αδιάσειστο εάν δεν έχει guard και το πρότυπό του είναι αδιάσειστο. Ένα πρότυπο θεωρείται " -"αδιάσειστο εάν μπορούμε να αποδείξουμε μόνο από τη σύνταξή του ότι θα επιτυγχάνει πάντα. Μόνο τα ακόλουθα πρότυπα είναι " -"αδιάσειστα:" +"Ένα case μπλοκ θεωρείται αδιάσειστο εάν δεν έχει guard και το πρότυπό του " +"είναι αδιάσειστο. Ένα πρότυπο θεωρείται αδιάσειστο εάν μπορούμε να " +"αποδείξουμε μόνο από τη σύνταξή του ότι θα επιτυγχάνει πάντα. Μόνο τα " +"ακόλουθα πρότυπα είναι αδιάσειστα:" #: reference/compound_stmts.rst:755 msgid ":ref:`as-patterns` whose left-hand side is irrefutable" @@ -1174,15 +1297,20 @@ msgstr "Πρότυπα" #: reference/compound_stmts.rst:774 msgid "This section uses grammar notations beyond standard EBNF:" -msgstr "Αυτή η ενότητα χρησιμοποιεί σημειογραφίες γραμματικής πέρα από το τυπικό EBNF:" +msgstr "" +"Αυτή η ενότητα χρησιμοποιεί σημειογραφίες γραμματικής πέρα από το τυπικό " +"EBNF:" #: reference/compound_stmts.rst:776 msgid "the notation ``SEP.RULE+`` is shorthand for ``RULE (SEP RULE)*``" -msgstr "η σημειογραφία ``SEP.RULE+`` είναι συντομογραφία για το ``RULE (SEP RULE)*``" +msgstr "" +"η σημειογραφία ``SEP.RULE+`` είναι συντομογραφία για το ``RULE (SEP RULE)*``" #: reference/compound_stmts.rst:778 msgid "the notation ``!RULE`` is shorthand for a negative lookahead assertion" -msgstr "η σημειογραφία ``!RULE`` είναι συντομογραφία για έναν αρνητικό ισχυρισμό lookahead" +msgstr "" +"η σημειογραφία ``!RULE`` είναι συντομογραφία για έναν αρνητικό ισχυρισμό " +"lookahead" #: reference/compound_stmts.rst:781 msgid "The top-level syntax for ``patterns`` is:" @@ -1197,10 +1325,12 @@ msgid "" "the underlying implementation. Furthermore, they do not cover all valid " "forms." msgstr "" -"Οι παρακάτω περιγραφές θα περιλαμβάνουν μια περιγραφή \"με απλά λόγια\" του τι κάνει ένα πρότυπο για σκοπούς επεξήγησης " -"(ευχαριστίες στον Raymond Hettinger για ένα έγγραφο που ενέπνευσε τις περισσότερες περιγραφές). Σημειώστε ότι αυτές οι " -"περιγραφές προορίζονται καθαρά για σκοπούς επεξήγησης και **ενδέχεται να μην** αντανακλούν την υποκείμενη υλοποίηση. " -"Επιπλέον, δεν καλύπτουν όλες τις έγκυρες μορφές." +"Οι παρακάτω περιγραφές θα περιλαμβάνουν μια περιγραφή \"με απλά λόγια\" του " +"τι κάνει ένα πρότυπο για σκοπούς επεξήγησης (ευχαριστίες στον Raymond " +"Hettinger για ένα έγγραφο που ενέπνευσε τις περισσότερες περιγραφές). " +"Σημειώστε ότι αυτές οι περιγραφές προορίζονται καθαρά για σκοπούς επεξήγησης " +"και **ενδέχεται να μην** αντανακλούν την υποκείμενη υλοποίηση. Επιπλέον, δεν " +"καλύπτουν όλες τις έγκυρες μορφές." #: reference/compound_stmts.rst:805 msgid "OR Patterns" @@ -1210,15 +1340,18 @@ msgstr "OR Πρότυπα" msgid "" "An OR pattern is two or more patterns separated by vertical bars ``|``. " "Syntax:" -msgstr "Ένα OR πρότυπο αποτελείται από δύο ή περισσότερα πρότυπα χωρισμένα με κάθετες γραμμές ``|``. Σύνταξη:" +msgstr "" +"Ένα OR πρότυπο αποτελείται από δύο ή περισσότερα πρότυπα χωρισμένα με " +"κάθετες γραμμές ``|``. Σύνταξη:" #: reference/compound_stmts.rst:813 msgid "" "Only the final subpattern may be :ref:`irrefutable `, and " "each subpattern must bind the same set of names to avoid ambiguity." msgstr "" -"Μόνο το τελικό υπο-πρότυπο μπορεί να είναι :ref:`αδιάσειστο `, και κάθε υπο-πρότυπο πρέπει να δεσμεύει το " -"ίδιο σύνολο ονομάτων για να αποφευχθεί η ασάφεια." +"Μόνο το τελικό υπο-πρότυπο μπορεί να είναι :ref:`αδιάσειστο " +"`, και κάθε υπο-πρότυπο πρέπει να δεσμεύει το ίδιο σύνολο " +"ονομάτων για να αποφευχθεί η ασάφεια." #: reference/compound_stmts.rst:816 msgid "" @@ -1226,8 +1359,10 @@ msgid "" "until one succeeds. The OR pattern is then considered successful. " "Otherwise, if none of the subpatterns succeed, the OR pattern fails." msgstr "" -"Ένα OR πρότυπο ταιριάζει με καθένα από τα υπο-πρότυπά του διαδοχικά με την τιμή του θέματος, μέχρι κάποιο να επιτύχει. Το " -"OR πρότυπο θεωρείται τότε επιτυχημένο. Διαφορετικά, εάν κανένα από τα υποπρότυπα δεν επιτύχει, το OR πρότυπο αποτυγχάνει." +"Ένα OR πρότυπο ταιριάζει με καθένα από τα υπο-πρότυπά του διαδοχικά με την " +"τιμή του θέματος, μέχρι κάποιο να επιτύχει. Το OR πρότυπο θεωρείται τότε " +"επιτυχημένο. Διαφορετικά, εάν κανένα από τα υποπρότυπα δεν επιτύχει, το OR " +"πρότυπο αποτυγχάνει." #: reference/compound_stmts.rst:820 msgid "" @@ -1235,8 +1370,9 @@ msgid "" "will try to match ``P2``, succeeding immediately if any succeeds, failing " "otherwise." msgstr "" -"Με απλά λόγια, το ``P1 | P2 | ...`` θα προσπαθήσει να ταιριάξει το ``P1``, εάν αποτύχει θα προσπαθήσει να ταιριάξει το " -"``P2``, επιτυγχάνοντας αμέσως εάν οποιοδήποτε πετύχει, αποτυγχάνοντας διαφορετικά." +"Με απλά λόγια, το ``P1 | P2 | ...`` θα προσπαθήσει να ταιριάξει το ``P1``, " +"εάν αποτύχει θα προσπαθήσει να ταιριάξει το ``P2``, επιτυγχάνοντας αμέσως " +"εάν οποιοδήποτε πετύχει, αποτυγχάνοντας διαφορετικά." #: reference/compound_stmts.rst:826 msgid "AS Patterns" @@ -1247,7 +1383,8 @@ msgid "" "An AS pattern matches an OR pattern on the left of the :keyword:`as` keyword " "against a subject. Syntax:" msgstr "" -"Ένα AS πρότυπο ταιριάζει με ένα OR πρότυπο στα αριστερά της λέξης-κλειδιού :keyword:`as` έναντι ενός θέματος. Σύνταξη:" +"Ένα AS πρότυπο ταιριάζει με ένα OR πρότυπο στα αριστερά της λέξης-κλειδιού :" +"keyword:`as` έναντι ενός θέματος. Σύνταξη:" #: reference/compound_stmts.rst:834 msgid "" @@ -1255,14 +1392,17 @@ msgid "" "binds the subject to the name on the right of the as keyword and succeeds. " "``capture_pattern`` cannot be a ``_``." msgstr "" -"Εάν το OR πρότυπο αποτύχει, το AS πρότυπο αποτυγχάνει. Διαφορετικά, το AS πρότυπο δεσμεύει το θέμα στο όνομα στα δεξιά της " -"λέξης-κλειδιού as και επιτυγχάνει. Το ``capture_pattern`` δεν μπορεί να είναι ``_``." +"Εάν το OR πρότυπο αποτύχει, το AS πρότυπο αποτυγχάνει. Διαφορετικά, το AS " +"πρότυπο δεσμεύει το θέμα στο όνομα στα δεξιά της λέξης-κλειδιού as και " +"επιτυγχάνει. Το ``capture_pattern`` δεν μπορεί να είναι ``_``." #: reference/compound_stmts.rst:838 msgid "" "In simple terms ``P as NAME`` will match with ``P``, and on success it will " "set ``NAME = ``." -msgstr "Με απλά λόγια, το ``P as NAME`` θα ταιριάξει με το ``P``, και σε περίπτωση επιτυχίας θα ορίσει ``NAME = ``." +msgstr "" +"Με απλά λόγια, το ``P as NAME`` θα ταιριάξει με το ``P``, και σε περίπτωση " +"επιτυχίας θα ορίσει ``NAME = ``." #: reference/compound_stmts.rst:845 msgid "Literal Patterns" @@ -1272,7 +1412,9 @@ msgstr "Λεκτικά Πρότυπα" msgid "" "A literal pattern corresponds to most :ref:`literals ` in Python. " "Syntax:" -msgstr "Ένα λεκτικό πρότυπο αντιστοιχεί στα περισσότερα :ref:`literals ` στην Python. Σύνταξη:" +msgstr "" +"Ένα λεκτικό πρότυπο αντιστοιχεί στα περισσότερα :ref:`literals ` " +"στην Python. Σύνταξη:" #: reference/compound_stmts.rst:860 msgid "" @@ -1281,9 +1423,11 @@ msgid "" "supported. Raw strings and byte strings are supported. :ref:`f-strings` " "and :ref:`t-strings` are not supported." msgstr "" -"Ο κανόνας ``strings`` και το token ``NUMBER`` ορίζονται στο :doc:`standard Python grammar <./grammar>`. Υποστηρίζονται " -"συμβολοσειρές με τριπλά εισαγωγικά. Υποστηρίζονται ακατέργαστες συμβολοσειρές και byte συμβολοσειρές. Τα :ref:`f-strings` " -"και τα :ref:`t-strings` δεν υποστηρίζονται." +"Ο κανόνας ``strings`` και το token ``NUMBER`` ορίζονται στο :doc:`standard " +"Python grammar <./grammar>`. Υποστηρίζονται συμβολοσειρές με τριπλά " +"εισαγωγικά. Υποστηρίζονται ακατέργαστες συμβολοσειρές και byte " +"συμβολοσειρές. Τα :ref:`f-strings` και τα :ref:`t-strings` δεν " +"υποστηρίζονται." #: reference/compound_stmts.rst:865 msgid "" @@ -1291,8 +1435,9 @@ msgid "" "for expressing :ref:`complex numbers `; they require a real " "number on the left and an imaginary number on the right. E.g. ``3 + 4j``." msgstr "" -"Οι μορφές ``signed_number '+' NUMBER`` και ``signed_number '-' NUMBER`` είναι για την έκφραση :ref:`μιγαδικών αριθμών " -"`· απαιτούν έναν πραγματικό αριθμό αριστερά και έναν φανταστικό αριθμό δεξιά. Π.χ. ``3 + 4j``." +"Οι μορφές ``signed_number '+' NUMBER`` και ``signed_number '-' NUMBER`` " +"είναι για την έκφραση :ref:`μιγαδικών αριθμών `· απαιτούν έναν " +"πραγματικό αριθμό αριστερά και έναν φανταστικό αριθμό δεξιά. Π.χ. ``3 + 4j``." #: reference/compound_stmts.rst:869 msgid "" @@ -1300,8 +1445,9 @@ msgid "" "For the singletons ``None``, ``True`` and ``False``, the :keyword:`is` " "operator is used." msgstr "" -"Με απλά λόγια, το ``LITERAL`` θα πετύχει μόνο εάν `` == LITERAL``. Για τα singletons ``None``, ``True`` και " -"``False``, χρησιμοποιείται ο τελεστής :keyword:`is`." +"Με απλά λόγια, το ``LITERAL`` θα πετύχει μόνο εάν `` == LITERAL``. " +"Για τα singletons ``None``, ``True`` και ``False``, χρησιμοποιείται ο " +"τελεστής :keyword:`is`." #: reference/compound_stmts.rst:875 msgid "Capture Patterns" @@ -1309,7 +1455,8 @@ msgstr "Μοτίβα Δέσμευσης" #: reference/compound_stmts.rst:877 msgid "A capture pattern binds the subject value to a name. Syntax:" -msgstr "Ένα μοτίβο δέσμευσης δεσμεύει την τιμή του θέματος σε ένα όνομα. Σύνταξη:" +msgstr "" +"Ένα μοτίβο δέσμευσης δεσμεύει την τιμή του θέματος σε ένα όνομα. Σύνταξη:" #: reference/compound_stmts.rst:883 msgid "" @@ -1317,16 +1464,17 @@ msgid "" "expresses). It is instead treated as a :token:`~python-grammar:" "wildcard_pattern`." msgstr "" -"Μία μόνο κάτω παύλα ``_`` δεν μοτίβο δέσμευσης (αυτό εκφράζει το ``!'_'``). Αντιθέτως, αντιμετωπίζεται ως :token:`~python-" -"grammar:wildcard_pattern`." +"Μία μόνο κάτω παύλα ``_`` δεν μοτίβο δέσμευσης (αυτό εκφράζει το ``!'_'``). " +"Αντιθέτως, αντιμετωπίζεται ως :token:`~python-grammar:wildcard_pattern`." #: reference/compound_stmts.rst:887 msgid "" "In a given pattern, a given name can only be bound once. E.g. ``case x, " "x: ...`` is invalid while ``case [x] | x: ...`` is allowed." msgstr "" -"Σε ένα δεδομένο μοτίβο, ένα δεδομένο όνομα μπορεί να δεσμευτεί μόνο μία φορά. Π.χ. το ``case x, x: ...`` είναι μη έγκυρο, " -"ενώ το ``case [x] | x: ...`` επιτρέπεται." +"Σε ένα δεδομένο μοτίβο, ένα δεδομένο όνομα μπορεί να δεσμευτεί μόνο μία " +"φορά. Π.χ. το ``case x, x: ...`` είναι μη έγκυρο, ενώ το ``case [x] | x: ..." +"`` επιτρέπεται." #: reference/compound_stmts.rst:890 msgid "" @@ -1335,15 +1483,19 @@ msgid "" "becomes a local variable in the closest containing function scope unless " "there's an applicable :keyword:`global` or :keyword:`nonlocal` statement." msgstr "" -"Τα μοτίβα δέσμευσης επιτυγχάνουν πάντα. Η δέσμευση ακολουθεί τους κανόνες εύρους που καθιερώθηκαν από τον τελεστή έκφρασης " -"ανάθεσης στο :pep:`572`· το όνομα γίνεται μια τοπική μεταβλητή στο πλησιέστερο περιέχουν εύρος συνάρτησης, εκτός εάν " -"υπάρχει μια εφαρμόσιμη δήλωση :keyword:`global` ή :keyword:`nonlocal`." +"Τα μοτίβα δέσμευσης επιτυγχάνουν πάντα. Η δέσμευση ακολουθεί τους κανόνες " +"εύρους που καθιερώθηκαν από τον τελεστή έκφρασης ανάθεσης στο :pep:`572`· το " +"όνομα γίνεται μια τοπική μεταβλητή στο πλησιέστερο περιέχουν εύρος " +"συνάρτησης, εκτός εάν υπάρχει μια εφαρμόσιμη δήλωση :keyword:`global` ή :" +"keyword:`nonlocal`." #: reference/compound_stmts.rst:895 msgid "" "In simple terms ``NAME`` will always succeed and it will set ``NAME = " "``." -msgstr "Με απλά λόγια, το ``NAME`` θα πετυχαίνει πάντα και θα ορίζει το ``NAME = ``." +msgstr "" +"Με απλά λόγια, το ``NAME`` θα πετυχαίνει πάντα και θα ορίζει το ``NAME = " +"``." #: reference/compound_stmts.rst:900 msgid "Wildcard Patterns" @@ -1353,7 +1505,9 @@ msgstr "Μοτίβα Μπαλαντέρ" msgid "" "A wildcard pattern always succeeds (matches anything) and binds no name. " "Syntax:" -msgstr "Ένα μοτίβο μπαλαντέρ επιτυγχάνει πάντα (ταιριάζει με τα πάντα) και δεν δεσμεύει κανένα όνομα. Σύνταξη:" +msgstr "" +"Ένα μοτίβο μπαλαντέρ επιτυγχάνει πάντα (ταιριάζει με τα πάντα) και δεν " +"δεσμεύει κανένα όνομα. Σύνταξη:" #: reference/compound_stmts.rst:908 msgid "" @@ -1361,8 +1515,10 @@ msgid "" "within patterns. It is an identifier, as usual, even within ``match`` " "subject expressions, ``guard``\\ s, and ``case`` blocks." msgstr "" -"Το ``_`` είναι ένα :ref:`soft keyword ` εντός οποιουδήποτε μοτίβου, αλλά μόνο εντός μοτίβων. Είναι ένα " -"αναγνωριστικό, ως συνήθως, ακόμη και εντός των εκφράσεων θέματος στο ``match``, στα ``guard``, και στα μπλοκ ``case``." +"Το ``_`` είναι ένα :ref:`soft keyword ` εντός οποιουδήποτε " +"μοτίβου, αλλά μόνο εντός μοτίβων. Είναι ένα αναγνωριστικό, ως συνήθως, ακόμη " +"και εντός των εκφράσεων θέματος στο ``match``, στα ``guard``, και στα μπλοκ " +"``case``." #: reference/compound_stmts.rst:912 msgid "In simple terms, ``_`` will always succeed." @@ -1382,15 +1538,18 @@ msgid "" "resolution rules `. The pattern succeeds if the value found " "compares equal to the subject value (using the ``==`` equality operator)." msgstr "" -"Το όνομα με τελείες στο μοτίβο αναζητείται χρησιμοποιώντας τους τυπικούς :ref:`κανόνες ανάλυσης ονομάτων ` " -"της Python. Το πρότυπο επιτυγχάνει εάν η τιμή που βρέθηκε συγκρίνεται ως ίση με την τιμή του θέματος (χρησιμοποιώντας τον " -"τελεστή ισότητας ``==``)." +"Το όνομα με τελείες στο μοτίβο αναζητείται χρησιμοποιώντας τους τυπικούς :" +"ref:`κανόνες ανάλυσης ονομάτων ` της Python. Το πρότυπο " +"επιτυγχάνει εάν η τιμή που βρέθηκε συγκρίνεται ως ίση με την τιμή του " +"θέματος (χρησιμοποιώντας τον τελεστή ισότητας ``==``)." #: reference/compound_stmts.rst:932 msgid "" "In simple terms ``NAME1.NAME2`` will succeed only if `` == NAME1." "NAME2``" -msgstr "Με απλά λόγια, το ``NAME1.NAME2`` θα πετύχει μόνο εάν `` == NAME1.NAME2``" +msgstr "" +"Με απλά λόγια, το ``NAME1.NAME2`` θα πετύχει μόνο εάν `` == NAME1." +"NAME2``" #: reference/compound_stmts.rst:936 msgid "" @@ -1399,9 +1558,11 @@ msgid "" "the same lookup. This cache is strictly tied to a given execution of a " "given match statement." msgstr "" -"Εάν η ίδια τιμή εμφανίζεται πολλές φορές στην ίδια δήλωση match, ο διερμηνέας μπορεί να αποθηκεύσει στην προσωρινή μνήμη " -"την πρώτη τιμή που βρέθηκε και να την επαναχρησιμοποιήσει αντί να επαναλάβει την ίδια αναζήτηση. Αυτή η προσωρινή μνήμη " -"είναι αυστηρά συνδεδεμένη με μια δεδομένη εκτέλεση μιας δεδομένης εντολής match." +"Εάν η ίδια τιμή εμφανίζεται πολλές φορές στην ίδια δήλωση match, ο " +"διερμηνέας μπορεί να αποθηκεύσει στην προσωρινή μνήμη την πρώτη τιμή που " +"βρέθηκε και να την επαναχρησιμοποιήσει αντί να επαναλάβει την ίδια " +"αναζήτηση. Αυτή η προσωρινή μνήμη είναι αυστηρά συνδεδεμένη με μια δεδομένη " +"εκτέλεση μιας δεδομένης εντολής match." #: reference/compound_stmts.rst:944 msgid "Group Patterns" @@ -1412,8 +1573,9 @@ msgid "" "A group pattern allows users to add parentheses around patterns to emphasize " "the intended grouping. Otherwise, it has no additional syntax. Syntax:" msgstr "" -"Ένα μοτίβο ομαδοποίησης επιτρέπει στους χρήστες να προσθέτουν παρενθέσεις γύρω από τα μοτίβα για να τονίσουν την " -"επιδιωκόμενη ομαδοποίηση. Διαφορετικά, δεν έχει πρόσθετη σύνταξη. Σύνταξη:" +"Ένα μοτίβο ομαδοποίησης επιτρέπει στους χρήστες να προσθέτουν παρενθέσεις " +"γύρω από τα μοτίβα για να τονίσουν την επιδιωκόμενη ομαδοποίηση. " +"Διαφορετικά, δεν έχει πρόσθετη σύνταξη. Σύνταξη:" #: reference/compound_stmts.rst:953 msgid "In simple terms ``(P)`` has the same effect as ``P``." @@ -1428,16 +1590,17 @@ msgid "" "A sequence pattern contains several subpatterns to be matched against " "sequence elements. The syntax is similar to the unpacking of a list or tuple." msgstr "" -"Ένα μοτίβο ακολουθίας περιέχει πολλά υπο-πρότυπα που θα ταιριάξουν με τα στοιχεία μιας ακολουθίας. Η σύνταξη είναι παρόμοια " -"με την αποσυμπίεση μιας λίστας ή μιας πλειάδας." +"Ένα μοτίβο ακολουθίας περιέχει πολλά υπο-πρότυπα που θα ταιριάξουν με τα " +"στοιχεία μιας ακολουθίας. Η σύνταξη είναι παρόμοια με την αποσυμπίεση μιας " +"λίστας ή μιας πλειάδας." #: reference/compound_stmts.rst:971 msgid "" "There is no difference if parentheses or square brackets are used for " "sequence patterns (i.e. ``(...)`` vs ``[...]`` )." msgstr "" -"Δεν υπάρχει διαφορά, εάν χρησιμοποιούνται παρενθέσεις ή αγκύλες για τα μοτίβα ακολουθίας (δηλαδή ``(...)`` έναντι " -"``[...]``)." +"Δεν υπάρχει διαφορά, εάν χρησιμοποιούνται παρενθέσεις ή αγκύλες για τα " +"μοτίβα ακολουθίας (δηλαδή ``(...)`` έναντι ``[...]``)." #: reference/compound_stmts.rst:975 msgid "" @@ -1445,9 +1608,10 @@ msgid "" "| 4)``) is a :ref:`group pattern `. While a single pattern " "enclosed in square brackets (e.g. ``[3 | 4]``) is still a sequence pattern." msgstr "" -"Ένα μεμονωμένο μοτίβο περικλειόμενο σε παρενθέσεις χωρίς τελικό κόμμα (π.χ. ``(3 | 4)``) είναι ένα :ref:`μοτίβο " -"ομαδοποίησης `. Ενώ ένα μεμονωμένο μοτίβο περικλειόμενο σε αγκύλες (π.χ. ``[3 | 4]``) εξακολουθεί να είναι " -"ένα μοτίβο ακολουθίας." +"Ένα μεμονωμένο μοτίβο περικλειόμενο σε παρενθέσεις χωρίς τελικό κόμμα (π.χ. " +"``(3 | 4)``) είναι ένα :ref:`μοτίβο ομαδοποίησης `. Ενώ ένα " +"μεμονωμένο μοτίβο περικλειόμενο σε αγκύλες (π.χ. ``[3 | 4]``) εξακολουθεί να " +"είναι ένα μοτίβο ακολουθίας." #: reference/compound_stmts.rst:980 msgid "" @@ -1456,32 +1620,41 @@ msgid "" "sequence pattern is a fixed-length sequence pattern; otherwise it is a " "variable-length sequence pattern." msgstr "" -"Μπορεί να υπάρχει το πολύ ένα υπο-μοτίβο με αστερίσκο σε ένα μοτίβο ακολουθίας. Το υπο-μοτίβο με αστερίσκο μπορεί να " -"εμφανιστεί σε οποιαδήποτε θέση. Εάν δεν υπάρχει υπο-μοτίβο με αστερίσκο, το μοτίβο ακολουθίας είναι σταθερού μήκους· " -"διαφορετικά είναι μεταβλητού μήκους." +"Μπορεί να υπάρχει το πολύ ένα υπο-μοτίβο με αστερίσκο σε ένα μοτίβο " +"ακολουθίας. Το υπο-μοτίβο με αστερίσκο μπορεί να εμφανιστεί σε οποιαδήποτε " +"θέση. Εάν δεν υπάρχει υπο-μοτίβο με αστερίσκο, το μοτίβο ακολουθίας είναι " +"σταθερού μήκους· διαφορετικά είναι μεταβλητού μήκους." #: reference/compound_stmts.rst:985 msgid "" "The following is the logical flow for matching a sequence pattern against a " "subject value:" -msgstr "Ακολουθεί η λογική ροή για το ταίριασμα ενός μοτίβο ακολουθίας έναντι μιας τιμής θέματος:" +msgstr "" +"Ακολουθεί η λογική ροή για το ταίριασμα ενός μοτίβο ακολουθίας έναντι μιας " +"τιμής θέματος:" #: reference/compound_stmts.rst:988 msgid "" "If the subject value is not a sequence [#]_, the sequence pattern fails." -msgstr "Εάν η τιμή του θέματος δεν είναι μια ακολουθία [#]_, το μοτίβο ακολουθίας αποτυγχάνει." +msgstr "" +"Εάν η τιμή του θέματος δεν είναι μια ακολουθία [#]_, το μοτίβο ακολουθίας " +"αποτυγχάνει." #: reference/compound_stmts.rst:991 msgid "" "If the subject value is an instance of ``str``, ``bytes`` or ``bytearray`` " "the sequence pattern fails." -msgstr "Εάν η τιμή του θέματος είναι στιγμιότυπο των ``str``, ``bytes`` ή ``bytearray`` το μοτίβο ακολουθίας αποτυγχάνει." +msgstr "" +"Εάν η τιμή του θέματος είναι στιγμιότυπο των ``str``, ``bytes`` ή " +"``bytearray`` το μοτίβο ακολουθίας αποτυγχάνει." #: reference/compound_stmts.rst:994 msgid "" "The subsequent steps depend on whether the sequence pattern is fixed or " "variable-length." -msgstr "Τα επόμενα βήματα εξαρτώνται από το αν το μοτίβο ακολουθίας είναι σταθερού ή μεταβλητού μήκους." +msgstr "" +"Τα επόμενα βήματα εξαρτώνται από το αν το μοτίβο ακολουθίας είναι σταθερού ή " +"μεταβλητού μήκους." #: reference/compound_stmts.rst:997 msgid "If the sequence pattern is fixed-length:" @@ -1491,7 +1664,9 @@ msgstr "Εάν το μοτίβο ακολουθίας είναι σταθερο msgid "" "If the length of the subject sequence is not equal to the number of " "subpatterns, the sequence pattern fails" -msgstr "Εάν το μήκος της ακολουθίας θέματος δεν είναι ίσο με τον αριθμό των υπο-μοτίβων, το μοτίβο ακολουθίας αποτυγχάνει" +msgstr "" +"Εάν το μήκος της ακολουθίας θέματος δεν είναι ίσο με τον αριθμό των υπο-" +"μοτίβων, το μοτίβο ακολουθίας αποτυγχάνει" #: reference/compound_stmts.rst:1002 msgid "" @@ -1500,9 +1675,10 @@ msgid "" "subpattern fails. If all subpatterns succeed in matching their " "corresponding item, the sequence pattern succeeds." msgstr "" -"Τα υπο-μοτίβα στο μοτίβο ακολουθίας ταιριάζουν με τα αντίστοιχα στοιχεία τους στην ακολουθία θέματος από αριστερά προς τα " -"δεξιά. Το ταίριασμα σταματά μόλις αποτύχει ένα υπο-μοτίβο Εάν όλα τα υπο-μοτίβα επιτύχουν στο ταίριασμα του αντίστοιχου " -"στοιχείου τους, το μοτίβο ακολουθίας επιτυγχάνει." +"Τα υπο-μοτίβα στο μοτίβο ακολουθίας ταιριάζουν με τα αντίστοιχα στοιχεία " +"τους στην ακολουθία θέματος από αριστερά προς τα δεξιά. Το ταίριασμα σταματά " +"μόλις αποτύχει ένα υπο-μοτίβο Εάν όλα τα υπο-μοτίβα επιτύχουν στο ταίριασμα " +"του αντίστοιχου στοιχείου τους, το μοτίβο ακολουθίας επιτυγχάνει." #: reference/compound_stmts.rst:1007 msgid "Otherwise, if the sequence pattern is variable-length:" @@ -1513,15 +1689,16 @@ msgid "" "If the length of the subject sequence is less than the number of non-star " "subpatterns, the sequence pattern fails." msgstr "" -"Εάν το μήκος της ακολουθίας θέματος είναι μικρότερο από τον αριθμό των υπο-μοτίβων χωρίς αστερίσκο, το μοτίβο ακολουθίας " -"αποτυγχάνει." +"Εάν το μήκος της ακολουθίας θέματος είναι μικρότερο από τον αριθμό των υπο-" +"μοτίβων χωρίς αστερίσκο, το μοτίβο ακολουθίας αποτυγχάνει." #: reference/compound_stmts.rst:1012 msgid "" "The leading non-star subpatterns are matched to their corresponding items as " "for fixed-length sequences." msgstr "" -"Τα αρχικά υπο-μοτίβα χωρίς αστερίσκο ταιριάζουν με τα αντίστοιχα στοιχεία τους όπως και για τις ακολουθίες σταθερού μήκους." +"Τα αρχικά υπο-μοτίβα χωρίς αστερίσκο ταιριάζουν με τα αντίστοιχα στοιχεία " +"τους όπως και για τις ακολουθίες σταθερού μήκους." #: reference/compound_stmts.rst:1015 msgid "" @@ -1529,17 +1706,18 @@ msgid "" "the remaining subject items, excluding the remaining items corresponding to " "non-star subpatterns following the star subpattern." msgstr "" -"Εάν το προηγούμενο βήμα επιτύχει, το υπο-μοτίβο με αστερίσκο ταιριάζει με μια λίστα που σχηματίζεται από τα εναπομείναντα " -"στοιχεία του θέματος, εξαιρουμένων των στοιχείων που αντιστοιχούν σε υπο-μοτίβα χωρίς αστερίσκο τα οποία ακολουθούν το υπο-" -"μοτίβο με αστερίσκο." +"Εάν το προηγούμενο βήμα επιτύχει, το υπο-μοτίβο με αστερίσκο ταιριάζει με " +"μια λίστα που σχηματίζεται από τα εναπομείναντα στοιχεία του θέματος, " +"εξαιρουμένων των στοιχείων που αντιστοιχούν σε υπο-μοτίβα χωρίς αστερίσκο τα " +"οποία ακολουθούν το υπο-μοτίβο με αστερίσκο." #: reference/compound_stmts.rst:1019 msgid "" "Remaining non-star subpatterns are matched to their corresponding subject " "items, as for a fixed-length sequence." msgstr "" -"Τα εναπομείναντα υπο-μοτίβα χωρίς αστερίσκο ταιριάζουν με τα αντίστοιχα στοιχεία του θέματος, όπως και για μια ακολουθία " -"σταθερού μήκους." +"Τα εναπομείναντα υπο-μοτίβα χωρίς αστερίσκο ταιριάζουν με τα αντίστοιχα " +"στοιχεία του θέματος, όπως και για μια ακολουθία σταθερού μήκους." #: reference/compound_stmts.rst:1022 msgid "" @@ -1547,15 +1725,18 @@ msgid "" "the :meth:`~object.__len__` protocol). This length may be cached by the " "interpreter in a similar manner as :ref:`value patterns `." msgstr "" -"Το μήκος της ακολουθίας θέματος λαμβάνεται μέσω της :func:`len` (δηλαδή μέσω του πρωτοκόλλου :meth:`~object.__len__`). Αυτό " -"το μήκος μπορεί να αποθηκευτεί στην προσωρινή μνήμη από τον διερμηνέα με παρόμοιο τρόπο όπως τα :ref:`μοτίβα τιμής `." +"Το μήκος της ακολουθίας θέματος λαμβάνεται μέσω της :func:`len` (δηλαδή μέσω " +"του πρωτοκόλλου :meth:`~object.__len__`). Αυτό το μήκος μπορεί να " +"αποθηκευτεί στην προσωρινή μνήμη από τον διερμηνέα με παρόμοιο τρόπο όπως " +"τα :ref:`μοτίβα τιμής `." #: reference/compound_stmts.rst:1028 msgid "" "In simple terms ``[P1, P2, P3,`` ... ``, P]`` matches only if all the " "following happens:" -msgstr "Με απλά λόγια, το ``[P1, P2, P3,`` ... ``, P]`` ταιριάζει μόνο εάν συμβούν όλα τα ακόλουθα:" +msgstr "" +"Με απλά λόγια, το ``[P1, P2, P3,`` ... ``, P]`` ταιριάζει μόνο εάν " +"συμβούν όλα τα ακόλουθα:" #: reference/compound_stmts.rst:1031 msgid "check ```` is a sequence" @@ -1568,12 +1749,16 @@ msgstr "``len(subject) == ``" #: reference/compound_stmts.rst:1033 msgid "" "``P1`` matches ``[0]`` (note that this match can also bind names)" -msgstr "το ``P1`` ταιριάζει στο ``[0]`` (σημειώστε ότι αυτό το ταίριασμα μπορεί επίσης να δεσμεύσει ονόματα)" +msgstr "" +"το ``P1`` ταιριάζει στο ``[0]`` (σημειώστε ότι αυτό το ταίριασμα " +"μπορεί επίσης να δεσμεύσει ονόματα)" #: reference/compound_stmts.rst:1034 msgid "" "``P2`` matches ``[1]`` (note that this match can also bind names)" -msgstr "το ``P2`` ταιριάζει στο ``[1]`` (σημειώστε ότι αυτό το ταίριασμα μπορεί επίσης να δεσμεύσει ονόματα)" +msgstr "" +"το ``P2`` ταιριάζει στο ``[1]`` (σημειώστε ότι αυτό το ταίριασμα " +"μπορεί επίσης να δεσμεύσει ονόματα)" #: reference/compound_stmts.rst:1035 msgid "... and so on for the corresponding pattern/element." @@ -1588,16 +1773,17 @@ msgid "" "A mapping pattern contains one or more key-value patterns. The syntax is " "similar to the construction of a dictionary. Syntax:" msgstr "" -"Ένα μοτίβο αντιστοίχισης περιέχει ένα ή περισσότερα μοτίβα κλειδιού-τιμής. Η σύνταξη είναι παρόμοια με την κατασκευή ενός " -"λεξικού. Σύνταξη:" +"Ένα μοτίβο αντιστοίχισης περιέχει ένα ή περισσότερα μοτίβα κλειδιού-τιμής. Η " +"σύνταξη είναι παρόμοια με την κατασκευή ενός λεξικού. Σύνταξη:" #: reference/compound_stmts.rst:1053 msgid "" "At most one double star pattern may be in a mapping pattern. The double " "star pattern must be the last subpattern in the mapping pattern." msgstr "" -"Μπορεί να υπάρχει το πολύ ένα μοτίβο με διπλό αστερίσκο σε ένα μοτίβο αντιστοίχισης. Το μοτίβο με διπλό αστερίσκο πρέπει να " -"είναι το τελευταίο υπο-μοτίβο στο μοτίβο αντιστοίχισης." +"Μπορεί να υπάρχει το πολύ ένα μοτίβο με διπλό αστερίσκο σε ένα μοτίβο " +"αντιστοίχισης. Το μοτίβο με διπλό αστερίσκο πρέπει να είναι το τελευταίο υπο-" +"μοτίβο στο μοτίβο αντιστοίχισης." #: reference/compound_stmts.rst:1056 msgid "" @@ -1605,19 +1791,24 @@ msgid "" "will raise a :exc:`SyntaxError`. Two keys that otherwise have the same value " "will raise a :exc:`ValueError` at runtime." msgstr "" -"Δεν επιτρέπονται διπλότυπα κλειδιά σε μοτίβα αντιστοίχισης. Τα διπλότυπα λεκτικά κλειδιά θα κάνουν raise " -"ένα :exc:`SyntaxError`. Δύο κλειδιά που κατά τα άλλα έχουν την ίδια τιμή θα κάνουν raise ένα :exc:`ValueError` κατά τον " +"Δεν επιτρέπονται διπλότυπα κλειδιά σε μοτίβα αντιστοίχισης. Τα διπλότυπα " +"λεκτικά κλειδιά θα κάνουν raise ένα :exc:`SyntaxError`. Δύο κλειδιά που κατά " +"τα άλλα έχουν την ίδια τιμή θα κάνουν raise ένα :exc:`ValueError` κατά τον " "χρόνο εκτέλεσης." #: reference/compound_stmts.rst:1060 msgid "" "The following is the logical flow for matching a mapping pattern against a " "subject value:" -msgstr "Ακολουθεί η λογική ροή για το ταίριασμα ενός μοτίβο αντιστοίχισης έναντι μιας τιμής θέματος:" +msgstr "" +"Ακολουθεί η λογική ροή για το ταίριασμα ενός μοτίβο αντιστοίχισης έναντι " +"μιας τιμής θέματος:" #: reference/compound_stmts.rst:1063 msgid "If the subject value is not a mapping [#]_,the mapping pattern fails." -msgstr "Εάν η τιμή του θέματος δεν είναι μία αντιστοίχιση [#]_, το μοτίβο αντιστοίχισης αποτυγχάνει." +msgstr "" +"Εάν η τιμή του θέματος δεν είναι μία αντιστοίχιση [#]_, το μοτίβο " +"αντιστοίχισης αποτυγχάνει." #: reference/compound_stmts.rst:1065 msgid "" @@ -1625,8 +1816,10 @@ msgid "" "and the pattern for each key matches the corresponding item of the subject " "mapping, the mapping pattern succeeds." msgstr "" -"Εάν κάθε κλειδί που δίνεται στο μοτίβο αντιστοίχισης είναι παρόν στην αντιστοίχιση του θέματος, και το μοτίβο για κάθε " -"κλειδί ταιριάζει με το αντίστοιχο στοιχείο της αντιστοίχισης του θέματος, το μοτίβο αντιστοίχισης επιτυγχάνει." +"Εάν κάθε κλειδί που δίνεται στο μοτίβο αντιστοίχισης είναι παρόν στην " +"αντιστοίχιση του θέματος, και το μοτίβο για κάθε κλειδί ταιριάζει με το " +"αντίστοιχο στοιχείο της αντιστοίχισης του θέματος, το μοτίβο αντιστοίχισης " +"επιτυγχάνει." #: reference/compound_stmts.rst:1069 msgid "" @@ -1634,8 +1827,10 @@ msgid "" "considered invalid. A :exc:`SyntaxError` is raised for duplicate literal " "values; or a :exc:`ValueError` for named keys of the same value." msgstr "" -"Εάν ανιχνευτούν διπλότυπα κλειδιά στο μοτίβο αντιστοίχισης, το μοτίβο θεωρείται μη έγκυρο. Γίνεται raise " -"ένα :exc:`SyntaxError` για διπλότυπες λεκτικές τιμές· ή ένα :exc:`ValueError` για ονομασμένα κλειδιά με την ίδια τιμή." +"Εάν ανιχνευτούν διπλότυπα κλειδιά στο μοτίβο αντιστοίχισης, το μοτίβο " +"θεωρείται μη έγκυρο. Γίνεται raise ένα :exc:`SyntaxError` για διπλότυπες " +"λεκτικές τιμές· ή ένα :exc:`ValueError` για ονομασμένα κλειδιά με την ίδια " +"τιμή." #: reference/compound_stmts.rst:1073 msgid "" @@ -1644,15 +1839,19 @@ msgid "" "in the mapping, and not created on-the-fly via :meth:`~object.__missing__` " "or :meth:`~object.__getitem__`." msgstr "" -"Τα ζεύγη κλειδιού-τιμής ταιριάζονται χρησιμοποιώντας τη μορφή των δύο ορισμάτων της μεθόδου ``get()`` της αντιστοίχισης του " -"θέματος. Τα ταιριασμένα ζεύγη κλειδιού-τιμής πρέπει να είναι ήδη παρόντα στην αντιστοίχιση, και να μην δημιουργούνται " -"δυναμικά μέσω της :meth:`~object.__missing__` ή της :meth:`~object.__getitem__`." +"Τα ζεύγη κλειδιού-τιμής ταιριάζονται χρησιμοποιώντας τη μορφή των δύο " +"ορισμάτων της μεθόδου ``get()`` της αντιστοίχισης του θέματος. Τα " +"ταιριασμένα ζεύγη κλειδιού-τιμής πρέπει να είναι ήδη παρόντα στην " +"αντιστοίχιση, και να μην δημιουργούνται δυναμικά μέσω της :meth:`~object." +"__missing__` ή της :meth:`~object.__getitem__`." #: reference/compound_stmts.rst:1078 msgid "" "In simple terms ``{KEY1: P1, KEY2: P2, ... }`` matches only if all the " "following happens:" -msgstr "Με απλά λόγια, το ``{KEY1: P1, KEY2: P2, ... }`` ταιριάζει μόνο εάν συμβούν όλα τα ακόλουθα:" +msgstr "" +"Με απλά λόγια, το ``{KEY1: P1, KEY2: P2, ... }`` ταιριάζει μόνο εάν συμβούν " +"όλα τα ακόλουθα:" #: reference/compound_stmts.rst:1081 msgid "check ```` is a mapping" @@ -1678,7 +1877,9 @@ msgstr "Μοτίβα Κλάσης" msgid "" "A class pattern represents a class and its positional and keyword arguments " "(if any). Syntax:" -msgstr "Ένα μοτίβο κλάσης αναπαριστά μια κλάση και τα ορίσματα θέσης και λέξης κλειδιού της (εάν υπάρχουν). Σύνταξη:" +msgstr "" +"Ένα μοτίβο κλάσης αναπαριστά μια κλάση και τα ορίσματα θέσης και λέξης " +"κλειδιού της (εάν υπάρχουν). Σύνταξη:" #: reference/compound_stmts.rst:1103 msgid "The same keyword should not be repeated in class patterns." @@ -1688,21 +1889,25 @@ msgstr "Η ίδια λέξη-κλειδί δεν πρέπει να επαναλ msgid "" "The following is the logical flow for matching a class pattern against a " "subject value:" -msgstr "Ακολουθεί η λογική ροή για το ταίριασμα ενός μοτίβου κλάσης έναντι μιας τιμής θέματος:" +msgstr "" +"Ακολουθεί η λογική ροή για το ταίριασμα ενός μοτίβου κλάσης έναντι μιας " +"τιμής θέματος:" #: reference/compound_stmts.rst:1108 msgid "" "If ``name_or_attr`` is not an instance of the builtin :class:`type` , raise :" "exc:`TypeError`." -msgstr "Εάν το ``name_or_attr`` δεν είναι στιγμιότυπο του ενσωματωμένου :class:`type`, γίνεται raise ένα :exc:`TypeError`." +msgstr "" +"Εάν το ``name_or_attr`` δεν είναι στιγμιότυπο του ενσωματωμένου :class:" +"`type`, γίνεται raise ένα :exc:`TypeError`." #: reference/compound_stmts.rst:1111 msgid "" "If the subject value is not an instance of ``name_or_attr`` (tested via :" "func:`isinstance`), the class pattern fails." msgstr "" -"Εάν η τιμή του θέματος δεν είναι στιγμιότυπο του ``name_or_attr`` (ελέγχεται μέσω της :func:`isinstance`), το μοτίβο κλάσης " -"αποτυγχάνει." +"Εάν η τιμή του θέματος δεν είναι στιγμιότυπο του ``name_or_attr`` (ελέγχεται " +"μέσω της :func:`isinstance`), το μοτίβο κλάσης αποτυγχάνει." #: reference/compound_stmts.rst:1114 msgid "" @@ -1710,8 +1915,9 @@ msgid "" "subsequent steps depend on whether keyword or positional argument patterns " "are present." msgstr "" -"Εάν δεν υπάρχουν ορίσματα μοτίβου, το μοτίβο επιτυγχάνει. Διαφορετικά, τα επόμενα βήματα εξαρτώνται από το αν υπάρχουν " -"μοτίβα λέξης-κλειδιού ή ορισμάτων θέσης." +"Εάν δεν υπάρχουν ορίσματα μοτίβου, το μοτίβο επιτυγχάνει. Διαφορετικά, τα " +"επόμενα βήματα εξαρτώνται από το αν υπάρχουν μοτίβα λέξης-κλειδιού ή " +"ορισμάτων θέσης." #: reference/compound_stmts.rst:1118 msgid "" @@ -1719,15 +1925,18 @@ msgid "" "subpattern is accepted which will match the entire subject; for these types " "keyword patterns also work as for other types." msgstr "" -"Για έναν αριθμό ενσωματωμένων τύπων (καθορίζονται παρακάτω), γίνεται αποδεκτό ένα μεμονωμένο υπο-μοτίβο θέσης το οποίο θα " -"ταιριάξει με ολόκληρο το θέμα· για αυτούς τους τύπους, τα μοτίβα λέξης-κλειδιού λειτουργούν επίσης όπως και για άλλους " -"τύπους." +"Για έναν αριθμό ενσωματωμένων τύπων (καθορίζονται παρακάτω), γίνεται " +"αποδεκτό ένα μεμονωμένο υπο-μοτίβο θέσης το οποίο θα ταιριάξει με ολόκληρο " +"το θέμα· για αυτούς τους τύπους, τα μοτίβα λέξης-κλειδιού λειτουργούν επίσης " +"όπως και για άλλους τύπους." #: reference/compound_stmts.rst:1122 msgid "" "If only keyword patterns are present, they are processed as follows, one by " "one:" -msgstr "Εάν υπάρχουν μόνο μοτίβα λέξης-κλειδιού, επεξεργάζονται ως εξής, ένα προς ένα:" +msgstr "" +"Εάν υπάρχουν μόνο μοτίβα λέξης-κλειδιού, επεξεργάζονται ως εξής, ένα προς " +"ένα:" #: reference/compound_stmts.rst:1125 msgid "The keyword is looked up as an attribute on the subject." @@ -1737,11 +1946,14 @@ msgstr "Η λέξη-κλειδί αναζητείται ως χαρακτηρι msgid "" "If this raises an exception other than :exc:`AttributeError`, the exception " "bubbles up." -msgstr "Εάν κάνει raise μια εξαίρεση διαφορετική από το :exc:`AttributeError`, η εξαίρεση ανεβαίνει προς τα πάνω." +msgstr "" +"Εάν κάνει raise μια εξαίρεση διαφορετική από το :exc:`AttributeError`, η " +"εξαίρεση ανεβαίνει προς τα πάνω." #: reference/compound_stmts.rst:1130 msgid "If this raises :exc:`AttributeError`, the class pattern has failed." -msgstr "Εάν κάνει raise το :exc:`AttributeError`, το μοτίβο κλάσης έχει αποτύχει." +msgstr "" +"Εάν κάνει raise το :exc:`AttributeError`, το μοτίβο κλάσης έχει αποτύχει." #: reference/compound_stmts.rst:1132 msgid "" @@ -1749,12 +1961,15 @@ msgid "" "the subject's attribute value. If this fails, the class pattern fails; if " "this succeeds, the match proceeds to the next keyword." msgstr "" -"Αλλιώς, το υπο-μοτίβο που σχετίζεται με το μοτίβο λέξης-κλειδιού ταιριάζεται με την τιμή του χαρακτηριστικού του θέματος. " -"Εάν αυτό αποτύχει, το μοτίβο κλάσης αποτυγχάνει· εάν επιτύχει, το ταίριασμα προχωρά στην επόμενη λέξη-κλειδί." +"Αλλιώς, το υπο-μοτίβο που σχετίζεται με το μοτίβο λέξης-κλειδιού ταιριάζεται " +"με την τιμή του χαρακτηριστικού του θέματος. Εάν αυτό αποτύχει, το μοτίβο " +"κλάσης αποτυγχάνει· εάν επιτύχει, το ταίριασμα προχωρά στην επόμενη λέξη-" +"κλειδί." #: reference/compound_stmts.rst:1137 msgid "If all keyword patterns succeed, the class pattern succeeds." -msgstr "Εάν όλα τα μοτίβα λέξης-κλειδιού επιτύχουν, το μοτίβο κλάσης επιτυγχάνει." +msgstr "" +"Εάν όλα τα μοτίβα λέξης-κλειδιού επιτύχουν, το μοτίβο κλάσης επιτυγχάνει." #: reference/compound_stmts.rst:1139 msgid "" @@ -1762,8 +1977,9 @@ msgid "" "patterns using the :data:`~object.__match_args__` attribute on the class " "``name_or_attr`` before matching:" msgstr "" -"Εάν υπάρχουν οποιαδήποτε μοτίβα θέσης, μετατρέπονται σε μοτίβα λέξης-κλειδιού χρησιμοποιώντας το " -"χαρακτηριστικό :data:`~object.__match_args__` πάνω στην κλάση ``name_or_attr`` πριν από το ταίριασμα:" +"Εάν υπάρχουν οποιαδήποτε μοτίβα θέσης, μετατρέπονται σε μοτίβα λέξης-" +"κλειδιού χρησιμοποιώντας το χαρακτηριστικό :data:`~object.__match_args__` " +"πάνω στην κλάση ``name_or_attr`` πριν από το ταίριασμα:" #: reference/compound_stmts.rst:1143 msgid "The equivalent of ``getattr(cls, \"__match_args__\", ())`` is called." @@ -1777,13 +1993,17 @@ msgstr "Εάν κάνει raise μια εξαίρεση, η εξαίρεση α msgid "" "If the returned value is not a tuple, the conversion fails and :exc:" "`TypeError` is raised." -msgstr "Εάν η επιστρεφόμενη τιμή δεν είναι πλειάδα, η μετατροπή αποτυγχάνει και γίνεται raise το :exc:`TypeError`." +msgstr "" +"Εάν η επιστρεφόμενη τιμή δεν είναι πλειάδα, η μετατροπή αποτυγχάνει και " +"γίνεται raise το :exc:`TypeError`." #: reference/compound_stmts.rst:1150 msgid "" "If there are more positional patterns than ``len(cls.__match_args__)``, :exc:" "`TypeError` is raised." -msgstr "Εάν υπάρχουν περισσότερα μοτίβα θέσης από το ``len(cls.__match_args__)``, γίνεται raise το :exc:`TypeError`." +msgstr "" +"Εάν υπάρχουν περισσότερα μοτίβα θέσης από το ``len(cls.__match_args__)``, " +"γίνεται raise το :exc:`TypeError`." #: reference/compound_stmts.rst:1153 msgid "" @@ -1791,12 +2011,15 @@ msgid "" "``__match_args__[i]`` as the keyword. ``__match_args__[i]`` must be a " "string; if not :exc:`TypeError` is raised." msgstr "" -"Διαφορετικά, το μοτίβο θέσης ``i`` μετατρέπεται σε ένα μοτίβο λέξης-κλειδιού χρησιμοποιώντας το ``__match_args__[i]`` ως " -"λέξη-κλειδί. Το ``__match_args__[i]`` πρέπει να είναι συμβολοσειρά· εάν όχι, γίνεται raise το :exc:`TypeError`." +"Διαφορετικά, το μοτίβο θέσης ``i`` μετατρέπεται σε ένα μοτίβο λέξης-κλειδιού " +"χρησιμοποιώντας το ``__match_args__[i]`` ως λέξη-κλειδί. Το " +"``__match_args__[i]`` πρέπει να είναι συμβολοσειρά· εάν όχι, γίνεται raise " +"το :exc:`TypeError`." #: reference/compound_stmts.rst:1157 msgid "If there are duplicate keywords, :exc:`TypeError` is raised." -msgstr "Εάν υπάρχουν διπλότυπες λέξεις-κλειδιά, γίνεται raise το :exc:`TypeError`." +msgstr "" +"Εάν υπάρχουν διπλότυπες λέξεις-κλειδιά, γίνεται raise το :exc:`TypeError`." #: reference/compound_stmts.rst:1159 msgid ":ref:`class-pattern-matching`" @@ -1807,14 +2030,16 @@ msgid "" "Once all positional patterns have been converted to keyword patterns, the " "match proceeds as if there were only keyword patterns." msgstr "" -"Μόλις όλα τα μοτίβα θέσης μετατραπούν σε μοτίβα λέξης-κλειδιού, το ταίριασμα προχωρά σαν να υπήρχαν μόνο μοτίβα λέξης-" -"κλειδιού." +"Μόλις όλα τα μοτίβα θέσης μετατραπούν σε μοτίβα λέξης-κλειδιού, το ταίριασμα " +"προχωρά σαν να υπήρχαν μόνο μοτίβα λέξης-κλειδιού." #: reference/compound_stmts.rst:1164 msgid "" "For the following built-in types the handling of positional subpatterns is " "different:" -msgstr "Για τους ακόλουθους ενσωματωμένους τύπους, ο χειρισμός των υπο-μοτίβων θέσης είναι διαφορετικός:" +msgstr "" +"Για τους ακόλουθους ενσωματωμένους τύπους, ο χειρισμός των υπο-μοτίβων θέσης " +"είναι διαφορετικός:" #: reference/compound_stmts.rst:1167 msgid ":class:`bool`" @@ -1866,13 +2091,17 @@ msgid "" "matched against the whole object rather than an attribute. For example " "``int(0|1)`` matches the value ``0``, but not the value ``0.0``." msgstr "" -"Αυτές οι κλάσεις δέχονται ένα μόνο όρισμα θέσης, και το μοτίβο εκεί ταιριάζεται έναντι ολόκληρου του αντικειμένου αντί για " -"ένα χαρακτηριστικό. Για παράδειγμα το ``int(0|1)`` ταιριάζει με την τιμή ``0``, αλλά όχι με την τιμή ``0.0``." +"Αυτές οι κλάσεις δέχονται ένα μόνο όρισμα θέσης, και το μοτίβο εκεί " +"ταιριάζεται έναντι ολόκληρου του αντικειμένου αντί για ένα χαρακτηριστικό. " +"Για παράδειγμα το ``int(0|1)`` ταιριάζει με την τιμή ``0``, αλλά όχι με την " +"τιμή ``0.0``." #: reference/compound_stmts.rst:1183 msgid "" "In simple terms ``CLS(P1, attr=P2)`` matches only if the following happens:" -msgstr "Με απλά λόγια, το ``CLS(P1, attr=P2)`` ταιριάζει μόνο εάν συμβαίνουν τα ακόλουθα:" +msgstr "" +"Με απλά λόγια, το ``CLS(P1, attr=P2)`` ταιριάζει μόνο εάν συμβαίνουν τα " +"ακόλουθα:" #: reference/compound_stmts.rst:1185 msgid "``isinstance(, CLS)``" @@ -1880,7 +2109,9 @@ msgstr "``isinstance(, CLS)``" #: reference/compound_stmts.rst:1186 msgid "convert ``P1`` to a keyword pattern using ``CLS.__match_args__``" -msgstr "μετατροπή του ``P1`` σε μοτίβο λέξης-κλειδιού χρησιμοποιώντας το ``CLS.__match_args__``" +msgstr "" +"μετατροπή του ``P1`` σε μοτίβο λέξης-κλειδιού χρησιμοποιώντας το ``CLS." +"__match_args__``" #: reference/compound_stmts.rst:1187 msgid "For each keyword argument ``attr=P2``:" @@ -1896,7 +2127,9 @@ msgstr "το ``P2`` ταιριάζει στο ``.attr``" #: reference/compound_stmts.rst:1192 msgid "... and so on for the corresponding keyword argument/pattern pair." -msgstr "... και ούτω καθεξής για το αντίστοιχο ζεύγος ορίσματος λέξης-κλειδιού/μοτίβου." +msgstr "" +"... και ούτω καθεξής για το αντίστοιχο ζεύγος ορίσματος λέξης-κλειδιού/" +"μοτίβου." #: reference/compound_stmts.rst:1207 msgid "Function definitions" @@ -1906,7 +2139,9 @@ msgstr "Ορισμοί συναρτήσεων" msgid "" "A function definition defines a user-defined function object (see section :" "ref:`types`):" -msgstr "Ένας ορισμός συνάρτησης ορίζει ένα αντικείμενο συνάρτησης ορισμένο από τον χρήστη (δείτε την ενότητα :ref:`types`):" +msgstr "" +"Ένας ορισμός συνάρτησης ορίζει ένα αντικείμενο συνάρτησης ορισμένο από τον " +"χρήστη (δείτε την ενότητα :ref:`types`):" #: reference/compound_stmts.rst:1244 msgid "" @@ -1916,16 +2151,20 @@ msgid "" "a reference to the current global namespace as the global namespace to be " "used when the function is called." msgstr "" -"Ο ορισμός μιας συνάρτησης είναι μια εκτελέσιμη δήλωση. Η εκτέλεσή της δεσμεύει το όνομα της συνάρτησης στον τρέχοντα τοπικό " -"χώρο ονομάτων σε ένα αντικείμενο συνάρτησης (ένας wrapper γύρω από τον εκτελέσιμο κώδικα της συνάρτησης). Αυτό το " -"αντικείμενο συνάρτησης περιέχει μια αναφορά στον τρέχοντα καθολικό χώρο ονομάτων, ως τον καθολικό χώρο ονομάτων που θα " +"Ο ορισμός μιας συνάρτησης είναι μια εκτελέσιμη δήλωση. Η εκτέλεσή της " +"δεσμεύει το όνομα της συνάρτησης στον τρέχοντα τοπικό χώρο ονομάτων σε ένα " +"αντικείμενο συνάρτησης (ένας wrapper γύρω από τον εκτελέσιμο κώδικα της " +"συνάρτησης). Αυτό το αντικείμενο συνάρτησης περιέχει μια αναφορά στον " +"τρέχοντα καθολικό χώρο ονομάτων, ως τον καθολικό χώρο ονομάτων που θα " "χρησιμοποιηθεί όταν κληθεί η συνάρτηση." #: reference/compound_stmts.rst:1250 msgid "" "The function definition does not execute the function body; this gets " "executed only when the function is called. [#]_" -msgstr "Ο ορισμός της συνάρτησης δεν εκτελεί το σώμα της συνάρτησης· αυτό εκτελείται μόνο όταν κληθεί η συνάρτηση. [#]_" +msgstr "" +"Ο ορισμός της συνάρτησης δεν εκτελεί το σώμα της συνάρτησης· αυτό εκτελείται " +"μόνο όταν κληθεί η συνάρτηση. [#]_" #: reference/compound_stmts.rst:1256 msgid "" @@ -1937,11 +2176,13 @@ msgid "" "function object. Multiple decorators are applied in nested fashion. For " "example, the following code ::" msgstr "" -"Ένας ορισμός συνάρτησης μπορεί να περιτυλιχθεί από μία ή περισσότερες εκφράσεις :term:`decorator`. Οι εκφράσεις decorator " -"αξιολογούνται όταν ορίζεται η συνάρτηση, στο εύρος που περιέχει τον ορισμό της συνάρτησης. Το αποτέλεσμα πρέπει να είναι " -"ένα callable, το οποίο καλείται με το αντικείμενο συνάρτησης ως το μοναδικό όρισμα. Η τιμή που επιστρέφεται δεσμεύεται στο " -"όνομα της συνάρτησης αντί για το αντικείμενο συνάρτησης. Πολλοί decorators εφαρμόζονται με εμφωλευμένο τρόπο. Για " -"παράδειγμα, ο ακόλουθος κώδικας ::" +"Ένας ορισμός συνάρτησης μπορεί να περιτυλιχθεί από μία ή περισσότερες " +"εκφράσεις :term:`decorator`. Οι εκφράσεις decorator αξιολογούνται όταν " +"ορίζεται η συνάρτηση, στο εύρος που περιέχει τον ορισμό της συνάρτησης. Το " +"αποτέλεσμα πρέπει να είναι ένα callable, το οποίο καλείται με το αντικείμενο " +"συνάρτησης ως το μοναδικό όρισμα. Η τιμή που επιστρέφεται δεσμεύεται στο " +"όνομα της συνάρτησης αντί για το αντικείμενο συνάρτησης. Πολλοί decorators " +"εφαρμόζονται με εμφωλευμένο τρόπο. Για παράδειγμα, ο ακόλουθος κώδικας ::" #: reference/compound_stmts.rst:1263 msgid "" @@ -1969,7 +2210,8 @@ msgstr "" msgid "" "except that the original function is not temporarily bound to the name " "``func``." -msgstr "εκτός του ότι η αρχική συνάρτηση δεν δεσμεύεται προσωρινά στο όνομα ``func``." +msgstr "" +"εκτός του ότι η αρχική συνάρτηση δεν δεσμεύεται προσωρινά στο όνομα ``func``." #: reference/compound_stmts.rst:1274 msgid "" @@ -1977,8 +2219,9 @@ msgid "" "assignment_expression`. Previously, the grammar was much more restrictive; " "see :pep:`614` for details." msgstr "" -"Οι συναρτήσεις μπορούν να διακοσμηθούν με οποιοδήποτε έγκυρο :token:`~python-grammar:assignment_expression`. Προηγουμένως, " -"η γραμματική ήταν πολύ πιο αυστηρή· δείτε το :pep:`614` για λεπτομέρειες." +"Οι συναρτήσεις μπορούν να διακοσμηθούν με οποιοδήποτε έγκυρο :token:`~python-" +"grammar:assignment_expression`. Προηγουμένως, η γραμματική ήταν πολύ πιο " +"αυστηρή· δείτε το :pep:`614` για λεπτομέρειες." #: reference/compound_stmts.rst:1279 msgid "" @@ -1989,10 +2232,13 @@ msgid "" "function's :attr:`~function.__type_params__` attribute. See :ref:`generic-" "functions` for more." msgstr "" -"Μια λίστα από :ref:`παραμέτρους τύπου ` μπορεί να δοθεί μέσα σε αγκύλες μεταξύ του ονόματος της συνάρτησης και " -"της παρένθεσης ανοίγματος για τη λίστα παραμέτρων της. Αυτό υποδεικνύει στους ελέγχους στατικού τύπου ότι η συνάρτηση είναι " -"γενική. Κατά τον χρόνο εκτέλεσης, οι παράμετροι τύπου μπορούν να ανακτηθούν από το " -"χαρακτηριστικό :attr:`~function.__type_params__` της συνάρτησης. Δείτε το :ref:`generic-functions` για περισσότερα." +"Μια λίστα από :ref:`παραμέτρους τύπου ` μπορεί να δοθεί μέσα σε " +"αγκύλες μεταξύ του ονόματος της συνάρτησης και της παρένθεσης ανοίγματος για " +"τη λίστα παραμέτρων της. Αυτό υποδεικνύει στους ελέγχους στατικού τύπου ότι " +"η συνάρτηση είναι γενική. Κατά τον χρόνο εκτέλεσης, οι παράμετροι τύπου " +"μπορούν να ανακτηθούν από το χαρακτηριστικό :attr:`~function." +"__type_params__` της συνάρτησης. Δείτε το :ref:`generic-functions` για " +"περισσότερα." #: reference/compound_stmts.rst:1286 reference/compound_stmts.rst:1475 msgid "Type parameter lists are new in Python 3.12." @@ -2008,11 +2254,14 @@ msgid "" "up until the \"``*``\" must also have a default value --- this is a " "syntactic restriction that is not expressed by the grammar." msgstr "" -"Όταν μία ή περισσότερες :term:`παράμετροι ` έχουν τη μορφή *parameter* ``=`` *expression*, η συνάρτηση λέγεται " -"ότι έχει \"προεπιλεγμένες τιμές παραμέτρων.\" Για μια παράμετρο με προεπιλεγμένη τιμή, το αντίστοιχο :term:`argument` " -"μπορεί να παραλειφθεί από μια κλήση, οπότε αντικαθίσταται η προεπιλεγμένη τιμή της παραμέτρου. Εάν μια παράμετρος έχει μια " -"προεπιλεγμένη τιμή, όλες οι επόμενες παράμετροι μέχρι το \"``*``\" πρέπει επίσης να έχουν μια προεπιλεγμένη τιμή --- αυτός " -"είναι ένας συντακτικός περιορισμός που δεν εκφράζεται από τη γραμματική." +"Όταν μία ή περισσότερες :term:`παράμετροι ` έχουν τη μορφή " +"*parameter* ``=`` *expression*, η συνάρτηση λέγεται ότι έχει " +"\"προεπιλεγμένες τιμές παραμέτρων.\" Για μια παράμετρο με προεπιλεγμένη " +"τιμή, το αντίστοιχο :term:`argument` μπορεί να παραλειφθεί από μια κλήση, " +"οπότε αντικαθίσταται η προεπιλεγμένη τιμή της παραμέτρου. Εάν μια παράμετρος " +"έχει μια προεπιλεγμένη τιμή, όλες οι επόμενες παράμετροι μέχρι το \"``*``\" " +"πρέπει επίσης να έχουν μια προεπιλεγμένη τιμή --- αυτός είναι ένας " +"συντακτικός περιορισμός που δεν εκφράζεται από τη γραμματική." #: reference/compound_stmts.rst:1302 msgid "" @@ -2026,13 +2275,17 @@ msgid "" "is generally not what was intended. A way around this is to use ``None`` as " "the default, and explicitly test for it in the body of the function, e.g.::" msgstr "" -"**Οι προεπιλεγμένες τιμές παραμέτρων αξιολογούνται από αριστερά προς τα δεξιά όταν εκτελείται ο ορισμός της συνάρτησης.** " -"Αυτό σημαίνει ότι η έκφραση αξιολογείται μία φορά, όταν ορίζεται η συνάρτηση, και χρησιμοποιείται η ίδια \"προ-" -"υπολογισμένη\" τιμή για κάθε κλήση. Αυτό είναι ιδιαίτερα σημαντικό να κατανοηθεί, όταν μια προεπιλεγμένη τιμή παραμέτρου " -"είναι ένα μεταβλητό αντικείμενο, όπως μια λίστα ή ένα λεξικό: εάν η συνάρτηση τροποποιήσει το αντικείμενο (π.χ. " -"προσθέτοντας ένα στοιχείο σε μια λίστα), η προεπιλεγμένη τιμή παραμέτρου τροποποιείται στην πράξη. Αυτό συνήθως δεν είναι " -"αυτό που επιδιωκόταν. Ένας τρόπος παράκαμψης είναι να χρησιμοποιήσετε το ``None`` ως προεπιλογή, και να το ελέγχετε ρητά " -"στο σώμα της συνάρτησης, π.χ.::" +"**Οι προεπιλεγμένες τιμές παραμέτρων αξιολογούνται από αριστερά προς τα " +"δεξιά όταν εκτελείται ο ορισμός της συνάρτησης.** Αυτό σημαίνει ότι η " +"έκφραση αξιολογείται μία φορά, όταν ορίζεται η συνάρτηση, και " +"χρησιμοποιείται η ίδια \"προ-υπολογισμένη\" τιμή για κάθε κλήση. Αυτό είναι " +"ιδιαίτερα σημαντικό να κατανοηθεί, όταν μια προεπιλεγμένη τιμή παραμέτρου " +"είναι ένα μεταβλητό αντικείμενο, όπως μια λίστα ή ένα λεξικό: εάν η " +"συνάρτηση τροποποιήσει το αντικείμενο (π.χ. προσθέτοντας ένα στοιχείο σε μια " +"λίστα), η προεπιλεγμένη τιμή παραμέτρου τροποποιείται στην πράξη. Αυτό " +"συνήθως δεν είναι αυτό που επιδιωκόταν. Ένας τρόπος παράκαμψης είναι να " +"χρησιμοποιήσετε το ``None`` ως προεπιλογή, και να το ελέγχετε ρητά στο σώμα " +"της συνάρτησης, π.χ.::" #: reference/compound_stmts.rst:1312 msgid "" @@ -2063,22 +2316,27 @@ msgid "" "\"``/``\" are positional-only parameters and may only be passed by " "positional arguments." msgstr "" -"Η σημασιολογία των κλήσεων συναρτήσεων περιγράφεται λεπτομερέστερα στην ενότητα :ref:`calls`. Μια κλήση συνάρτησης αναθέτει " -"πάντα τιμές σε όλες τις παραμέτρους που αναφέρονται στη λίστα παραμέτρων, είτε από ορίσματα θέσης, από ορίσματα λέξης-" -"κλειδιού, είτε από προεπιλεγμένες τιμές. Εάν η μορφή \"``*identifier``\" υπάρχει, αρχικοποιείται σε μία πλειάδα που " -"λαμβάνει τυχόν επιπλέον παραμέτρους θέσης, έχοντας ως προεπιλογή την κενή πλειάδα. Εάν η μορφή \"``**identifier``\" " -"υπάρχει, αρχικοποιείται σε μία νέα ταξινομημένη αντιστοίχιση που λαμβάνει τυχόν επιπλέον ορίσματα λέξης-κλειδιού, έχοντας " -"ως προεπιλογή μία νέα κενή αντιστοίχιση του ίδιου τύπου. Οι παράμετροι μετά το \"``*``\" ή το \"``*identifier``\" είναι " -"μόνο παράμετροι λέξης-κλειδιού και μπορούν να περαστούν μόνο από ορίσματα λέξης-κλειδιού. Οι παράμετροι πριν από το \"``/" -"``\" είναι μόνο παράμετροι θέσης και μπορούν να περαστούν μόνο από ορίσματα θέσης." +"Η σημασιολογία των κλήσεων συναρτήσεων περιγράφεται λεπτομερέστερα στην " +"ενότητα :ref:`calls`. Μια κλήση συνάρτησης αναθέτει πάντα τιμές σε όλες τις " +"παραμέτρους που αναφέρονται στη λίστα παραμέτρων, είτε από ορίσματα θέσης, " +"από ορίσματα λέξης-κλειδιού, είτε από προεπιλεγμένες τιμές. Εάν η μορφή " +"\"``*identifier``\" υπάρχει, αρχικοποιείται σε μία πλειάδα που λαμβάνει " +"τυχόν επιπλέον παραμέτρους θέσης, έχοντας ως προεπιλογή την κενή πλειάδα. " +"Εάν η μορφή \"``**identifier``\" υπάρχει, αρχικοποιείται σε μία νέα " +"ταξινομημένη αντιστοίχιση που λαμβάνει τυχόν επιπλέον ορίσματα λέξης-" +"κλειδιού, έχοντας ως προεπιλογή μία νέα κενή αντιστοίχιση του ίδιου τύπου. " +"Οι παράμετροι μετά το \"``*``\" ή το \"``*identifier``\" είναι μόνο " +"παράμετροι λέξης-κλειδιού και μπορούν να περαστούν μόνο από ορίσματα λέξης-" +"κλειδιού. Οι παράμετροι πριν από το \"``/``\" είναι μόνο παράμετροι θέσης " +"και μπορούν να περαστούν μόνο από ορίσματα θέσης." #: reference/compound_stmts.rst:1335 msgid "" "The ``/`` function parameter syntax may be used to indicate positional-only " "parameters. See :pep:`570` for details." msgstr "" -"Η σύνταξη παραμέτρων συνάρτησης ``/`` μπορεί να χρησιμοποιηθεί για να υποδείξει μόνο παραμέτρους θέσης. Δείτε το :pep:`570` " -"για λεπτομέρειες." +"Η σύνταξη παραμέτρων συνάρτησης ``/`` μπορεί να χρησιμοποιηθεί για να " +"υποδείξει μόνο παραμέτρους θέσης. Δείτε το :pep:`570` για λεπτομέρειες." #: reference/compound_stmts.rst:1344 msgid "" @@ -2092,19 +2350,24 @@ msgid "" "does not change the semantics of a function. See :ref:`annotations` for more " "information on annotations." msgstr "" -"Οι παράμετροι μπορεί να έχουν ένα :term:`annotation ` της μορφής \"``: expression``\" μετά το όνομα " -"της παραμέτρου. Οποιαδήποτε παράμετρος μπορεί να έχει ένα annotation, ακόμα και αυτές της μορφής ``*identifier`` ή " -"``**identifier``. (Ως ειδική περίπτωση, οι παράμετροι της μορφής ``*identifier`` μπορεί να έχουν ένα annotation \"``: " -"*expression``\".) Οι συναρτήσεις μπορεί να έχουν \"return\" annotation της μορφής \"``-> expression``\" μετά τη λίστα " -"παραμέτρων. Αυτά τα annotations μπορούν να είναι οποιαδήποτε έγκυρη έκφραση της Python. Η παρουσία των annotations δεν " -"αλλάζει τη σημασιολογία μιας συνάρτησης. Δείτε το :ref:`annotations` για περισσότερες πληροφορίες." +"Οι παράμετροι μπορεί να έχουν ένα :term:`annotation ` " +"της μορφής \"``: expression``\" μετά το όνομα της παραμέτρου. Οποιαδήποτε " +"παράμετρος μπορεί να έχει ένα annotation, ακόμα και αυτές της μορφής " +"``*identifier`` ή ``**identifier``. (Ως ειδική περίπτωση, οι παράμετροι της " +"μορφής ``*identifier`` μπορεί να έχουν ένα annotation \"``: " +"*expression``\".) Οι συναρτήσεις μπορεί να έχουν \"return\" annotation της " +"μορφής \"``-> expression``\" μετά τη λίστα παραμέτρων. Αυτά τα annotations " +"μπορούν να είναι οποιαδήποτε έγκυρη έκφραση της Python. Η παρουσία των " +"annotations δεν αλλάζει τη σημασιολογία μιας συνάρτησης. Δείτε το :ref:" +"`annotations` για περισσότερες πληροφορίες." #: reference/compound_stmts.rst:1352 msgid "" "Parameters of the form \"``*identifier``\" may have an annotation \"``: " "*expression``\". See :pep:`646`." msgstr "" -"Οι παράμετροι της μορφής \"``*identifier``\" μπορεί να έχουν ένα annotation \"``: *expression``\". Δείτε το :pep:`646`." +"Οι παράμετροι της μορφής \"``*identifier``\" μπορεί να έχουν ένα annotation " +"\"``: *expression``\". Δείτε το :pep:`646`." #: reference/compound_stmts.rst:1358 msgid "" @@ -2117,12 +2380,15 @@ msgid "" "keyword:`!def`\" form is actually more powerful since it allows the " "execution of multiple statements and annotations." msgstr "" -"Είναι επίσης δυνατό να δημιουργηθούν ανώνυμες συναρτήσεις (συναρτήσεις που δεν δεσμεύονται σε ένα όνομα), για άμεση χρήση " -"σε εκφράσεις. Αυτό χρησιμοποιεί εκφράσεις lambda, που περιγράφονται στην ενότητα :ref:`lambda`. Σημειώστε ότι η έκφραση " -"lambda είναι απλώς μια συντομογραφία για έναν απλοποιημένο ορισμό συνάρτησης· μια συνάρτηση που ορίζεται με την δήλωση " -"\":keyword:`def`\" μπορεί να περαστεί ή να ανατεθεί σε ένα άλλο όνομα ακριβώς όπως μια συνάρτηση που ορίζεται με μια " -"έκφραση lambda. Η μορφή \":keyword:`!def`\" είναι στην πραγματικότητα πιο ισχυρή αφού επιτρέπει την εκτέλεση πολλαπλών " -"εντολών και annotations." +"Είναι επίσης δυνατό να δημιουργηθούν ανώνυμες συναρτήσεις (συναρτήσεις που " +"δεν δεσμεύονται σε ένα όνομα), για άμεση χρήση σε εκφράσεις. Αυτό " +"χρησιμοποιεί εκφράσεις lambda, που περιγράφονται στην ενότητα :ref:`lambda`. " +"Σημειώστε ότι η έκφραση lambda είναι απλώς μια συντομογραφία για έναν " +"απλοποιημένο ορισμό συνάρτησης· μια συνάρτηση που ορίζεται με την δήλωση \":" +"keyword:`def`\" μπορεί να περαστεί ή να ανατεθεί σε ένα άλλο όνομα ακριβώς " +"όπως μια συνάρτηση που ορίζεται με μια έκφραση lambda. Η μορφή \":keyword:`!" +"def`\" είναι στην πραγματικότητα πιο ισχυρή αφού επιτρέπει την εκτέλεση " +"πολλαπλών εντολών και annotations." #: reference/compound_stmts.rst:1366 msgid "" @@ -2132,10 +2398,12 @@ msgid "" "function can access the local variables of the function containing the def. " "See section :ref:`naming` for details." msgstr "" -"**Σημείωση για προγραμματιστές/τριες:** Οι συναρτήσεις είναι first-class αντικείμενα. Μια δήλωση \"``def``\" που εκτελείται " -"μέσα σε έναν ορισμό συνάρτησης ορίζει μια τοπική συνάρτηση που μπορεί να επιστραφεί ή να περαστεί αλλου. Οι ελεύθερες " -"μεταβλητές που χρησιμοποιούνται στην εμφωλευμένη συνάρτηση έχουν πρόσβαση στις τοπικές μεταβλητές της συνάρτησης που " -"περιέχει το def. Δείτε την ενότητα :ref:`naming` για λεπτομέρειες." +"**Σημείωση για προγραμματιστές/τριες:** Οι συναρτήσεις είναι first-class " +"αντικείμενα. Μια δήλωση \"``def``\" που εκτελείται μέσα σε έναν ορισμό " +"συνάρτησης ορίζει μια τοπική συνάρτηση που μπορεί να επιστραφεί ή να " +"περαστεί αλλου. Οι ελεύθερες μεταβλητές που χρησιμοποιούνται στην " +"εμφωλευμένη συνάρτηση έχουν πρόσβαση στις τοπικές μεταβλητές της συνάρτησης " +"που περιέχει το def. Δείτε την ενότητα :ref:`naming` για λεπτομέρειες." #: reference/compound_stmts.rst:1374 msgid ":pep:`3107` - Function Annotations" @@ -2151,7 +2419,8 @@ msgstr ":pep:`484` - Υποδείξεις Τύπου" #: reference/compound_stmts.rst:1378 msgid "Definition of a standard meaning for annotations: type hints." -msgstr "Ορισμός ενός τυποποιημένου νοήματος για τα annotations: υποδείξεις τύπου." +msgstr "" +"Ορισμός ενός τυποποιημένου νοήματος για τα annotations: υποδείξεις τύπου." #: reference/compound_stmts.rst:1380 msgid ":pep:`526` - Syntax for Variable Annotations" @@ -2162,8 +2431,8 @@ msgid "" "Ability to type hint variable declarations, including class variables and " "instance variables." msgstr "" -"Δυνατότητα για υποδείξεις τύπου στις δηλώσεις μεταβλητών, συμπεριλαμβανομένων των μεταβλητών κλάσης και των μεταβλητών " -"στιγμιοτύπου." +"Δυνατότητα για υποδείξεις τύπου στις δηλώσεις μεταβλητών, " +"συμπεριλαμβανομένων των μεταβλητών κλάσης και των μεταβλητών στιγμιοτύπου." #: reference/compound_stmts.rst:1384 msgid ":pep:`563` - Postponed Evaluation of Annotations" @@ -2174,8 +2443,9 @@ msgid "" "Support for forward references within annotations by preserving annotations " "in a string form at runtime instead of eager evaluation." msgstr "" -"Υποστήριξη για μελλοντική αναφορά μέσα στα annotations διατηρώντας τα annotations σε μορφή συμβολοσειράς κατά τον χρόνο " -"εκτέλεσης αντί για άμεση αξιολόγηση." +"Υποστήριξη για μελλοντική αναφορά μέσα στα annotations διατηρώντας τα " +"annotations σε μορφή συμβολοσειράς κατά τον χρόνο εκτέλεσης αντί για άμεση " +"αξιολόγηση." #: reference/compound_stmts.rst:1388 msgid ":pep:`318` - Decorators for Functions and Methods" @@ -2185,7 +2455,9 @@ msgstr ":pep:`318` - Decorators για Συναρτήσεις και Μεθόδ msgid "" "Function and method decorators were introduced. Class decorators were " "introduced in :pep:`3129`." -msgstr "Εισήχθησαν οι decorators συναρτήσεων και μεθόδων. Οι decorators κλάσεων εισήχθησαν στο :pep:`3129`." +msgstr "" +"Εισήχθησαν οι decorators συναρτήσεων και μεθόδων. Οι decorators κλάσεων " +"εισήχθησαν στο :pep:`3129`." #: reference/compound_stmts.rst:1395 msgid "Class definitions" @@ -2193,7 +2465,9 @@ msgstr "Ορισμοί κλάσεων" #: reference/compound_stmts.rst:1410 msgid "A class definition defines a class object (see section :ref:`types`):" -msgstr "Ο ορισμός μιας κλάσης ορίζει ένα αντικείμενο κλάσης (δείτε την ενότητα :ref:`types`):" +msgstr "" +"Ο ορισμός μιας κλάσης ορίζει ένα αντικείμενο κλάσης (δείτε την ενότητα :ref:" +"`types`):" #: reference/compound_stmts.rst:1417 msgid "" @@ -2203,10 +2477,12 @@ msgid "" "allows subclassing. Classes without an inheritance list inherit, by " "default, from the base class :class:`object`; hence, ::" msgstr "" -"Ένας ορισμός κλάσης είναι μια εκτελέσιμη δήλωση. Η λίστα κληρονομικότητας συνήθως δίνει μια λίστα βασικών κλάσεων (δείτε " -"το :ref:`metaclasses` για πιο προχωρημένες χρήσεις), επομένως κάθε στοιχείο στη λίστα θα πρέπει να αξιολογείται σε ένα " -"αντικείμενο κλάσης που επιτρέπει τη δημιουργία υπο-κλάσεων. Οι κλάσεις χωρίς λίστα κληρονομικότητας κληρονομούν, εξ " -"ορισμού, από τη βασική κλάση :class:`object`· επομένως, το ::" +"Ένας ορισμός κλάσης είναι μια εκτελέσιμη δήλωση. Η λίστα κληρονομικότητας " +"συνήθως δίνει μια λίστα βασικών κλάσεων (δείτε το :ref:`metaclasses` για πιο " +"προχωρημένες χρήσεις), επομένως κάθε στοιχείο στη λίστα θα πρέπει να " +"αξιολογείται σε ένα αντικείμενο κλάσης που επιτρέπει τη δημιουργία υπο-" +"κλάσεων. Οι κλάσεις χωρίς λίστα κληρονομικότητας κληρονομούν, εξ ορισμού, " +"από τη βασική κλάση :class:`object`· επομένως, το ::" #: reference/compound_stmts.rst:1423 msgid "" @@ -2239,12 +2515,16 @@ msgid "" "attribute dictionary. The class name is bound to this class object in the " "original local namespace." msgstr "" -"Η σουίτα της κλάσης στη συνέχεια εκτελείται σε ένα νέο πλαίσιο εκτέλεσης (δείτε το :ref:`naming`), χρησιμοποιώντας έναν " -"νεοδημιουργηθέντα τοπικό χώρο ονομάτων και τον αρχικό καθολικό χώρο ονομάτων. (Συνήθως, η σουίτα περιέχει κυρίως ορισμούς " -"συναρτήσεων.) Όταν η σουίτα της κλάσης ολοκληρώσει την εκτέλεσή της, το πλαίσιο εκτέλεσής της απορρίπτεται αλλά ο τοπικός " -"χώρος ονομάτων της σώζεται. [#]_ Ένα αντικείμενο κλάσης δημιουργείται στη συνέχεια χρησιμοποιώντας τη λίστα " -"κληρονομικότητας για τις βασικές κλάσεις και τον αποθηκευμένο τοπικό χώρο ονομάτων για το λεξικό των χαρακτηριστικών. Το " -"όνομα της κλάσης δεσμεύεται σε αυτό το αντικείμενο κλάσης στον αρχικό τοπικό χώρο ονομάτων." +"Η σουίτα της κλάσης στη συνέχεια εκτελείται σε ένα νέο πλαίσιο εκτέλεσης " +"(δείτε το :ref:`naming`), χρησιμοποιώντας έναν νεοδημιουργηθέντα τοπικό χώρο " +"ονομάτων και τον αρχικό καθολικό χώρο ονομάτων. (Συνήθως, η σουίτα περιέχει " +"κυρίως ορισμούς συναρτήσεων.) Όταν η σουίτα της κλάσης ολοκληρώσει την " +"εκτέλεσή της, το πλαίσιο εκτέλεσής της απορρίπτεται αλλά ο τοπικός χώρος " +"ονομάτων της σώζεται. [#]_ Ένα αντικείμενο κλάσης δημιουργείται στη συνέχεια " +"χρησιμοποιώντας τη λίστα κληρονομικότητας για τις βασικές κλάσεις και τον " +"αποθηκευμένο τοπικό χώρο ονομάτων για το λεξικό των χαρακτηριστικών. Το " +"όνομα της κλάσης δεσμεύεται σε αυτό το αντικείμενο κλάσης στον αρχικό τοπικό " +"χώρο ονομάτων." #: reference/compound_stmts.rst:1440 msgid "" @@ -2253,19 +2533,24 @@ msgid "" "right after the class is created and only for classes that were defined " "using the definition syntax." msgstr "" -"Η σειρά με την οποία ορίζονται τα χαρακτηριστικά στο σώμα της κλάσης διατηρείται στο :attr:`~type.__dict__` της νέας " -"κλάσης. Σημειώστε ότι αυτή είναι αξιόπιστη μόνο αμέσως μετά τη δημιουργία της κλάσης και μόνο για κλάσεις που ορίστηκαν " -"χρησιμοποιώντας τη σύνταξη ορισμού." +"Η σειρά με την οποία ορίζονται τα χαρακτηριστικά στο σώμα της κλάσης " +"διατηρείται στο :attr:`~type.__dict__` της νέας κλάσης. Σημειώστε ότι αυτή " +"είναι αξιόπιστη μόνο αμέσως μετά τη δημιουργία της κλάσης και μόνο για " +"κλάσεις που ορίστηκαν χρησιμοποιώντας τη σύνταξη ορισμού." #: reference/compound_stmts.rst:1445 msgid "" "Class creation can be customized heavily using :ref:`metaclasses " "`." -msgstr "Η δημιουργία κλάσεων μπορεί να προσαρμοστεί εκτενώς χρησιμοποιώντας :ref:`metaclasses `." +msgstr "" +"Η δημιουργία κλάσεων μπορεί να προσαρμοστεί εκτενώς χρησιμοποιώντας :ref:" +"`metaclasses `." #: reference/compound_stmts.rst:1450 msgid "Classes can also be decorated: just like when decorating functions, ::" -msgstr "Οι κλάσεις μπορούν επίσης να διακοσμηθούν: ακριβώς όπως με τους decorators συναρτήσεων, ::" +msgstr "" +"Οι κλάσεις μπορούν επίσης να διακοσμηθούν: ακριβώς όπως με τους decorators " +"συναρτήσεων, ::" #: reference/compound_stmts.rst:1452 msgid "" @@ -2290,8 +2575,9 @@ msgid "" "The evaluation rules for the decorator expressions are the same as for " "function decorators. The result is then bound to the class name." msgstr "" -"Οι κανόνες αξιολόγησης για τις εκφράσεις decorators είναι οι ίδιοι με αυτούς των decorators συναρτήσεων. Το αποτέλεσμα στη " -"συνέχεια δεσμεύεται στο όνομα της κλάσης." +"Οι κανόνες αξιολόγησης για τις εκφράσεις decorators είναι οι ίδιοι με αυτούς " +"των decorators συναρτήσεων. Το αποτέλεσμα στη συνέχεια δεσμεύεται στο όνομα " +"της κλάσης." #: reference/compound_stmts.rst:1464 msgid "" @@ -2299,8 +2585,9 @@ msgid "" "assignment_expression`. Previously, the grammar was much more restrictive; " "see :pep:`614` for details." msgstr "" -"Οι κλάσεις μπορούν να διακοσμηθούν με οποιοδήποτε έγκυρο :token:`~python-grammar:assignment_expression`. Προηγουμένως, η " -"γραμματική ήταν πολύ πιο αυστηρή· δείτε το :pep:`614` για λεπτομέρειες." +"Οι κλάσεις μπορούν να διακοσμηθούν με οποιοδήποτε έγκυρο :token:`~python-" +"grammar:assignment_expression`. Προηγουμένως, η γραμματική ήταν πολύ πιο " +"αυστηρή· δείτε το :pep:`614` για λεπτομέρειες." #: reference/compound_stmts.rst:1469 msgid "" @@ -2310,10 +2597,11 @@ msgid "" "retrieved from the class's :attr:`~type.__type_params__` attribute. See :ref:" "`generic-classes` for more." msgstr "" -"Μια λίστα από :ref:`παραμέτρους τύπου ` μπορεί να δοθεί σε αγκύλες αμέσως μετά το όνομα της κλάσης. Αυτό " -"υποδεικνύει στους ελέγχους στατικού τύπου ότι η κλάση είναι γενική. Κατά τον χρόνο εκτέλεσης, οι παράμετροι τύπου μπορούν " -"να ανακτηθούν από το χαρακτηριστικό :attr:`~type.__type_params__` της κλάσης. Δείτε το :ref:`generic-classes` για " -"περισσότερα." +"Μια λίστα από :ref:`παραμέτρους τύπου ` μπορεί να δοθεί σε " +"αγκύλες αμέσως μετά το όνομα της κλάσης. Αυτό υποδεικνύει στους ελέγχους " +"στατικού τύπου ότι η κλάση είναι γενική. Κατά τον χρόνο εκτέλεσης, οι " +"παράμετροι τύπου μπορούν να ανακτηθούν από το χαρακτηριστικό :attr:`~type." +"__type_params__` της κλάσης. Δείτε το :ref:`generic-classes` για περισσότερα." #: reference/compound_stmts.rst:1478 msgid "" @@ -2327,13 +2615,18 @@ msgid "" "` can be used to create instance variables with different " "implementation details." msgstr "" -"**Σημείωση για προγραμματιστές/τριες:** Οι μεταβλητές που ορίζονται στον ορισμό της κλάσης είναι χαρακτηριστικά κλάσης· " -"μοιράζονται μεταξύ των στιγμιοτύπων. Τα χαρακτηριστικά στιγμιοτύπου μπορούν να οριστούν σε μια μέθοδο με ``self.name = " -"value``. Τόσο χαρακτηριστικά κλάσης όσο και τα χαρακτηριστικά στιγμιοτύπου είναι προσβάσιμα μέσω της σημειογραφίας " -"\"``self.name``\", και ένα χαρακτηριστικό στιγμιοτύπου κρύβει ένα χαρακτηριστικό κλάσης με το ίδιο όνομα όταν η πρόσβαση " -"γίνεται με αυτόν τον τρόπο. Τα χαρακτηριστικά κλάσης μπορούν να χρησιμοποιηθούν ως προεπιλογές για τα χαρακτηριστικά " -"στιγμιοτύπου, αλλά η χρήση μεταβλητών τιμών μπορεί να οδηγήσει σε μη αναμενόμενα αποτελέσματα. Τα :ref:`Descriptors " -"` μπορούν να χρησιμοποιηθούν για τη δημιουργία μεταβλητών στιγμιοτύπου με διαφορετικές λεπτομέρειες υλοποίησης." +"**Σημείωση για προγραμματιστές/τριες:** Οι μεταβλητές που ορίζονται στον " +"ορισμό της κλάσης είναι χαρακτηριστικά κλάσης· μοιράζονται μεταξύ των " +"στιγμιοτύπων. Τα χαρακτηριστικά στιγμιοτύπου μπορούν να οριστούν σε μια " +"μέθοδο με ``self.name = value``. Τόσο χαρακτηριστικά κλάσης όσο και τα " +"χαρακτηριστικά στιγμιοτύπου είναι προσβάσιμα μέσω της σημειογραφίας \"``self." +"name``\", και ένα χαρακτηριστικό στιγμιοτύπου κρύβει ένα χαρακτηριστικό " +"κλάσης με το ίδιο όνομα όταν η πρόσβαση γίνεται με αυτόν τον τρόπο. Τα " +"χαρακτηριστικά κλάσης μπορούν να χρησιμοποιηθούν ως προεπιλογές για τα " +"χαρακτηριστικά στιγμιοτύπου, αλλά η χρήση μεταβλητών τιμών μπορεί να " +"οδηγήσει σε μη αναμενόμενα αποτελέσματα. Τα :ref:`Descriptors ` " +"μπορούν να χρησιμοποιηθούν για τη δημιουργία μεταβλητών στιγμιοτύπου με " +"διαφορετικές λεπτομέρειες υλοποίησης." #: reference/compound_stmts.rst:1490 msgid ":pep:`3115` - Metaclasses in Python 3000" @@ -2344,8 +2637,8 @@ msgid "" "The proposal that changed the declaration of metaclasses to the current " "syntax, and the semantics for how classes with metaclasses are constructed." msgstr "" -"Η πρόταση που άλλαξε τη δήλωση των metaclasses στην τρέχουσα σύνταξη, και τη σημασιολογία για τον τρόπο κατασκευής κλάσεων " -"με metaclasses." +"Η πρόταση που άλλαξε τη δήλωση των metaclasses στην τρέχουσα σύνταξη, και τη " +"σημασιολογία για τον τρόπο κατασκευής κλάσεων με metaclasses." #: reference/compound_stmts.rst:1495 msgid ":pep:`3129` - Class Decorators" @@ -2355,7 +2648,9 @@ msgstr ":pep:`3129` - Decorators Κλάσεων" msgid "" "The proposal that added class decorators. Function and method decorators " "were introduced in :pep:`318`." -msgstr "Η πρόταση που πρόσθεσε τους decorators κλάσεων. Οι decorators συναρτήσεων και μεθόδων είχαν εισαχθεί στο :pep:`318`." +msgstr "" +"Η πρόταση που πρόσθεσε τους decorators κλάσεων. Οι decorators συναρτήσεων " +"και μεθόδων είχαν εισαχθεί στο :pep:`318`." #: reference/compound_stmts.rst:1503 msgid "Coroutines" @@ -2372,23 +2667,27 @@ msgid "" "and :keyword:`async with` can only be used in the body of a coroutine " "function." msgstr "" -"Η εκτέλεση των Python coroutines μπορεί να ανασταλεί και να συνεχιστεί σε πολλά σημεία (δείτε το :term:`coroutine`). Οι " -"εκφράσεις :keyword:`await`, το :keyword:`async for` και το :keyword:`async with` μπορούν να χρησιμοποιηθούν μόνο στο σώμα " -"μιας συνάρτησης coroutine." +"Η εκτέλεση των Python coroutines μπορεί να ανασταλεί και να συνεχιστεί σε " +"πολλά σημεία (δείτε το :term:`coroutine`). Οι εκφράσεις :keyword:`await`, " +"το :keyword:`async for` και το :keyword:`async with` μπορούν να " +"χρησιμοποιηθούν μόνο στο σώμα μιας συνάρτησης coroutine." #: reference/compound_stmts.rst:1525 msgid "" "Functions defined with ``async def`` syntax are always coroutine functions, " "even if they do not contain ``await`` or ``async`` keywords." msgstr "" -"Οι συναρτήσεις που ορίζονται με τη σύνταξη ``async def`` είναι πάντα συναρτήσεις coroutine, ακόμη και αν δεν περιέχουν τις " -"λέξεις-κλειδιά ``await`` ή ``async``." +"Οι συναρτήσεις που ορίζονται με τη σύνταξη ``async def`` είναι πάντα " +"συναρτήσεις coroutine, ακόμη και αν δεν περιέχουν τις λέξεις-κλειδιά " +"``await`` ή ``async``." #: reference/compound_stmts.rst:1528 msgid "" "It is a :exc:`SyntaxError` to use a ``yield from`` expression inside the " "body of a coroutine function." -msgstr "Προκαλείται :exc:`SyntaxError` αν χρησιμοποιηθεί μια έκφραση ``yield from`` μέσα στο σώμα μιας συνάρτησης coroutine." +msgstr "" +"Προκαλείται :exc:`SyntaxError` αν χρησιμοποιηθεί μια έκφραση ``yield from`` " +"μέσα στο σώμα μιας συνάρτησης coroutine." #: reference/compound_stmts.rst:1531 msgid "An example of a coroutine function::" @@ -2409,8 +2708,8 @@ msgid "" "``await`` and ``async`` are now keywords; previously they were only treated " "as such inside the body of a coroutine function." msgstr "" -"Το ``await`` και το ``async`` είναι πλέον λέξεις-κλειδιά· προηγουμένως αντιμετωπίζονταν ως τέτοια μόνο εντός του σώματος " -"μιας συνάρτησης coroutine." +"Το ``await`` και το ``async`` είναι πλέον λέξεις-κλειδιά· προηγουμένως " +"αντιμετωπίζονταν ως τέτοια μόνο εντός του σώματος μιας συνάρτησης coroutine." #: reference/compound_stmts.rst:1545 msgid "The :keyword:`!async for` statement" @@ -2422,14 +2721,16 @@ msgid "" "directly returns an :term:`asynchronous iterator`, which can call " "asynchronous code in its ``__anext__`` method." msgstr "" -"Ένα :term:`asynchronous iterable` παρέχει μια μέθοδο ``__aiter__`` η οποία επιστρέφει απευθείας έναν :term:`asynchronous " -"iterator`, ο οποίος μπορεί να καλέσει ασύγχρονο κώδικα στη μέθοδο ``__anext__`` του." +"Ένα :term:`asynchronous iterable` παρέχει μια μέθοδο ``__aiter__`` η οποία " +"επιστρέφει απευθείας έναν :term:`asynchronous iterator`, ο οποίος μπορεί να " +"καλέσει ασύγχρονο κώδικα στη μέθοδο ``__anext__`` του." #: reference/compound_stmts.rst:1554 msgid "" "The ``async for`` statement allows convenient iteration over asynchronous " "iterables." -msgstr "Η δήλωση ``async for`` επιτρέπει τη βολική επανάληψη σε ασύγχρονα iterables." +msgstr "" +"Η δήλωση ``async for`` επιτρέπει τη βολική επανάληψη σε ασύγχρονα iterables." #: reference/compound_stmts.rst:1559 msgid "" @@ -2480,13 +2781,17 @@ msgstr "" #: reference/compound_stmts.rst:1580 msgid "" "See also :meth:`~object.__aiter__` and :meth:`~object.__anext__` for details." -msgstr "Δείτε επίσης την :meth:`~object.__aiter__` και την :meth:`~object.__anext__` για λεπτομέρειες." +msgstr "" +"Δείτε επίσης την :meth:`~object.__aiter__` και την :meth:`~object.__anext__` " +"για λεπτομέρειες." #: reference/compound_stmts.rst:1582 msgid "" "It is a :exc:`SyntaxError` to use an ``async for`` statement outside the " "body of a coroutine function." -msgstr "Προκαλείται :exc:`SyntaxError` αν χρησιμοποιηθεί μια δήλωση ``async for`` έξω από το σώμα μιας συνάρτησης coroutine." +msgstr "" +"Προκαλείται :exc:`SyntaxError` αν χρησιμοποιηθεί μια δήλωση ``async for`` " +"έξω από το σώμα μιας συνάρτησης coroutine." #: reference/compound_stmts.rst:1590 msgid "The :keyword:`!async with` statement" @@ -2497,8 +2802,9 @@ msgid "" "An :term:`asynchronous context manager` is a :term:`context manager` that is " "able to suspend execution in its *enter* and *exit* methods." msgstr "" -"Ένας :term:`asynchronous context manager` είναι ένας :term:`context manager` που είναι ικανός να αναστείλει την εκτέλεση " -"στις μεθόδους του *enter* και *exit*." +"Ένας :term:`asynchronous context manager` είναι ένας :term:`context manager` " +"που είναι ικανός να αναστείλει την εκτέλεση στις μεθόδους του *enter* και " +"*exit*." #: reference/compound_stmts.rst:1600 msgid "" @@ -2548,13 +2854,17 @@ msgstr "" msgid "" "See also :meth:`~object.__aenter__` and :meth:`~object.__aexit__` for " "details." -msgstr "Δείτε επίσης την :meth:`~object.__aenter__` και την :meth:`~object.__aexit__` για λεπτομέρειες." +msgstr "" +"Δείτε επίσης την :meth:`~object.__aenter__` και την :meth:`~object." +"__aexit__` για λεπτομέρειες." #: reference/compound_stmts.rst:1624 msgid "" "It is a :exc:`SyntaxError` to use an ``async with`` statement outside the " "body of a coroutine function." -msgstr "Προκαλείται :exc:`SyntaxError` αν χρησιμοποιηθεί μια δήλωση ``async with`` έξω από το σώμα μιας συνάρτησης coroutine." +msgstr "" +"Προκαλείται :exc:`SyntaxError` αν χρησιμοποιηθεί μια δήλωση ``async with`` " +"έξω από το σώμα μιας συνάρτησης coroutine." #: reference/compound_stmts.rst:1629 msgid ":pep:`492` - Coroutines with async and await syntax" @@ -2564,7 +2874,9 @@ msgstr ":pep:`492` - Coroutines με σύνταξη async και await" msgid "" "The proposal that made coroutines a proper standalone concept in Python, and " "added supporting syntax." -msgstr "Η πρόταση που έκανε τις coroutines μια σωστή, ανεξάρτητη έννοια στην Python, και πρόσθεσε την υποστηρικτική σύνταξη." +msgstr "" +"Η πρόταση που έκανε τις coroutines μια σωστή, ανεξάρτητη έννοια στην Python, " +"και πρόσθεσε την υποστηρικτική σύνταξη." #: reference/compound_stmts.rst:1636 msgid "Type parameter lists" @@ -2580,8 +2892,9 @@ msgid "" "`classes ` and :ref:`type aliases ` may contain a type " "parameter list::" msgstr "" -"Οι :ref:`Συναρτήσεις ` (συμπεριλαμβανομένων των :ref:`coroutines `), οι :ref:`κλάσεις ` και " -"τα :ref:`ψευδώνυμα τύπων ` μπορούν να περιέχουν μια λίστα παραμέτρων τύπου::" +"Οι :ref:`Συναρτήσεις ` (συμπεριλαμβανομένων των :ref:`coroutines `), οι :ref:`κλάσεις ` και τα :ref:`ψευδώνυμα τύπων ` " +"μπορούν να περιέχουν μια λίστα παραμέτρων τύπου::" #: reference/compound_stmts.rst:1657 msgid "" @@ -2622,9 +2935,10 @@ msgid "" "type checkers, and at runtime, generic objects behave much like their non-" "generic counterparts." msgstr "" -"Σημασιολογικά, αυτό υποδηλώνει ότι η συνάρτηση, η κλάση ή το ψευδώνυμο τύπου είναι γενικά ως προς μια μεταβλητή τύπου. Αυτή " -"η πληροφορία χρησιμοποιείται κυρίως από τους ελεγκτές στατικού τύπου, και κατά τον χρόνο εκτέλεσης, τα γενικά αντικείμενα " -"συμπεριφέρονται σχεδόν όπως τα αντίστοιχα μη γενικά." +"Σημασιολογικά, αυτό υποδηλώνει ότι η συνάρτηση, η κλάση ή το ψευδώνυμο τύπου " +"είναι γενικά ως προς μια μεταβλητή τύπου. Αυτή η πληροφορία χρησιμοποιείται " +"κυρίως από τους ελεγκτές στατικού τύπου, και κατά τον χρόνο εκτέλεσης, τα " +"γενικά αντικείμενα συμπεριφέρονται σχεδόν όπως τα αντίστοιχα μη γενικά." #: reference/compound_stmts.rst:1677 msgid "" @@ -2637,11 +2951,14 @@ msgid "" "function (technically, an :ref:`annotation scope `) that " "wraps the creation of the generic object." msgstr "" -"Οι παράμετροι τύπου δηλώνονται μέσα σε αγκύλες (``[]``) αμέσως μετά το όνομα της συνάρτησης, κλάσης ή του ψευδωνύμου τύπου. " -"Οι παράμετροι τύπου είναι προσβάσιμες εντός της εμβέλειας του γενικού αντικειμένου, αλλά όχι αλλού. Επομένως, μετά από μια " -"δήλωση ``def func[T](): pass``, το όνομα ``T`` δεν είναι διαθέσιμο στο εύρος του module. Παρακάτω, η σημασιολογία των " -"γενικών αντικειμένων περιγράφεται με μεγαλύτερη ακρίβεια. Το εύρος των παραμέτρων τύπου μοντελοποιείται με μια ειδική " -"συνάρτηση (τεχνικά, ένα :ref:`annotation scope `) η οποία περιτυλίγει τη δημιουργία του γενικού " +"Οι παράμετροι τύπου δηλώνονται μέσα σε αγκύλες (``[]``) αμέσως μετά το όνομα " +"της συνάρτησης, κλάσης ή του ψευδωνύμου τύπου. Οι παράμετροι τύπου είναι " +"προσβάσιμες εντός της εμβέλειας του γενικού αντικειμένου, αλλά όχι αλλού. " +"Επομένως, μετά από μια δήλωση ``def func[T](): pass``, το όνομα ``T`` δεν " +"είναι διαθέσιμο στο εύρος του module. Παρακάτω, η σημασιολογία των γενικών " +"αντικειμένων περιγράφεται με μεγαλύτερη ακρίβεια. Το εύρος των παραμέτρων " +"τύπου μοντελοποιείται με μια ειδική συνάρτηση (τεχνικά, ένα :ref:`annotation " +"scope `) η οποία περιτυλίγει τη δημιουργία του γενικού " "αντικειμένου." #: reference/compound_stmts.rst:1686 @@ -2649,8 +2966,9 @@ msgid "" "Generic functions, classes, and type aliases have a :attr:`~definition." "__type_params__` attribute listing their type parameters." msgstr "" -"Οι γενικές συναρτήσεις, κλάσεις και τα ψευδώνυμα τύπων έχουν ένα χαρακτηριστικό :attr:`~definition.__type_params__` που " -"παραθέτει τις παραμέτρους του τύπου τους." +"Οι γενικές συναρτήσεις, κλάσεις και τα ψευδώνυμα τύπων έχουν ένα " +"χαρακτηριστικό :attr:`~definition.__type_params__` που παραθέτει τις " +"παραμέτρους του τύπου τους." #: reference/compound_stmts.rst:1689 msgid "Type parameters come in three kinds:" @@ -2661,8 +2979,8 @@ msgid "" ":data:`typing.TypeVar`, introduced by a plain name (e.g., ``T``). " "Semantically, this represents a single type to a type checker." msgstr "" -"Το :data:`typing.TypeVar`, που εισάγεται από ένα απλό όνομα (π.χ. ``T``). Σημασιολογικά, αναπαριστά έναν μόνο τύπο σε έναν " -"ελεγκτή τύπου." +"Το :data:`typing.TypeVar`, που εισάγεται από ένα απλό όνομα (π.χ. ``T``). " +"Σημασιολογικά, αναπαριστά έναν μόνο τύπο σε έναν ελεγκτή τύπου." #: reference/compound_stmts.rst:1693 msgid "" @@ -2670,16 +2988,18 @@ msgid "" "asterisk (e.g., ``*Ts``). Semantically, this stands for a tuple of any " "number of types." msgstr "" -"Το :data:`typing.TypeVarTuple`, που εισάγεται από ένα όνομα με πρόθεμα έναν απλό αστερίσκο (π.χ. ``*Ts``). Σημασιολογικά, " -"αντιπροσωπεύει μία πλειάδα οποιουδήποτε αριθμού τύπων." +"Το :data:`typing.TypeVarTuple`, που εισάγεται από ένα όνομα με πρόθεμα έναν " +"απλό αστερίσκο (π.χ. ``*Ts``). Σημασιολογικά, αντιπροσωπεύει μία πλειάδα " +"οποιουδήποτε αριθμού τύπων." #: reference/compound_stmts.rst:1696 msgid "" ":data:`typing.ParamSpec`, introduced by a name prefixed with two asterisks " "(e.g., ``**P``). Semantically, this stands for the parameters of a callable." msgstr "" -"Το :data:`typing.ParamSpec`, που εισάγεται από ένα όνομα με πρόθεμα δύο αστερίσκους (π.χ. ``**P``). Σημασιολογικά, " -"αντιπροσωπεύει τις παραμέτρους ενός callable." +"Το :data:`typing.ParamSpec`, που εισάγεται από ένα όνομα με πρόθεμα δύο " +"αστερίσκους (π.χ. ``**P``). Σημασιολογικά, αντιπροσωπεύει τις παραμέτρους " +"ενός callable." #: reference/compound_stmts.rst:1699 msgid "" @@ -2692,12 +3012,16 @@ msgid "" "should be a type (again, this is not enforced at runtime). Constrained type " "variables can only take on one of the types in the list of constraints." msgstr "" -"Οι δηλώσεις του :data:`typing.TypeVar` μπορούν να ορίσουν *bounds* και *constraints* με άνω και κάτω τελεία (``:``) " -"ακολουθούμενη από μια έκφραση. Μία μεμονωμένη έκφραση μετά την άνω και κάτω τελεία υποδεικνύει ένα bound (π.χ. ``T: int``). " -"Σημασιολογικά, αυτό σημαίνει ότι το :data:`!typing.TypeVar` μπορεί να αναπαριστά μόνο τύπους που είναι υπότυπος αυτού του " -"bound. Μία παρενθετική πλειάδα εκφράσεων μετά την άνω και κάτω τελεία υποδεικνύει ένα σύνολο από constraints (π.χ. ``T: " -"(str, bytes)``). Κάθε μέλος της πλειάδας θα πρέπει να είναι ένας τύπος (και πάλι, αυτό δεν επιβάλλεται κατά τον χρόνο " -"εκτέλεσης). Οι constraint μεταβλητές τύπου μπορούν να λάβουν μόνο έναν από τους τύπους στη λίστα των constraints." +"Οι δηλώσεις του :data:`typing.TypeVar` μπορούν να ορίσουν *bounds* και " +"*constraints* με άνω και κάτω τελεία (``:``) ακολουθούμενη από μια έκφραση. " +"Μία μεμονωμένη έκφραση μετά την άνω και κάτω τελεία υποδεικνύει ένα bound (π." +"χ. ``T: int``). Σημασιολογικά, αυτό σημαίνει ότι το :data:`!typing.TypeVar` " +"μπορεί να αναπαριστά μόνο τύπους που είναι υπότυπος αυτού του bound. Μία " +"παρενθετική πλειάδα εκφράσεων μετά την άνω και κάτω τελεία υποδεικνύει ένα " +"σύνολο από constraints (π.χ. ``T: (str, bytes)``). Κάθε μέλος της πλειάδας " +"θα πρέπει να είναι ένας τύπος (και πάλι, αυτό δεν επιβάλλεται κατά τον χρόνο " +"εκτέλεσης). Οι constraint μεταβλητές τύπου μπορούν να λάβουν μόνο έναν από " +"τους τύπους στη λίστα των constraints." #: reference/compound_stmts.rst:1708 msgid "" @@ -2708,16 +3032,20 @@ msgid "" "bounds or constraints are evaluated in a separate :ref:`annotation scope " "`." msgstr "" -"Για τα :data:`!typing.TypeVar` που δηλώνονται χρησιμοποιώντας τη σύνταξη λίστας παραμέτρων τύπου, τα bound και constraints " -"δεν αξιολογούνται όταν το γενικό αντικείμενο δημιουργείται, παρά μόνο όταν πραγματοποιείται ρητή πρόσβαση στην τιμή μέσω " -"των χαρακτηριστικών ``__bound__`` και ``__constraints__``. Για να επιτευχθεί αυτό, τα bounds ή constraints αξιολογούνται σε " -"ένα ξεχωριστό :ref:`annotation scope `." +"Για τα :data:`!typing.TypeVar` που δηλώνονται χρησιμοποιώντας τη σύνταξη " +"λίστας παραμέτρων τύπου, τα bound και constraints δεν αξιολογούνται όταν το " +"γενικό αντικείμενο δημιουργείται, παρά μόνο όταν πραγματοποιείται ρητή " +"πρόσβαση στην τιμή μέσω των χαρακτηριστικών ``__bound__`` και " +"``__constraints__``. Για να επιτευχθεί αυτό, τα bounds ή constraints " +"αξιολογούνται σε ένα ξεχωριστό :ref:`annotation scope `." #: reference/compound_stmts.rst:1714 msgid "" ":data:`typing.TypeVarTuple`\\ s and :data:`typing.ParamSpec`\\ s cannot have " "bounds or constraints." -msgstr "Τα :data:`typing.TypeVarTuple` και τα :data:`typing.ParamSpec` δεν μπορούν να έχουν bounds ή constraints." +msgstr "" +"Τα :data:`typing.TypeVarTuple` και τα :data:`typing.ParamSpec` δεν μπορούν " +"να έχουν bounds ή constraints." #: reference/compound_stmts.rst:1717 msgid "" @@ -2731,19 +3059,25 @@ msgid "" "default value is specified for a type parameter, the ``__default__`` " "attribute is set to the special sentinel object :data:`typing.NoDefault`." msgstr "" -"Και τα τρία είδη παραμέτρων τύπου μπορούν επίσης να έχουν μια *προεπιλεγμένη τιμή*, η οποία χρησιμοποιείται όταν η " -"παράμετρος τύπου δεν παρέχεται ρητά. Αυτό προστίθεται προσαρτώντας ένα απλό σύμβολο ίσον (``=``) ακολουθούμενο από μια " -"έκφραση. Όπως τα bounds και τα constraints των μεταβλητών τύπου, η προεπιλεγμένη τιμή δεν αξιολογείται κατά τη δημιουργία " -"του αντικειμένου, παρά μόνο κατά την πρόσβαση στο χαρακτηριστικό ``__default__`` της παραμέτρου τύπου. Για τον σκοπό αυτό, " -"η προεπιλεγμένη τιμή αξιολογείται σε ένα ξεχωριστό :ref:`annotation scope `. Εάν δεν καθοριστεί " -"προεπιλεγμένη τιμή για μια παράμετρο τύπου, το χαρακτηριστικό ``__default__`` ορίζεται στο ειδικό αντικείμενο " -"φρουρό :data:`typing.NoDefault`." +"Και τα τρία είδη παραμέτρων τύπου μπορούν επίσης να έχουν μια *προεπιλεγμένη " +"τιμή*, η οποία χρησιμοποιείται όταν η παράμετρος τύπου δεν παρέχεται ρητά. " +"Αυτό προστίθεται προσαρτώντας ένα απλό σύμβολο ίσον (``=``) ακολουθούμενο " +"από μια έκφραση. Όπως τα bounds και τα constraints των μεταβλητών τύπου, η " +"προεπιλεγμένη τιμή δεν αξιολογείται κατά τη δημιουργία του αντικειμένου, " +"παρά μόνο κατά την πρόσβαση στο χαρακτηριστικό ``__default__`` της " +"παραμέτρου τύπου. Για τον σκοπό αυτό, η προεπιλεγμένη τιμή αξιολογείται σε " +"ένα ξεχωριστό :ref:`annotation scope `. Εάν δεν " +"καθοριστεί προεπιλεγμένη τιμή για μια παράμετρο τύπου, το χαρακτηριστικό " +"``__default__`` ορίζεται στο ειδικό αντικείμενο φρουρό :data:`typing." +"NoDefault`." #: reference/compound_stmts.rst:1727 msgid "" "The following example indicates the full set of allowed type parameter " "declarations::" -msgstr "Το ακόλουθο παράδειγμα υποδεικνύει το πλήρες σύνολο των επιτρεπόμενων δηλώσεων παραμέτρων τύπου::" +msgstr "" +"Το ακόλουθο παράδειγμα υποδεικνύει το πλήρες σύνολο των επιτρεπόμενων " +"δηλώσεων παραμέτρων τύπου::" #: reference/compound_stmts.rst:1729 msgid "" @@ -2817,10 +3151,12 @@ msgid "" "attribute access on the :mod:`typing` module, but creates an instance of :" "data:`typing.TypeVar` directly.)" msgstr "" -"Εδώ το ``annotation-def`` υποδηλώνει ένα :ref:`annotation scope `, το οποίο δεν δεσμεύεται στην " -"πραγματικότητα σε κανένα όνομα κατά τον χρόνο εκτέλεσης. (Έχει ληφθεί άλλη μία ελευθερία στη μετάφραση: η σύνταξη δεν περνά " -"μέσω της πρόσβασης σε χαρακτηριστικό πάνω στο :mod:`typing` module, αλλά δημιουργεί απευθείας ένα στιγμιότυπο " -"της :data:`typing.TypeVar`.)" +"Εδώ το ``annotation-def`` υποδηλώνει ένα :ref:`annotation scope `, το οποίο δεν δεσμεύεται στην πραγματικότητα σε κανένα όνομα κατά " +"τον χρόνο εκτέλεσης. (Έχει ληφθεί άλλη μία ελευθερία στη μετάφραση: η " +"σύνταξη δεν περνά μέσω της πρόσβασης σε χαρακτηριστικό πάνω στο :mod:" +"`typing` module, αλλά δημιουργεί απευθείας ένα στιγμιότυπο της :data:`typing." +"TypeVar`.)" #: reference/compound_stmts.rst:1768 msgid "" @@ -2828,16 +3164,17 @@ msgid "" "scope used for declaring the type parameters, but the function's defaults " "and decorators are not." msgstr "" -"Τα annotations των γενικών συναρτήσεων αξιολογούνται εντός του εύρους του annotation που χρησιμοποιείται για τη δήλωση των " -"παραμέτρων τύπου, αλλά οι προεπιλογές και οι decorators της συνάρτησης όχι." +"Τα annotations των γενικών συναρτήσεων αξιολογούνται εντός του εύρους του " +"annotation που χρησιμοποιείται για τη δήλωση των παραμέτρων τύπου, αλλά οι " +"προεπιλογές και οι decorators της συνάρτησης όχι." #: reference/compound_stmts.rst:1772 msgid "" "The following example illustrates the scoping rules for these cases, as well " "as for additional flavors of type parameters::" msgstr "" -"Το ακόλουθο παράδειγμα απεικονίζει τους κανόνες εμβέλειας για αυτές τις περιπτώσεις, καθώς και για επιπρόσθετα είδη " -"παραμέτρων τύπου::" +"Το ακόλουθο παράδειγμα απεικονίζει τους κανόνες εμβέλειας για αυτές τις " +"περιπτώσεις, καθώς και για επιπρόσθετα είδη παραμέτρων τύπου::" #: reference/compound_stmts.rst:1775 msgid "" @@ -2854,7 +3191,8 @@ msgid "" "Except for the :ref:`lazy evaluation ` of the :class:" "`~typing.TypeVar` bound, this is equivalent to::" msgstr "" -"Εκτός από το :ref:`lazy evaluation ` του :class:`~typing.TypeVar` bound, αυτό είναι ισοδύναμο με το::" +"Εκτός από το :ref:`lazy evaluation ` του :class:`~typing." +"TypeVar` bound, αυτό είναι ισοδύναμο με το::" #: reference/compound_stmts.rst:1782 msgid "" @@ -2900,7 +3238,9 @@ msgstr "" msgid "" "The capitalized names like ``DEFAULT_OF_arg`` are not actually bound at " "runtime." -msgstr "Τα κεφαλαιοποιημένα ονόματα όπως το ``DEFAULT_OF_arg`` δεν δεσμεύονται στην πραγματικότητα κατά τον χρόνο εκτέλεσης." +msgstr "" +"Τα κεφαλαιοποιημένα ονόματα όπως το ``DEFAULT_OF_arg`` δεν δεσμεύονται στην " +"πραγματικότητα κατά τον χρόνο εκτέλεσης." #: reference/compound_stmts.rst:1807 msgid "Generic classes" @@ -2938,8 +3278,10 @@ msgid "" "`annotation scope `, and the name ``TYPE_PARAMS_OF_Bag`` " "is not actually bound at runtime." msgstr "" -"Εδώ πάλι το ``annotation-def`` (δεν είναι πραγματική λέξη-κλειδί) υποδεικνύει ένα :ref:`annotation scope `, και το όνομα ``TYPE_PARAMS_OF_Bag`` δεν δεσμεύεται στην πραγματικότητα κατά τον χρόνο εκτέλεσης." +"Εδώ πάλι το ``annotation-def`` (δεν είναι πραγματική λέξη-κλειδί) " +"υποδεικνύει ένα :ref:`annotation scope `, και το όνομα " +"``TYPE_PARAMS_OF_Bag`` δεν δεσμεύεται στην πραγματικότητα κατά τον χρόνο " +"εκτέλεσης." #: reference/compound_stmts.rst:1827 msgid "" @@ -2948,9 +3290,11 @@ msgid "" "type scope for the type parameters, and decorators are evaluated outside " "that scope. This is illustrated by this example::" msgstr "" -"Οι γενικές κλάσεις κληρονομούν σιωπηρά την :data:`typing.Generic`. Οι βασικές κλάσεις και τα ορίσματα λέξης-κλειδιού των " -"γενικών κλάσεων αξιολογούνται εντός του εύρους του τύπου για τις παραμέτρους τύπου, και οι decorators αξιολογούνται έξω από " -"αυτό το εύρος. Αυτό απεικονίζεται από αυτό το παράδειγμα::" +"Οι γενικές κλάσεις κληρονομούν σιωπηρά την :data:`typing.Generic`. Οι " +"βασικές κλάσεις και τα ορίσματα λέξης-κλειδιού των γενικών κλάσεων " +"αξιολογούνται εντός του εύρους του τύπου για τις παραμέτρους τύπου, και οι " +"decorators αξιολογούνται έξω από αυτό το εύρος. Αυτό απεικονίζεται από αυτό " +"το παράδειγμα::" #: reference/compound_stmts.rst:1833 msgid "" @@ -2990,7 +3334,9 @@ msgstr "Ψευδώνυμα γενικού τύπου" msgid "" "The :keyword:`type` statement can also be used to create a generic type " "alias::" -msgstr "Η δήλωση :keyword:`type` μπορεί επίσης να χρησιμοποιηθεί για τη δημιουργία ενός ψευδωνύμου γενικού τύπου::" +msgstr "" +"Η δήλωση :keyword:`type` μπορεί επίσης να χρησιμοποιηθεί για τη δημιουργία " +"ενός ψευδωνύμου γενικού τύπου::" #: reference/compound_stmts.rst:1853 msgid "type ListOrSet[T] = list[T] | set[T]" @@ -3000,7 +3346,9 @@ msgstr "type ListOrSet[T] = list[T] | set[T]" msgid "" "Except for the :ref:`lazy evaluation ` of the value, this " "is equivalent to::" -msgstr "Με εξαίρεση το :ref:`lazy evaluation ` της τιμής, αυτό είναι ισοδύναμο με το::" +msgstr "" +"Με εξαίρεση το :ref:`lazy evaluation ` της τιμής, αυτό " +"είναι ισοδύναμο με το::" #: reference/compound_stmts.rst:1858 msgid "" @@ -3030,9 +3378,10 @@ msgid "" "scope `. The capitalized names like " "``TYPE_PARAMS_OF_ListOrSet`` are not actually bound at runtime." msgstr "" -"Εδώ, το ``annotation-def`` (δεν είναι πραγματική λέξη-κλειδί) υποδεικνύει ένα :ref:`annotation scope `. " -"Τα κεφαλαιοποιημένα ονόματα όπως το ``TYPE_PARAMS_OF_ListOrSet`` δεν δεσμεύονται στην πραγματικότητα κατά τον χρόνο " -"εκτέλεσης." +"Εδώ, το ``annotation-def`` (δεν είναι πραγματική λέξη-κλειδί) υποδεικνύει " +"ένα :ref:`annotation scope `. Τα κεφαλαιοποιημένα ονόματα " +"όπως το ``TYPE_PARAMS_OF_ListOrSet`` δεν δεσμεύονται στην πραγματικότητα " +"κατά τον χρόνο εκτέλεσης." #: reference/compound_stmts.rst:1874 msgid "Annotations" @@ -3048,8 +3397,9 @@ msgid "" "`, created by adding a colon after the name, followed by an " "expression::" msgstr "" -"Οι μεταβλητές και οι παράμετροι συναρτήσεων μπορούν να φέρουν :term:`annotations `, που δημιουργούνται " -"προσθέτοντας άνω και κάτω τελεία μετά το όνομα, ακολουθούμενη από μια έκφραση::" +"Οι μεταβλητές και οι παράμετροι συναρτήσεων μπορούν να φέρουν :term:" +"`annotations `, που δημιουργούνται προσθέτοντας άνω και κάτω " +"τελεία μετά το όνομα, ακολουθούμενη από μια έκφραση::" #: reference/compound_stmts.rst:1882 msgid "" @@ -3061,7 +3411,9 @@ msgstr "" #: reference/compound_stmts.rst:1885 msgid "Functions may also carry a return annotation following an arrow::" -msgstr "Οι συναρτήσεις μπορούν επίσης να φέρουν ένα annotation επιστροφής ακολουθώντας ένα βέλος::" +msgstr "" +"Οι συναρτήσεις μπορούν επίσης να φέρουν ένα annotation επιστροφής " +"ακολουθώντας ένα βέλος::" #: reference/compound_stmts.rst:1887 msgid "def f() -> annotation: ..." @@ -3076,10 +3428,12 @@ msgid "" "introspects and uses the annotations (such as :mod:`dataclasses` or :func:" "`functools.singledispatch`)." msgstr "" -"Τα annotations χρησιμοποιούνται συμβατικά για :term:`type hints `, αλλά αυτό δεν επιβάλλεται από τη γλώσσα, και " -"γενικά τα annotations μπορούν να περιέχουν αυθαίρετες εκφράσεις. Η παρουσία των annotations δεν αλλάζει τη σημασιολογία " -"εκτέλεσης του κώδικα, εκτός εάν χρησιμοποιείται κάποιος μηχανισμός που επιθεωρεί και χρησιμοποιεί τα annotations (όπως " -"οι :mod:`dataclasses` ή η :func:`functools.singledispatch`)." +"Τα annotations χρησιμοποιούνται συμβατικά για :term:`type hints `, αλλά αυτό δεν επιβάλλεται από τη γλώσσα, και γενικά τα annotations " +"μπορούν να περιέχουν αυθαίρετες εκφράσεις. Η παρουσία των annotations δεν " +"αλλάζει τη σημασιολογία εκτέλεσης του κώδικα, εκτός εάν χρησιμοποιείται " +"κάποιος μηχανισμός που επιθεωρεί και χρησιμοποιεί τα annotations (όπως οι :" +"mod:`dataclasses` ή η :func:`functools.singledispatch`)." #: reference/compound_stmts.rst:1895 msgid "" @@ -3089,18 +3443,21 @@ msgid "" "information that can be used to evaluate the annotation later if requested. " "The :mod:`annotationlib` module provides tools for evaluating annotations." msgstr "" -"Από προεπιλογή, τα annotations αξιολογούνται νωχελικά σε ένα :ref:`annotation scope `. Αυτό σημαίνει ότι " -"δεν αξιολογούνται όταν αξιολογείται ο κώδικας που περιέχει το annotation. Αντίθετα, ο διερμηνέας αποθηκεύει πληροφορίες που " -"μπορούν να χρησιμοποιηθούν για να αξιολογηθεί το annotation αργότερα, εάν ζητηθεί. Το module :mod:`annotationlib` παρέχει " -"εργαλεία για την αξιολόγηση των annotations." +"Από προεπιλογή, τα annotations αξιολογούνται νωχελικά σε ένα :ref:" +"`annotation scope `. Αυτό σημαίνει ότι δεν αξιολογούνται " +"όταν αξιολογείται ο κώδικας που περιέχει το annotation. Αντίθετα, ο " +"διερμηνέας αποθηκεύει πληροφορίες που μπορούν να χρησιμοποιηθούν για να " +"αξιολογηθεί το annotation αργότερα, εάν ζητηθεί. Το module :mod:" +"`annotationlib` παρέχει εργαλεία για την αξιολόγηση των annotations." #: reference/compound_stmts.rst:1900 msgid "" "If the :ref:`future statement ` ``from __future__ import " "annotations`` is present, all annotations are instead stored as strings::" msgstr "" -"Εάν η :ref:`μελλοντική δήλωση ` ``from __future__ import annotations`` είναι παρούσα, όλα τα annotations " -"αποθηκεύονται αντί αυτού ως συμβολοσειρές::" +"Εάν η :ref:`μελλοντική δήλωση ` ``from __future__ import " +"annotations`` είναι παρούσα, όλα τα annotations αποθηκεύονται αντί αυτού ως " +"συμβολοσειρές::" #: reference/compound_stmts.rst:1903 msgid "" @@ -3122,9 +3479,11 @@ msgid "" "get_annotations` and :func:`typing.get_type_hints` are less likely to be " "able to resolve annotations at runtime." msgstr "" -"Αυτή η μελλοντική δήλωση θα θεωρηθεί απαρχαιωμένη και θα αφαιρεθεί σε μια μελλοντική έκδοση της Python, αλλά όχι προτού η " -"Python 3.13 φτάσει στο τέλος της ζωής της (δείτε το :pep:`749`). Όταν χρησιμοποιείται, τα εργαλεία ενδοσκόπησης όπως " -"η :func:`annotationlib.get_annotations` και η :func:`typing.get_type_hints` είναι λιγότερο πιθανό να μπορούν να επιλύσουν " +"Αυτή η μελλοντική δήλωση θα θεωρηθεί απαρχαιωμένη και θα αφαιρεθεί σε μια " +"μελλοντική έκδοση της Python, αλλά όχι προτού η Python 3.13 φτάσει στο τέλος " +"της ζωής της (δείτε το :pep:`749`). Όταν χρησιμοποιείται, τα εργαλεία " +"ενδοσκόπησης όπως η :func:`annotationlib.get_annotations` και η :func:" +"`typing.get_type_hints` είναι λιγότερο πιθανό να μπορούν να επιλύσουν " "annotations κατά τον χρόνο εκτέλεσης." #: reference/compound_stmts.rst:1916 @@ -3137,8 +3496,9 @@ msgid "" "keyword:`finally` clause which happens to raise another exception. That new " "exception causes the old one to be lost." msgstr "" -"Η εξαίρεση διαδίδεται στη στοίβα κλήσεων εκτός εάν υπάρχει μία ρήτρα :keyword:`finally` η οποία τυχαίνει να κάνει raise μια " -"άλλη εξαίρεση. Αυτή η νέα εξαίρεση προκαλεί την απώλεια της παλιάς." +"Η εξαίρεση διαδίδεται στη στοίβα κλήσεων εκτός εάν υπάρχει μία ρήτρα :" +"keyword:`finally` η οποία τυχαίνει να κάνει raise μια άλλη εξαίρεση. Αυτή η " +"νέα εξαίρεση προκαλεί την απώλεια της παλιάς." #: reference/compound_stmts.rst:1921 msgid "In pattern matching, a sequence is defined as one of the following:" @@ -3151,12 +3511,15 @@ msgstr "μια κλάση που κληρονομεί από την :class:`coll #: reference/compound_stmts.rst:1924 msgid "" "a Python class that has been registered as :class:`collections.abc.Sequence`" -msgstr "μια Python κλάση που έχει εγγραφεί ως :class:`collections.abc.Sequence`" +msgstr "" +"μια Python κλάση που έχει εγγραφεί ως :class:`collections.abc.Sequence`" #: reference/compound_stmts.rst:1925 msgid "" "a builtin class that has its (CPython) :c:macro:`Py_TPFLAGS_SEQUENCE` bit set" -msgstr "μια ενσωματωμένη κλάση που έχει το :c:macro:`Py_TPFLAGS_SEQUENCE` bit της ρυθμισμένο (στην CPython)" +msgstr "" +"μια ενσωματωμένη κλάση που έχει το :c:macro:`Py_TPFLAGS_SEQUENCE` bit της " +"ρυθμισμένο (στην CPython)" #: reference/compound_stmts.rst:1926 reference/compound_stmts.rst:1945 msgid "a class that inherits from any of the above" @@ -3186,11 +3549,14 @@ msgstr ":class:`range`" msgid "" "Subject values of type ``str``, ``bytes``, and ``bytearray`` do not match " "sequence patterns." -msgstr "Τιμές θέματος τύπου ``str``, ``bytes``, και ``bytearray`` δεν ταιριάζουν με μοτίβα ακολουθίας." +msgstr "" +"Τιμές θέματος τύπου ``str``, ``bytes``, και ``bytearray`` δεν ταιριάζουν με " +"μοτίβα ακολουθίας." #: reference/compound_stmts.rst:1940 msgid "In pattern matching, a mapping is defined as one of the following:" -msgstr "Στο ταίριασμα μοτίβων, μία αντιστοίχιση ορίζεται ως ένα από τα ακόλουθα:" +msgstr "" +"Στο ταίριασμα μοτίβων, μία αντιστοίχιση ορίζεται ως ένα από τα ακόλουθα:" #: reference/compound_stmts.rst:1942 msgid "a class that inherits from :class:`collections.abc.Mapping`" @@ -3204,13 +3570,17 @@ msgstr "μια Python κλάση που έχει εγγραφεί ως :class:`c #: reference/compound_stmts.rst:1944 msgid "" "a builtin class that has its (CPython) :c:macro:`Py_TPFLAGS_MAPPING` bit set" -msgstr "μια ενσωματωμένη κλάση που έχει το :c:macro:`Py_TPFLAGS_MAPPING` bit της ρυθμισμένο (στην CPython)" +msgstr "" +"μια ενσωματωμένη κλάση που έχει το :c:macro:`Py_TPFLAGS_MAPPING` bit της " +"ρυθμισμένο (στην CPython)" #: reference/compound_stmts.rst:1947 msgid "" "The standard library classes :class:`dict` and :class:`types." "MappingProxyType` are mappings." -msgstr "Οι κλάσεις :class:`dict` και :class:`types.MappingProxyType` της τυπικής βιβλιοθήκης είναι αντιστοιχίσεις." +msgstr "" +"Οι κλάσεις :class:`dict` και :class:`types.MappingProxyType` της τυπικής " +"βιβλιοθήκης είναι αντιστοιχίσεις." #: reference/compound_stmts.rst:1950 msgid "" @@ -3218,8 +3588,9 @@ msgid "" "transformed into the function's :attr:`~function.__doc__` attribute and " "therefore the function's :term:`docstring`." msgstr "" -"Ένα λεκτικό συμβολοσειράς που εμφανίζεται ως η πρώτη δήλωση στο σώμα μιας συνάρτησης μετατρέπεται στο " -"χαρακτηριστικό :attr:`~function.__doc__` της συνάρτησης και κατά συνέπεια στο :term:`docstring` της συνάρτησης." +"Ένα λεκτικό συμβολοσειράς που εμφανίζεται ως η πρώτη δήλωση στο σώμα μιας " +"συνάρτησης μετατρέπεται στο χαρακτηριστικό :attr:`~function.__doc__` της " +"συνάρτησης και κατά συνέπεια στο :term:`docstring` της συνάρτησης." #: reference/compound_stmts.rst:1954 msgid "" @@ -3227,8 +3598,9 @@ msgid "" "transformed into the namespace's :attr:`~type.__doc__` item and therefore " "the class's :term:`docstring`." msgstr "" -"Ένα λεκτικό συμβολοσειράς που εμφανίζεται ως η πρώτη δήλωση στο σώμα μιας κλάσης μετατρέπεται στο " -"στοιχείο :attr:`~type.__doc__` του χώρου ονομάτων και κατά συνέπεια στο :term:`docstring` της κλάσης." +"Ένα λεκτικό συμβολοσειράς που εμφανίζεται ως η πρώτη δήλωση στο σώμα μιας " +"κλάσης μετατρέπεται στο στοιχείο :attr:`~type.__doc__` του χώρου ονομάτων " +"και κατά συνέπεια στο :term:`docstring` της κλάσης." #: reference/compound_stmts.rst:7 msgid "compound" From e39fdfe6612e3da9cfe98048f7716ef0457d6c06 Mon Sep 17 00:00:00 2001 From: vadal Date: Sat, 7 Mar 2026 01:29:54 +0200 Subject: [PATCH 4/9] add missing words to dictionary --- dictionaries/main.txt | 19 +++++++++++++++++++ reference/compound_stmts.po | 2 +- 2 files changed, 20 insertions(+), 1 deletion(-) diff --git a/dictionaries/main.txt b/dictionaries/main.txt index 45718747..cf9a523c 100644 --- a/dictionaries/main.txt +++ b/dictionaries/main.txt @@ -2222,3 +2222,22 @@ zoneinfo ψευδοτυχαίων ό ότι +εμφωλευμένοι +finally +ιχνηλάτησή +εμφωλευτεί +ταιριάζεται +guards +lookahead +Raymond +Hettinger +ταιριάζονται +ταιριάζεται +περιτυλιχθεί +νεοδημιουργηθέντα +Metaclasses +metaclasses +υπότυπος +constraints +constraint +bounds diff --git a/reference/compound_stmts.po b/reference/compound_stmts.po index eff43a9d..a9273e20 100644 --- a/reference/compound_stmts.po +++ b/reference/compound_stmts.po @@ -2401,7 +2401,7 @@ msgstr "" "**Σημείωση για προγραμματιστές/τριες:** Οι συναρτήσεις είναι first-class " "αντικείμενα. Μια δήλωση \"``def``\" που εκτελείται μέσα σε έναν ορισμό " "συνάρτησης ορίζει μια τοπική συνάρτηση που μπορεί να επιστραφεί ή να " -"περαστεί αλλου. Οι ελεύθερες μεταβλητές που χρησιμοποιούνται στην " +"περαστεί αλλού. Οι ελεύθερες μεταβλητές που χρησιμοποιούνται στην " "εμφωλευμένη συνάρτηση έχουν πρόσβαση στις τοπικές μεταβλητές της συνάρτησης " "που περιέχει το def. Δείτε την ενότητα :ref:`naming` για λεπτομέρειες." From 7d2ce4b1693f7755c48b63ceadeb03e1c4c20fe4 Mon Sep 17 00:00:00 2001 From: "pre-commit-ci-lite[bot]" <117423508+pre-commit-ci-lite[bot]@users.noreply.github.com> Date: Fri, 6 Mar 2026 23:31:57 +0000 Subject: [PATCH 5/9] [pre-commit.ci lite] apply automatic fixes --- dictionaries/main.txt | 37 ++++++++++++++++++------------------- 1 file changed, 18 insertions(+), 19 deletions(-) diff --git a/dictionaries/main.txt b/dictionaries/main.txt index cf9a523c..68cc42d2 100644 --- a/dictionaries/main.txt +++ b/dictionaries/main.txt @@ -137,6 +137,7 @@ Hans Haskell Hat Hello +Hettinger Hewlett Hue Hugunin @@ -207,6 +208,7 @@ Mark Matthias Mersenne Message +Metaclasses Michael Microsoft Mises @@ -268,6 +270,7 @@ Queues Raising Randal Ranges +Raymond Readline Red Redistribution @@ -472,6 +475,7 @@ bool boolean booleans bound +bounds branch breach breadth @@ -581,6 +585,8 @@ cong conjugate connect consistency +constraint +constraints constructor constructors consts @@ -759,6 +765,7 @@ filename filenamesize files filter +finally finder finders first @@ -841,6 +848,7 @@ grouping grungy gt guard +guards guru gzip h @@ -1032,6 +1040,7 @@ logging lognormal long longs +lookahead looks loop looping @@ -1079,6 +1088,7 @@ merge messages met meta +metaclasses meth method microsecond @@ -1863,7 +1873,9 @@ zoneinfo εμφωλευμένη εμφωλευμένης εμφωλευμένο +εμφωλευμένοι εμφωλευμένων +εμφωλευτεί εμφωλεύετε εμφωλεύσετε εμφώλευσης @@ -1934,6 +1946,7 @@ zoneinfo ιστοτόπων ιστότοπο ιστότοπος +ιχνηλάτησή ιχνηλάτηση ιχνηλάτησης ιχνηλατήσεων @@ -2003,6 +2016,7 @@ zoneinfo νανοδευτερόλεπτα νεο νεοδεσμευμένο +νεοδημιουργηθέντα νεοδημιουργημένες νηματοποποίησης ξεπερνάται @@ -2072,6 +2086,7 @@ zoneinfo περιτυλίγοντάς περιτυλιγμένης περιτυλιγμένων +περιτυλιχθεί περιτύλιγαν πλέον πληθικότητα @@ -2139,6 +2154,8 @@ zoneinfo σφαλμάτων σωρευθούν τέλος +ταιριάζεται +ταιριάζονται ταιριασμένες ταυτοποιεί τελεστέο @@ -2205,6 +2222,7 @@ zoneinfo υποφάκελο υποφάκελος υποφακέλους +υπότυπος φάκελους χειριζόμενες χρήσιμες @@ -2222,22 +2240,3 @@ zoneinfo ψευδοτυχαίων ό ότι -εμφωλευμένοι -finally -ιχνηλάτησή -εμφωλευτεί -ταιριάζεται -guards -lookahead -Raymond -Hettinger -ταιριάζονται -ταιριάζεται -περιτυλιχθεί -νεοδημιουργηθέντα -Metaclasses -metaclasses -υπότυπος -constraints -constraint -bounds From 5873279b4964a82ab542ea9d5491f39a07f8f6cd Mon Sep 17 00:00:00 2001 From: vadal Date: Sat, 7 Mar 2026 01:34:46 +0200 Subject: [PATCH 6/9] add missing words to dictionary --- dictionaries/main.txt | 1 + 1 file changed, 1 insertion(+) diff --git a/dictionaries/main.txt b/dictionaries/main.txt index 68cc42d2..9a21c698 100644 --- a/dictionaries/main.txt +++ b/dictionaries/main.txt @@ -2240,3 +2240,4 @@ zoneinfo ψευδοτυχαίων ό ότι +Hammond From 416c4cce7c1b49501780e910234ee44dbf76789d Mon Sep 17 00:00:00 2001 From: "pre-commit-ci-lite[bot]" <117423508+pre-commit-ci-lite[bot]@users.noreply.github.com> Date: Fri, 6 Mar 2026 23:36:51 +0000 Subject: [PATCH 7/9] [pre-commit.ci lite] apply automatic fixes --- dictionaries/main.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/dictionaries/main.txt b/dictionaries/main.txt index 9a21c698..acaaf8f2 100644 --- a/dictionaries/main.txt +++ b/dictionaries/main.txt @@ -133,6 +133,7 @@ Gross Group Guide Guido +Hammond Hans Haskell Hat @@ -2240,4 +2241,3 @@ zoneinfo ψευδοτυχαίων ό ότι -Hammond From 6172041f5d2c259fe9a3a8260f3d46ca5d9d8922 Mon Sep 17 00:00:00 2001 From: vadal Date: Sat, 7 Mar 2026 01:41:00 +0200 Subject: [PATCH 8/9] fix issue --- reference/compound_stmts.po | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/reference/compound_stmts.po b/reference/compound_stmts.po index a9273e20..18b0e37a 100644 --- a/reference/compound_stmts.po +++ b/reference/compound_stmts.po @@ -248,9 +248,9 @@ msgid "" msgstr "" "for i in range(10):\n" " print(i)\n" -" i = 5 # αυτό δεν θα επηρεάσει τον βρόχο for\n" -" # επειδή το i θα αντικατασταθεί με το επόμενο\n" -" # ευρετήριο στο range" +" i = 5 # this will not affect the for-loop\n" +" # because i will be overwritten with the next\n" +" # index in the range" #: reference/compound_stmts.rst:193 msgid "" From f0e371f18a99e6c961e51f52bbe5f4f77e172304 Mon Sep 17 00:00:00 2001 From: vadal Date: Sat, 7 Mar 2026 01:43:47 +0200 Subject: [PATCH 9/9] fix issue --- reference/compound_stmts.po | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/reference/compound_stmts.po b/reference/compound_stmts.po index 18b0e37a..7d28b94f 100644 --- a/reference/compound_stmts.po +++ b/reference/compound_stmts.po @@ -1361,7 +1361,7 @@ msgid "" msgstr "" "Ένα OR πρότυπο ταιριάζει με καθένα από τα υπο-πρότυπά του διαδοχικά με την " "τιμή του θέματος, μέχρι κάποιο να επιτύχει. Το OR πρότυπο θεωρείται τότε " -"επιτυχημένο. Διαφορετικά, εάν κανένα από τα υποπρότυπα δεν επιτύχει, το OR " +"επιτυχημένο. Διαφορετικά, εάν κανένα από τα υπο-μοτίβα δεν επιτύχει, το OR " "πρότυπο αποτυγχάνει." #: reference/compound_stmts.rst:820