From 269bc25b6a13f7a433354a5646a9a29a5111147c Mon Sep 17 00:00:00 2001 From: skpanagiotis Date: Wed, 25 Sep 2024 16:25:56 +0300 Subject: [PATCH 01/10] Add (WIP) translation for tutorial/controlflow --- tutorial/controlflow.po | 458 +++++++++++++++++++++++++++++++++++----- 1 file changed, 400 insertions(+), 58 deletions(-) diff --git a/tutorial/controlflow.po b/tutorial/controlflow.po index 73668d08..fe137653 100644 --- a/tutorial/controlflow.po +++ b/tutorial/controlflow.po @@ -10,31 +10,35 @@ msgstr "" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2024-03-14 12:51+0000\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" -"Last-Translator: FULL NAME \n" -"Language-Team: LANGUAGE \n" +"Last-Translator: Panagiotis Skias \n" +"Language-Team: PyGreece \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" #: tutorial/controlflow.rst:5 msgid "More Control Flow Tools" -msgstr "" +msgstr "Περισσότερα εργαλεία Ελέγχου Ροής" #: tutorial/controlflow.rst:7 msgid "" "As well as the :keyword:`while` statement just introduced, Python uses a few " "more that we will encounter in this chapter." msgstr "" +"Εκτός από τη πρόταση :keyword:`while` που μόλις εισήχθη, η Python χρησιμοποιεί μερικές ακόμη " +"που θα συναντήσουμε σε αυτό το κεφάλαιο." + #: tutorial/controlflow.rst:14 msgid ":keyword:`!if` Statements" -msgstr "" +msgstr "Προτάσεις :keyword:`!if`" #: tutorial/controlflow.rst:16 msgid "" "Perhaps the most well-known statement type is the :keyword:`if` statement. " "For example::" msgstr "" +"Ίσως ο πιο γνωστός τύπος δήλωσης είναι η πρόταση :keyword:`if`. Για παράδειγμα::" #: tutorial/controlflow.rst:33 msgid "" @@ -44,6 +48,11 @@ msgid "" "keyword:`!elif` ... :keyword:`!elif` ... sequence is a substitute for the " "``switch`` or ``case`` statements found in other languages." msgstr "" +"Μπορεί να υπάρχουν μηδέν ή περισσότερα μέρη :keyword:`elif` και το τμήμα " +":keyword:`else` είναι προαιρετικό. To keyword ':keyword:`!elif`' είναι συντομογραφία του " +"'else if', και είναι χρήσιμη για να αποφύγετε την υπερβολίκή εσοχή. Μια ακολουθία " +"keyword:`!if` ... :keyword:`!elif` ... :keyword:`!elif` ... είναι υποκατάστατο των δηλώσεων " +"``switch`` ή ``case`` που βρέθηκαν σε άλλες γλώσσες." #: tutorial/controlflow.rst:39 msgid "" @@ -51,10 +60,13 @@ msgid "" "specific types or attributes, you may also find the :keyword:`!match` " "statement useful. For more details see :ref:`tut-match`." msgstr "" +"Εάν συγκρίνετε την ίδια τιμή με πολλές σταθερές ή ελέγχετε για συγκεκριμένους τύπους ή χαρακτηριστικά, " +"μπορεί επίσης να βρείτε χρήσιμη τη δήλωση :keyword:`!match` " +"Για περισσότερες λεπτομέρειες, ανατρέξτε στο :ref:`tut-match`." #: tutorial/controlflow.rst:46 msgid ":keyword:`!for` Statements" -msgstr "" +msgstr "Προτάσεις :keyword:`!for`" #: tutorial/controlflow.rst:51 msgid "" @@ -66,6 +78,11 @@ msgid "" "a string), in the order that they appear in the sequence. For example (no " "pun intended):" msgstr "" +"Η δήλωση :keyword:`for` στην Python διαφέρει λίγο από αυτό που μπορεί να έχετε συνηθίσει " +"στη C ή στην Pascal. Αντί να επαναλαμβάνετε πάντα μια αριθμητική πρόοδο αριθμών (όπως στη " +"Pascal) ή να δίνετε στον χρήστη τη δυνατότητα να ορίσει τόσο το βήμα επανάληψης όσο και τη συνθήκη διακοπής " +"(όπως C),η δήλωση της Python :keyword:`!for` επαναλαμβάνεται πάνω από τα στοιχεία οποιασδήπτοε ακολουθίας " +"(λίστας ή συμβολοσειράς), με τη σειρά που εμφανίζονται στην ακολουθία. Για παράδειγμα (χωρίς λογοπαίγνιο)::" #: tutorial/controlflow.rst:72 msgid "" @@ -73,16 +90,21 @@ msgid "" "can be tricky to get right. Instead, it is usually more straight-forward to " "loop over a copy of the collection or to create a new collection::" msgstr "" +"Ο κώδικας που τροποποιεί μια συλλογή ενώ επαναλαμβάνεται πάνω από την ίδια συλλογή μπορεί να είναι δύσκολος " +"για να γίνει σωστός. Αντίθετα, είναι συνήθως πιο απλό να κάνετε loop πάνω από ένα αντίγραφο συλλογής ή να " +"δημιουργήσετε μια νέα συλλογή::" #: tutorial/controlflow.rst:94 msgid "The :func:`range` Function" -msgstr "" +msgstr "Η συνάρτηση :func:`range`" #: tutorial/controlflow.rst:96 msgid "" "If you do need to iterate over a sequence of numbers, the built-in function :" "func:`range` comes in handy. It generates arithmetic progressions::" msgstr "" +"Εάν χρειάζεται να κάνετε επανάληψη σε μια ακολουθία αριθμών, η ενσωματωμένη συνάρτηση " +":func:`range` είναι χρήσιμη. Δημιουργεί αριθμητικές προόδους::" #: tutorial/controlflow.rst:108 msgid "" @@ -91,22 +113,30 @@ msgid "" "10. It is possible to let the range start at another number, or to specify " "a different increment (even negative; sometimes this is called the 'step')::" msgstr "" +"Το δεδομένο τελικό σημείο δεν αποτελεί ποτέ μέρος της παραγόμενης ακολουθίας· το " +"``range(10)`` δημιουργεί 10 τιμές, τους δείκτες για στοιχεία μιας ακολοθίας μήκους 10. " +"Είναι δυνατόν να αφήσουμε το εύρος να ξεκινά από άλλο αριθμό ή για να καθορίσετε μια διαφορετική " +"προσαύξηση (ακόμη και αρνητική, μερικές φορές αυτό ονομάζεται 'βήμα')::" #: tutorial/controlflow.rst:122 msgid "" "To iterate over the indices of a sequence, you can combine :func:`range` " "and :func:`len` as follows::" msgstr "" +"Για να γίνουν iterrate οι δείκτες μια ακολουθίας, μπορείτε να συνδυάσετε τις :func:`range` " +"και :func:`len` ως εξής::" #: tutorial/controlflow.rst:135 msgid "" "In most such cases, however, it is convenient to use the :func:`enumerate` " "function, see :ref:`tut-loopidioms`." msgstr "" +"Στις περισσότερες τέτοιες περιπτώσεις, ωστόσο, είναι βολικό να χρησιμοποιήσετε τη συνάρτηση " +":func:`enumerate`, δείτε :ref:`tut-loopidioms`." #: tutorial/controlflow.rst:138 msgid "A strange thing happens if you just print a range::" -msgstr "" +msgstr "Ένα περιέργο πράγμα συμβαίνει αν απλώς εκτυπώσετε ένα range::" #: tutorial/controlflow.rst:143 msgid "" @@ -115,6 +145,10 @@ msgid "" "items of the desired sequence when you iterate over it, but it doesn't " "really make the list, thus saving space." msgstr "" +"Με πολλούς τρόπους το αντικείμενο που επιστρέφεται από το :func:`range` συμπεριφέρεται σαν να είναι " +"μια λίστα, αλλά στην πραγματικότητα δεν είναι. Είναι ένα αντικείμενο που επιστρέφει τα διαδοχικά στοιχεία " +"της επιθυμητής ακολουθίας όταν κάνετε επανάληψη πάνω του, αλλά δεν μπαίνει πραγματικά στη λίστα, " +"εξοικονομώντας έτσι χώρο." #: tutorial/controlflow.rst:148 msgid "" @@ -124,6 +158,11 @@ msgid "" "keyword:`for` statement is such a construct, while an example of a function " "that takes an iterable is :func:`sum`::" msgstr "" +"Λέμε ότι ένα τέτοιο αντικείμενο είναι :term:`iterable`, δηλαδή, κατάλληλο ως " +"στόχος για συναρτήσεις και κατασκευές που περιμένουν κάτι από το οποίο μπορούν να λάβουν " +"διαδοχικά στοιχεία μέχρι να εξαντληθεί η προσφορά. Είδαμε ότι η δήλωση :" +"keyword:`for` είναι μια τέτοια κατασκευή, ενώ ένα παράδειγμα συνάρτησης που παίρνει ένα " +"iterable είναι :func:`sum`::" #: tutorial/controlflow.rst:157 msgid "" @@ -131,54 +170,71 @@ msgid "" "arguments. In chapter :ref:`tut-structures`, we will discuss in more detail " "about :func:`list`." msgstr "" +"Αργότερα θα δούμε περισσότερες συναρτήσεις που επιστρέφουν iterables και λαμβάνουν τους " +"iterables ως ορίσματα. Στο κεφάλαιο :ref:`tut-structures`, θα συζητήσουμε λεπτομερέστερα για το " +":func:`list`." #: tutorial/controlflow.rst:164 msgid "" ":keyword:`!break` and :keyword:`!continue` Statements, and :keyword:`!else` " "Clauses on Loops" msgstr "" +":keyword:`!break` και :keyword:`!continue` Προτάσεις, και :keyword:`!else` " +"Προτάσεις για Loops" #: tutorial/controlflow.rst:166 msgid "" "The :keyword:`break` statement breaks out of the innermost enclosing :" "keyword:`for` or :keyword:`while` loop." msgstr "" +"Η δήλωση :keyword:`break` ξεφεύγει από τον πιο εσωτερικό βρόχο :" +"keyword:`for` ή :keyword:`while`." #: tutorial/controlflow.rst:169 msgid "" "A :keyword:`!for` or :keyword:`!while` loop can include an :keyword:`!else` " "clause." msgstr "" +"Ένας βρόχος :keyword:`!for` ή :keyword:`!while` μπορεί να περιλαμβάνει μια πρόταση " +":keyword:`!else`." #: tutorial/controlflow.rst:171 msgid "" "In a :keyword:`for` loop, the :keyword:`!else` clause is executed after the " "loop reaches its final iteration." msgstr "" +"Σε έναν βρόχο :keyword:`for`, η πρόταση :keyword:`!else` εκτελείται αφού ο βρόχος φτάσει στην τελική του " +"επανάληψη." #: tutorial/controlflow.rst:174 msgid "" "In a :keyword:`while` loop, it's executed after the loop's condition becomes " "false." msgstr "" +"Σε έναν βρόχο :keyword:`while`, εκτελείται αφού η συνθήκη του βρόχου είναι ψευδής." #: tutorial/controlflow.rst:176 msgid "" "In either kind of loop, the :keyword:`!else` clause is **not** executed if " "the loop was terminated by a :keyword:`break`." msgstr "" +"Σε οποιοδήποτε είδος βρόχου, η πρόταση :keyword:`!else` **δεν** εκτελείται εάν ο βρόχος " +"τερματίστηκε με μια λέξη :keyword:`break`." #: tutorial/controlflow.rst:179 msgid "" "This is exemplified in the following :keyword:`!for` loop, which searches " "for prime numbers::" msgstr "" +"Αυτό αποδεικνύεται στον ακόλουθο βρόχο :keyword:`!for`, που αναζητά πρώτους αριθμούς::" #: tutorial/controlflow.rst:200 msgid "" "(Yes, this is the correct code. Look closely: the ``else`` clause belongs " "to the :keyword:`for` loop, **not** the :keyword:`if` statement.)" msgstr "" +"(Ναι, αυτός είναι ο σωστός κώδικας. Κοιτάξτε προσεκτικά: η πρόταση ``else`` ανήκει " +"στον βρόχο :keyword:`for`, **όχι** στη δήλωση :keyword:`if`.)" #: tutorial/controlflow.rst:203 msgid "" @@ -189,26 +245,34 @@ msgid "" "``break`` occurs. For more on the :keyword:`!try` statement and exceptions, " "see :ref:`tut-handling`." msgstr "" +"Όταν χρησιμοποιείται με έναν βρόχο, η πρόταση ``else`` έχει περισσότερα κοινά με την πρόταση " +"``else`` μιας πρότασης :keyword:`try` παρά με αυτήν των δηλώσεων keyword:`if`: η πρόταση " +"``else`` μιας δήλωσης :keyword:`try` εκτελείται όταν δεν υπάρχει εξαίρεση, και η πρόταση ``else`` " +"ενός βρόχου εκτελείται όταν δεν υπάρχει ``break``. Για περισσότερα με τη δήλωση :keyword:`!try` και τις εξαιρέσεις, " +"δείτε :ref:`tut-handling`." #: tutorial/controlflow.rst:210 msgid "" "The :keyword:`continue` statement, also borrowed from C, continues with the " "next iteration of the loop::" msgstr "" +"Η δήλωση :keyword:`continue`, επίσης δανεισμένη από τη C, συνεχίζεται με την επόμενη επανάληψη του βρόχου::" #: tutorial/controlflow.rst:231 msgid ":keyword:`!pass` Statements" -msgstr "" +msgstr "Προτάσεις :keyword:`!pass`" #: tutorial/controlflow.rst:233 msgid "" "The :keyword:`pass` statement does nothing. It can be used when a statement " "is required syntactically but the program requires no action. For example::" msgstr "" +"Η δήλωση :keyword:`pass` δεν κάνει τίποτα. Μπορεί να χρησιμοποιηθεί όταν απαιτείται συντακτικά μια πρόταση, αλλά " +"το πρόγραμμα δεν απαιτεί καμία ενέργεια. Για παράδειγμα::" #: tutorial/controlflow.rst:240 msgid "This is commonly used for creating minimal classes::" -msgstr "" +msgstr "Αυτό χρησιμοποιείται συνήθως για τη δημιουργία ελάχιστων κλάσεων::" #: tutorial/controlflow.rst:246 msgid "" @@ -217,10 +281,13 @@ msgid "" "to keep thinking at a more abstract level. The :keyword:`!pass` is silently " "ignored::" msgstr "" +"Ένα άλλο μέρος :keyword:`pass` που μπορεί να χρησιμοποιηθεί είναι ως place-holder για μια " +"συνάρτηση ή το σώμα υπό όρους όταν εργάζεστε σε νέο κώδικα, επιτρέποντας σας να συνεχίσετε " +"να σκέφτεστε σε ένα πιο αφηρημένο επίπεδο. Το :keyword:`!pass` αγνοείται σιωπηλά::" #: tutorial/controlflow.rst:258 msgid ":keyword:`!match` Statements" -msgstr "" +msgstr "Προτάσεις :keyword:`!match`" #: tutorial/controlflow.rst:260 msgid "" @@ -232,28 +299,38 @@ msgid "" "also extract components (sequence elements or object attributes) from the " "value into variables." msgstr "" +"Μια δήλωση :keyword:`match` παίρνει μια έκφραση και συγκρίνει την τιμή της με διαδοχικά μοτίβα " +"που δίνονται ως ένα ή περισσότερα μπλοκ πεζών-κεφαλαίων. Αυτή είναι επιφανειακά παρόμοια με μια πρόταση " +"switch στην C, Java ή JavaScript (και πολλές άλλες γλώσσες), αλλά είναι πιο παρόμοια με την αντιστοίχιση " +"προτύπων σε γλώσσες όπως η Rust ή η Haskell. Εκτελείται μόνο το πρώτο μοτίβο που ταιριάζει και μπορεί επίσης " +"να εξαγάγει στοιχεία (στοιχεία ακολουθίας ή ιδιότητες αντικειμένου) από την τιμή σε μεταβλητές." #: tutorial/controlflow.rst:268 msgid "" "The simplest form compares a subject value against one or more literals::" msgstr "" +"Η απλούστερη φόρμα συγκρίνει μια τιμή θέματος με ένα ή περισσότερα literals::" #: tutorial/controlflow.rst:281 msgid "" "Note the last block: the \"variable name\" ``_`` acts as a *wildcard* and " "never fails to match. If no case matches, none of the branches is executed." msgstr "" +"Σημειώστε το τελευταίο μπλοκ: το \"όνομα μεταβλητής\" ``_`` λειτουργεί ως *μπαλαντέρ* και δεν " +"αποτυγχάνει ποτέ να ταιριάζει. Εάν δεν ταιριάζει κανένα case, κανένας από τους κλάδους δεν εκτελείται." #: tutorial/controlflow.rst:284 msgid "" "You can combine several literals in a single pattern using ``|`` (\"or\")::" msgstr "" +"Μπορείτε να συνδυάσετε πολλά γράμματα σε ένα μόνο μοτίβο χρησιμοποιώντας το ``|`` (\"ή\")::" #: tutorial/controlflow.rst:289 msgid "" "Patterns can look like unpacking assignments, and can be used to bind " "variables::" msgstr "" +"Τα μοτίβα μπορεί να μοιάζουν με αναθέσεις unpacking, και μπορούν αν χρησιμοποιηθούν για τη σύνδεση μεταβλητών::" #: tutorial/controlflow.rst:305 msgid "" @@ -264,6 +341,11 @@ msgid "" "which makes it conceptually similar to the unpacking assignment ``(x, y) = " "point``." msgstr "" +"Μελετήστε το ένα προσεκτικά! Το πρώτο μοτίβο έχει δύο literals, και μπορεί να θεωρηθεί ως " +"επέκταση του literal μοτίβου που φαίνεται παραπάνω. Αλλά τα επόμενα δύο μοτίβα συνδυάζουν ένα " +"literal σε μια μεταβλητή, και η μεταβλητή *δεσμεύει* μια τιμή από το θέμα (``point``). Το τέταρτο " +"μοτίβο συλλαμβάνει δύο τιμές, γεγονός που το κάνει εννοιολογικά παρόμοιο με την ανάθεση unpacking " +"``(x, y) = point``." #: tutorial/controlflow.rst:312 msgid "" @@ -271,6 +353,9 @@ msgid "" "followed by an argument list resembling a constructor, but with the ability " "to capture attributes into variables::" msgstr "" +"Εάν χρησιμοποιείτε κλάσεις για τη δομή των δεδομένων σας, μπορείτε να χρησιμοποιήσετε το όνομα της κλάσης " +"ακολουθούμενο από μια λίστα ορισμάτων που μοιάζει με έναν κατασκευαστή, αλλά με τη δυνατότητα να συλλαμβάνει " +"χαρακτηριστικά σε μεταβλητές::" #: tutorial/controlflow.rst:334 msgid "" @@ -281,6 +366,11 @@ msgid "" "\"y\"), the following patterns are all equivalent (and all bind the ``y`` " "attribute to the ``var`` variable)::" msgstr "" +"Μπορείτε να χρησιμοποιήσετε παραμέτρους θέσης με ορισμένες ενσωματωμένες κλάσεις που παρέχουν " +"μια σειρά για τα χαρακτηριστικά τους (π.χ. κλάσεις δεδομένων). Μπορείτε επίσης να ορίσετε μια συγκεκριμένη θέση " +"για χαρακτηριστικά σε μοτίβα ορίζοντας το ειδικό χαρακτηριστικό ``__match_args__`` στις κλάσεις σας. Εάν έχει οριστεί " +"σε (\"x\", \"y\"), τα ακόλουθα μοτίβα είναι όλα ισοδύναμα (και όλα δεσμεύουν το χαρακτηριστικό ``y`` " +"στη μεταβλητή ``var``)::" #: tutorial/controlflow.rst:345 msgid "" @@ -292,12 +382,19 @@ msgid "" "(recognized by the \"(...)\" next to them like ``Point`` above) are never " "assigned to." msgstr "" +"Ένα συνιστώμενος τρόπος για να διαβάσετε τα μοτίβα είναι να τα δείτε ως μια εκτεταμένη μορφή αυτού που θα " +"βάλετε στα αριστερά μιας εργασίας, για να κατανοήσετε ποιες μεταβλητές θα οριστούν σε τι. Μόνο τα ανεξάρτητα ονόματα " +"(όπως ``var`` παραπάνω) εκχωρούνται από μια δήλωση αντιστοίχισης. Ονόματα με κουκκίδες (όπως ``foo." +"bar``), ονόματα χαρακτηριστικών (τα ``x=`` και ``y=`` παραπάνω) ή ονόματα κλάσεων " +"(αναγνωρίζονται από το \"(...)\" που βρίσκεται δίπλα όπως το ``Point`` παραπάνω) δεν ανατίθενται ποτέ." #: tutorial/controlflow.rst:352 msgid "" "Patterns can be arbitrarily nested. For example, if we have a short list of " "Points, with ``__match_args__`` added, we could match it like this::" msgstr "" +"Τα μοτίβα μπορούν να είναι αυθαίρετα ένθετα. Για παράδειγμα, εάν έχουμε μια σύντομη λίστα " +"με Points, με προσθήκη ``__match_args__``, θα μπορούσαμε να την αντιστοιχίσουμε ως εξής::" #: tutorial/controlflow.rst:373 msgid "" @@ -305,10 +402,13 @@ msgid "" "guard is false, ``match`` goes on to try the next case block. Note that " "value capture happens before the guard is evaluated::" msgstr "" +"Μπορούμε να προσθέσουμε μια πρόταση ``if`` σε ένα μοτίβο, γνωστό ως \"guard\". Εάν το guard είναι " +"false, το ``match`` συνεχίζει για να δοκιμάσει το επόμενο μπλοκ πεζών-κεφαλαίων. Λάβετε υπόψη ότι η σύλληψη " +"της τιμής γίνεται πριν ο guard αξιολογείθεί::" #: tutorial/controlflow.rst:383 msgid "Several other key features of this statement:" -msgstr "" +msgstr "Πολλά άλλα βασικά χαρακτηριστικά αυτής της δήλωσης:" #: tutorial/controlflow.rst:385 msgid "" @@ -316,6 +416,9 @@ msgid "" "meaning and actually match arbitrary sequences. An important exception is " "that they don't match iterators or strings." msgstr "" +"Όπως το unpacking αναθέσεων, τα μοτίβα πλειάδας (tuple) και λίστας έχουν ακριβώς την ίδια " +"σημασία και ταιριάζουν πραγματικά με αυθαίρετες ακολουθίες. Μια σημαντική εξαίρεση είναι ότι δεν ταιριάζουν " +"με iterators ή συμβολοσειρές." #: tutorial/controlflow.rst:389 msgid "" @@ -324,6 +427,10 @@ msgid "" "also be ``_``, so ``(x, y, *_)`` matches a sequence of at least two items " "without binding the remaining items." msgstr "" +"Τα μοτίβα ακολουθίας υποστηρίζουν εκτεταμένο unpacking: ``[x, y, *rest]`` και ``(x, y, " +"*rest)`` λειτουργεί παρόμοια με το unpacing αναθέσεων. Το όνομα μετά το ``*`` μπορεί επίσης " +"να είναι ``_``, οπότε το ``(x, y, *_)`` αντιστοιχεί σε μια ακολουθία τουλάχιστον δύο στοιχείων " +"χωρίς να δεσμεύει τα υπόλοιπα στοιχεία." #: tutorial/controlflow.rst:394 msgid "" @@ -332,44 +439,59 @@ msgid "" "sequence patterns, extra keys are ignored. An unpacking like ``**rest`` is " "also supported. (But ``**_`` would be redundant, so it is not allowed.)" msgstr "" +"Μοτίβα αντιστοίχισης: ``{\"bandwidth\": b, \"latency\": l}`` καταγράφει τις τιμές " +"``\"bandwidth\"`` και ``\"latency\"`` από ένα λεξικό. Σε αντίθεση με τα μοτίβα ακολοθίας, " +"επιπλεόν κλειδιά αγνοούνται. Υποστηρίζεται επίσης ο unpacking όπως το ``**rest``. (Αλλά το " +"``**_`` θα ήταν περιττό, επομένως δεν επιτρέπεται.)" #: tutorial/controlflow.rst:399 msgid "Subpatterns may be captured using the ``as`` keyword::" -msgstr "" +msgstr "Τα δευτερεύονται μοτίβα μπορούν αν αποτυπωθούν χρησιμοποιώντας το " +"keyword ``as``::" #: tutorial/controlflow.rst:403 msgid "" "will capture the second element of the input as ``p2`` (as long as the input " "is a sequence of two points)" msgstr "" +"θα καταγράψει το δεύτερο στοιχείο της εισόδου ως ``p2`` (εφόσον η είσοδος είναι μια " +"ακολουθία δύο σημείων)" #: tutorial/controlflow.rst:406 msgid "" "Most literals are compared by equality, however the singletons ``True``, " "``False`` and ``None`` are compared by identity." msgstr "" +"Τα περισσότερα literals συγκρίνονται με ισότητα, ωστόσο τα singletons ``True``, " +"``False`` και ``None`` συγκρίνονται με ταυτότητα." #: tutorial/controlflow.rst:409 msgid "" "Patterns may use named constants. These must be dotted names to prevent " "them from being interpreted as capture variable::" msgstr "" +"Τα μοτίβα μπορούν να χρησιμοποιούν ονομασμένες σταθερές. Αυτά πρέπει να είναι ονόματα με " +"κουκκίδες για να μην ερμηνεύονται ως capture μεταβλητή::" #: tutorial/controlflow.rst:428 msgid "" "For a more detailed explanation and additional examples, you can look into :" "pep:`636` which is written in a tutorial format." msgstr "" +"Για πιο λεπτομερή επεξήγηση και πρόσθετα παραδείγματα, μπορείτε να δείτε το :" +"pep:`636` το οποίο είναι γραμμένο σε μορφή εκμάθησης." #: tutorial/controlflow.rst:434 msgid "Defining Functions" -msgstr "" +msgstr "Καθορισμός Συναρτήσεων" #: tutorial/controlflow.rst:436 msgid "" "We can create a function that writes the Fibonacci series to an arbitrary " "boundary::" msgstr "" +"Μπορούμε να δημιουργήσουμε μια συνάρτηση που γράφει τη σειρά Fibonacci σε ένα " +"αυθαίρετο όριο::" #: tutorial/controlflow.rst:456 msgid "" @@ -378,6 +500,9 @@ msgid "" "parameters. The statements that form the body of the function start at the " "next line, and must be indented." msgstr "" +"Το keyword :keyword:`def` εισάγει μια συνάρτηση *ορισμός*. Πρέπει να ακολουθείται από το " +"όνομα της συνάρτησης και τη λίστα των τυπικών παραμέτρων σε παρένθεση. Οι δηλώσεις που σχηματίζουν " +"το σώμα της συνάρτησης ξεκινούν από την επόμενη γρμμή και πρέπει να είναι εσοχές." #: tutorial/controlflow.rst:461 msgid "" @@ -389,6 +514,12 @@ msgid "" "through code; it's good practice to include docstrings in code that you " "write, so make a habit of it." msgstr "" +"Η πρώτη δήλωση του σώματος της συνάρτησης μπορεί προαιρετικά να είναι ένα literal " +"συμβολοσειράς· αυτό το literal συμβολοσειράς είναι η συμβολοσειρά τεκμηρίωσης της συνάρτησης " +"ή :dfn:`docstring`. (Περισσότερα για τα docstring μπορείτε να βρείτε στην ενότητα :ref:`tut-" +"docstrings`.) Υπάρχουν εργαλεία που χρησιμοποιούν docstrings για την αυτόματη παραγωγή διαδικτυακής ή " +"έντυπης τεκμηρίωσης ή για να αφήσουν τον χρήστη να περιηγηθεί διαδραστικά στον κώδικα· είναι καλή " +"πρακτική να συμπεριλαμβάνονται docstrings στον κώδικα που γράφετε, για αυτό κάντε το συνήθεια." #: tutorial/controlflow.rst:468 msgid "" @@ -403,6 +534,15 @@ msgid "" "for variables of enclosing functions, named in a :keyword:`nonlocal` " "statement), although they may be referenced." msgstr "" +"Η *εκτέλεση* μιας συνάρτησης εισάγει έναν νέο πίνακα συμβόλων που χρησιμοποιείται " +"για τις τοπικές μεταβλητές της συνάρτησης. Πιο συγκεκριμένα, όλες οι εκχωρήσεις μεταβλητών " +"σε μια συνάρτηση αποθηκεύουν την τιμή στον πίνακα τοπικών συμβόλων, ενώ οι αναφορές μεταβλητών " +"κοιτάζονται πρώτα στον πίνακα τοπικών συμβόλων, στη συνέχιας στους πίνακες τοπικών συμβόλων των " +"συναρτήσεων που περικλείουν, μετά στον πίνακα καθολικών συμβόλων και, τέλος, στον πίνακα ενσωματωμένων " +"ονομάτων. Έτσι, οι καθολικές μεταβλητές και οι μεταβλητές των συναρτήσεων που περικλείουν δεν μπορούν " +"να εκχωρηθούν ως μια τιμή μέσα σε μια συνάρτηση (εκτός εάν, για καθολικές μεταβλητές, που ονομάζονται σε " +"μια δήλωση :keyword:`global` ή, για μεταβλητές συναρτήσεων που περικλείουν, ονομάζονται ως μια δήλωση " +":keyword:`nonlocal`), αν και μπορεί να αναφέρονται." #: tutorial/controlflow.rst:479 msgid "" @@ -413,6 +553,11 @@ msgid "" "another function, or calls itself recursively, a new local symbol table is " "created for that call." msgstr "" +"Οι πραγματικές παράμετροι (ορίσματα) σε μια κλήση συνάρτησης εισάγονται στον τοπικό πίνακα " +"συμβόλων ης καλούμενης συνάρτησης όταν αυτή καλείται· έτσι, τα ορίσματα μεταβιβάζονται χρησιμοποιώντας " +"*call by value* (όπου η *value* είναι πάντα ένα αντικείμενο *reference*, όχι την τιμή του αντικειμένου). " +"[#]_ Όταν μια συνάρτηση καλεί μια άλλη συνάρτηση ή καλεί τον εαυτό της αναδρομικά, δημιουργείται ένας νέος πίνακας " +"τοπικών συμβόλων για αυτήν την κλήση." #: tutorial/controlflow.rst:486 msgid "" @@ -421,6 +566,10 @@ msgid "" "to by that name as a user-defined function. Other names can also point to " "that same function object and can also be used to access the function::" msgstr "" +"Ένας ορισμός συνάρτησης συσχετίζει το όνομα της συνάρτησης με το αντικείμενο συνάρτησης στον " +"τρέχοντα πίνακα συμβόλων. Ο διερμηνέας αναγνωρίζει το αντικείμενο στο οποίο επισημαίνεται αυτό το " +"όνομα ως συνάρτηση που ορίζεται από τον χρήστη. Άλλα όνοματα μπορούν επίσης να δείχνουν το ίδιο αντικείμενο " +"συνάρτησης και μπορούν επίσης να χρησιμοποιηθούν για πρόσβαση στη συνάρτηση::" #: tutorial/controlflow.rst:497 msgid "" @@ -432,16 +581,24 @@ msgid "" "the only value written. You can see it if you really want to using :func:" "`print`::" msgstr "" +"Προερχόμενοι από άλλες γλώσσες, μπορεί να αντιταχθείτε ότι το ``fib`` δεν είναι μια " +"συνάρτηση αλλά μια διαδικασία, καθώς δεν επιστρέφει μια τιμή. Στην πραγματικότητα, ακόμη και " +"συναρτήσεις χωρίς δήλωση :keyword:`return` επιστρέφουν μια τιμή, αν και μάλλον βαρετό. Αυτή η τιμή " +"ονομάζεται ``None``. Η εγγραφή της τιμής ``None`` από τον διερμηνέα, εάν θα ήταν η μόνη τιμή " +"που γράφεται. Μπορείτε να το δείτε αν το θέλετε πραγματικά χρησιμοποιώντας τη :func:" +"`print`::" #: tutorial/controlflow.rst:508 msgid "" "It is simple to write a function that returns a list of the numbers of the " "Fibonacci series, instead of printing it::" msgstr "" +"Είανι απλό να γράψετε μια συνάρτηση που επιστρέφει μια λίστα με τους αριθμούς της σειράς " +"Fibonacci, αντί να την εκτυπώσετε::" #: tutorial/controlflow.rst:524 msgid "This example, as usual, demonstrates some new Python features:" -msgstr "" +msgstr "Αυτό το παράδειγμα, ως συνήθως, δείχνει μερικά νέα χαρακτηριστικά Python:" #: tutorial/controlflow.rst:526 msgid "" @@ -449,6 +606,9 @@ msgid "" "keyword:`!return` without an expression argument returns ``None``. Falling " "off the end of a function also returns ``None``." msgstr "" +"Η δήλωση :keyword:`return` επιστρέφει με μια τιμή από μια συνάρτηση. Το :" +"keyword:`!return` χωρίς όρισμα έκφρασης, επιστρέφει το ``None``. Η πτώση " +"του τέλους μιας συνάρτησης επιστρέφει επίσης ``None``." #: tutorial/controlflow.rst:530 msgid "" @@ -464,20 +624,31 @@ msgid "" "this example it is equivalent to ``result = result + [a]``, but more " "efficient." msgstr "" +"Η δήλωση ``result.append(a)`` καλεί μια *μέθοδο* του αντικειμένου της λίστας " +"``result``. Μια μέθοδος είναι μια συνάρτηση που 'ανήκει' σε ένα αντικείμενο και ονομάζεται " +"``obj.methodname``, όπου ``obj`` είναι κάποιο αντικείμενο (αυτό μπορεί να έιναι μια έκφραση), " +"και το ``methodname`` είναι το όνομα μιας μεθόδου που ορίζεται από τον τύπο του αντικειμένου. " +"Διαφορετικοί τύποι ορίζουν διαφορετικές μεθόδους. Μέθοδοι διαφορετικών τύπων μπορεί να έχουν " +"το ίδιο όνομα χωρίς να προκαλούν ασάφεια. (Είναι δυνατό να ορίσετε τους δικούς σας τύπους αντικειμένων και " +"μεθόδους, χρησιμοποιώντας *classes*, δείτε :ref:`tut-classes`) Η μέθοδος :meth:`!append` που εμφανίζεται " +"στο παράδειγμα ορίζεται για αντικείμενα λίστας· προσθέτει ένα νέο στοιχείο στο τέλος της λίστας. Σε " +"αυτό το παράδειγμα είναι ισοδύναμο με ``result = result + [a]``, αλλά πιο αποτελεσματικό." #: tutorial/controlflow.rst:545 msgid "More on Defining Functions" -msgstr "" +msgstr "Περισσότερο για τον Καθορισμό Συναρτήσεων" #: tutorial/controlflow.rst:547 msgid "" "It is also possible to define functions with a variable number of arguments. " "There are three forms, which can be combined." msgstr "" +"Είναι επίσης δυνατός ο ορισμός συναρτήσεων με μεταβλητό αριθμό ορισμάτων. " +"Υπάρχουν τρεις μορφές, που μπορούν να συνδυαστούν." #: tutorial/controlflow.rst:554 msgid "Default Argument Values" -msgstr "" +msgstr "Προεπιλεγμένες Τιμές Ορίσματος" #: tutorial/controlflow.rst:556 msgid "" @@ -485,43 +656,55 @@ msgid "" "arguments. This creates a function that can be called with fewer arguments " "than it is defined to allow. For example::" msgstr "" +"Η πιο χρήσιμη φόρμα είναι να καθορίσετε μια προεπιλεγμένη τιμή για ένα ή περισσότερα ορίσματα. " +"Αυτό δημιουργεί μια συνάρτηση που μπορεί να κληθεί με λιγότερα ορίσματα από αυτά που έχει ορίσει ότι " +"επιτρέπει. Για παράδειγμα::" #: tutorial/controlflow.rst:572 msgid "This function can be called in several ways:" -msgstr "" +msgstr "Αυτή η συνάρτηση μπορεί να κληθεί με διάφορους τρόπους:" #: tutorial/controlflow.rst:574 msgid "" "giving only the mandatory argument: ``ask_ok('Do you really want to quit?')``" msgstr "" +"δίνοτνας μόνο το υποχρεωικκό όρισμα: ``ask_ok('Do you really want to quit?')``" #: tutorial/controlflow.rst:576 msgid "" "giving one of the optional arguments: ``ask_ok('OK to overwrite the file?', " "2)``" msgstr "" +"δίνοντας ένα από τα προαιρετικά ορίσματα: ``ask_ok('OK to overwrite the file?', " +"2)``" #: tutorial/controlflow.rst:578 msgid "" "or even giving all arguments: ``ask_ok('OK to overwrite the file?', 2, 'Come " "on, only yes or no!')``" msgstr "" +"ή δίνοντας όλα τα ορίσματα: ``ask_ok('OK to overwrite the file?', 2, 'Come " +"on, only yes or no!')``" #: tutorial/controlflow.rst:581 msgid "" "This example also introduces the :keyword:`in` keyword. This tests whether " "or not a sequence contains a certain value." msgstr "" +"Αυτό το παράδειγμα εισάγει επίσης το keyword :keyword:`in`. Αυτό ελέγχει εάν μια " +"ακολουθία περιέχει ή όχι μια συγκεκριμένη τιμή." #: tutorial/controlflow.rst:584 msgid "" "The default values are evaluated at the point of function definition in the " "*defining* scope, so that ::" msgstr "" +"Οι προεπιλεγμένες τιμές αξιολογούνται στο σημείο του ορισμού της συνάρτησης στο " +"πεδίο που *ορίζεται*, έτσι ώστε ::" #: tutorial/controlflow.rst:595 msgid "will print ``5``." -msgstr "" +msgstr "θα εκτυπώσει ``5``." #: tutorial/controlflow.rst:597 msgid "" @@ -530,20 +713,26 @@ msgid "" "dictionary, or instances of most classes. For example, the following " "function accumulates the arguments passed to it on subsequent calls::" msgstr "" +"**Σημαντική προειδοποίηση:** Η προεπιλεγμένη τιμή αξιολογείται μόνο μία φορά. Αυτό " +"κάνει τη διαφορά όταν η προεπιλογή είναι ένα μεταβλητό αντικείμενο, όπως μια λίστα, λεξικό ή " +"στιγμιότυπα των περισσότερων κλάσεων. Για παράδειγμα, η ακόλουθη συνάρτηση συσσωρεύει " +"τα ορίσματα που διαβάζονται σε αυτό σε επόμενες κλήσεις::" #: tutorial/controlflow.rst:610 msgid "This will print ::" -msgstr "" +msgstr "Αυτό θα εκτυπώσει ::" #: tutorial/controlflow.rst:616 msgid "" "If you don't want the default to be shared between subsequent calls, you can " "write the function like this instead::" msgstr "" +"Εάν δεν θέλετε να γίνεται κοινή χρήση της προεπιλογής μεταξύ των επόμενων κλήσεων, μπορείτε " +"να γράψετε τη συνάρτηση ως εξής::" #: tutorial/controlflow.rst:629 msgid "Keyword Arguments" -msgstr "" +msgstr "Ορίσματα Keyword" #: tutorial/controlflow.rst:631 msgid "" @@ -551,6 +740,8 @@ msgid "" "argument>` of the form ``kwarg=value``. For instance, the following " "function::" msgstr "" +"Οι συναρτήσεις μπορούν επίσης να κληθούν χρησιμοποιώντας το :term:`keyword arguments ` της μορφής ``kwarg=value``. Για παράδειγμα, την ακόλουθη συνάρτηση::" #: tutorial/controlflow.rst:640 msgid "" @@ -558,10 +749,13 @@ msgid "" "(``state``, ``action``, and ``type``). This function can be called in any " "of the following ways::" msgstr "" +"δέχεται ένα απαιτούμενο όρισμα (``voltage``) και τρία προαιρετικά ορίσματα " +"(``state``, ``action``, και ``type``). Αυτή η συνάρτηση μπορεί να κληθεί με οποιονδήποτε " +"από τους ακόλουθους τρόπους::" #: tutorial/controlflow.rst:651 msgid "but all the following calls would be invalid::" -msgstr "" +msgstr "αλλά όλες οι ακόλουθες κλήσεις θα ήταν άκυρες::" #: tutorial/controlflow.rst:658 msgid "" @@ -573,6 +767,13 @@ msgid "" "may receive a value more than once. Here's an example that fails due to this " "restriction::" msgstr "" +"Σε μια κλήση συνάρτησης, τα keyword ορίσματα πρέπει να ακολουθούν ορίσματα θέσης. Όλα " +"τα keyword ορίσματα που διαβάζονται πρέπει να ταιριάζουν με ένα από τα ορίσματα που γίνονται " +"δεκτά από τη συνάρτηση (π.χ. το ``actor`` δεν είναι έγκυρο όρισμα για τη συνάρτηση ``parrot``), " +"και η διάταξη τους δεν είναι σημαντική. Αυτό περιλαμβάνει επίσης μη " +"προαιρετικά ορίσματα (π.χ. ``parrot(voltage=1000)`` είναι επίσης έγκυρο). Κανένα όρισμα " +"δεν μπορεί να λάβει μια τιμή περισσότερες από μία φορές. Ακολουθεί ένα παράδειγμα που αποτυγχάνει " +"λόγω αυτού του περιορισμού::" #: tutorial/controlflow.rst:674 msgid "" @@ -584,24 +785,33 @@ msgid "" "positional arguments beyond the formal parameter list. (``*name`` must " "occur before ``**name``.) For example, if we define a function like this::" msgstr "" +"Όταν υπάρχει μια τελική επίσημη παράμετρος της μορφής ``**name``, λαμάνει ένα λεξικό " +"(δείτε :ref:`typesmapping`) που περιέχει όλα τα keyword ορίσματα εκτός από αυτά που " +"αντιστοιχούν σε μια επίσημη παράμετρο. Αυτό μπορεί να συνδυαστεί με μια επίσημη παράμετρος " +"της μοφής ``*name`` (που περιγράφεται στην επόμενη υποενότητα) η οποία λαμβάνει ένα " +":ref:`tuple ` που περιέχει τα ορίσματα θέσης πέρα από την επίσημη λίστα παραμέτρων. " +"(Το ``*name`` πρέπει να εφμανίζεται πριν από το ``**name``.) Για παράδειγμα, αν ορίσουμε μια " +"συνάρτηση όπως αυτή::" #: tutorial/controlflow.rst:691 msgid "It could be called like this::" -msgstr "" +msgstr "Μπορεί να καλεστεί κάπως έτσι::" #: tutorial/controlflow.rst:699 msgid "and of course it would print:" -msgstr "" +msgstr "και φυσικά θα εκτυπώσει:" #: tutorial/controlflow.rst:712 msgid "" "Note that the order in which the keyword arguments are printed is guaranteed " "to match the order in which they were provided in the function call." msgstr "" +"Λάβετε υπόψη ότι η σειρά με την οποία εκτυπώνονται τα keyword ορίσματα είναι εγγυημένη " +"ότι ταιριάζει με τη σειρά με την οποία δόθηκαν στην κλήση της συνάρτησης." #: tutorial/controlflow.rst:716 msgid "Special parameters" -msgstr "" +msgstr "Ειδικές παράμετροι" #: tutorial/controlflow.rst:718 msgid "" @@ -611,10 +821,15 @@ msgid "" "at the function definition to determine if items are passed by position, by " "position or keyword, or by keyword." msgstr "" +"Από προεπιλογή, τα ορίσματα μπορούν να μεταβιβαστούν σε μια συνάρτηση Python είτε με βάση " +"τη θέση είτε ρητά με το keyword. Για αναγνωσιμότητα και απόδοση, ειναι λογικό να περιοριστεί " +"ο τρόπος με τον οποίο μπορούν να περάσουν τα ορίσματα, έτσι ώστε ένας προγραμματιστής να μην " +"χρειάζεται να κοιτάξει το ορισμό της συνάρτησης για να προσδιορίσει εάν τα στοιχεία μεταβιβάζονται " +"κατά θέση, κατά θέση ή keyword, ή κατά keyword." #: tutorial/controlflow.rst:724 msgid "A function definition may look like:" -msgstr "" +msgstr "Ένας ορισμός συνάρτησης μπορεί να μοιάζει με αυτό:" #: tutorial/controlflow.rst:735 msgid "" @@ -623,20 +838,26 @@ msgid "" "only, positional-or-keyword, and keyword-only. Keyword parameters are also " "referred to as named parameters." msgstr "" +"όπου τα ``/`` και ``*`` είναι προαιρτικά. Εάν χρησιμοποιούνται, αυτά τα σύμβολα υποδεικνύουν " +"το είδος της παραμέτρους με τον τρόπο που τα ορίσματα μπορούν να μεταβιβαστούν στη συνάρτηση: " +"μόνο θέσης (positional-only), θέσης ή keyword (positional-or-keyword), και μόνο keyword (keyword-only). " +"Οι keyword παράμετροι αναφέρονται επίσης ως ονομασμένες παράμετροι." #: tutorial/controlflow.rst:742 msgid "Positional-or-Keyword Arguments" -msgstr "" +msgstr "Παράμετροι Θέσης ή Keyword" #: tutorial/controlflow.rst:744 msgid "" "If ``/`` and ``*`` are not present in the function definition, arguments may " "be passed to a function by position or by keyword." msgstr "" +"Εάν τα ``/`` και ``*`` δεν υπάρχουν στον ορισμό της συνάρτησης, τα ορίσματα μπορούν να μεταβιβαστούν " +"σε μια συνάρτηση ανά θέση ή κατά keyword." #: tutorial/controlflow.rst:749 msgid "Positional-Only Parameters" -msgstr "" +msgstr "Παράμετροι Μόνο-Θέσης" #: tutorial/controlflow.rst:751 msgid "" @@ -648,16 +869,23 @@ msgid "" "parameters. If there is no ``/`` in the function definition, there are no " "positional-only parameters." msgstr "" +"Επανεξετάζοντας αυτό το θέμα λίγο πιο λεπτομερώς, είναι δυνατό να επισημάνετε " +"ορισμένες παραμέτρους ως *μόνο θέσης*.Εάν *μόνο θέσης*, η σειρά των παραμέτρων έχει σημασία " +"και οι παράμετροι δεν μπορούν να μεταβιβαστούν με keyword. Οι παράμετροι μόνο θέσης τοποθετούνται " +"πριν από ένα ``/`` (προς τα εμπρός-κάθετος). Το ``/``χρησιμοποιείται για να διαχωρίσει λογικά τις " +"παραμέτρους μόνο θέσης από τις υπόλοιπες παραμέτρους. Εάν δεν υπάερχει το ``/`` στον ορισμό της " +"συνάρτησης, δεν υπάρχουν παράμετροι μόνο θέσης." #: tutorial/controlflow.rst:759 msgid "" "Parameters following the ``/`` may be *positional-or-keyword* or *keyword-" "only*." msgstr "" +"Οι παράμετροι που ακολουθούν το ``/`` μπορεί να είναι *θέσης ή keyword* ή *μόνο keyword*." #: tutorial/controlflow.rst:763 msgid "Keyword-Only Arguments" -msgstr "" +msgstr "Ορίσματα μόνο Keyword" #: tutorial/controlflow.rst:765 msgid "" @@ -665,16 +893,21 @@ msgid "" "passed by keyword argument, place an ``*`` in the arguments list just before " "the first *keyword-only* parameter." msgstr "" +"Για να επισημάνετε τις παραμέτρους ως *μόνο keyword*, υποδεικνύοντας ότι οι παράμετροι πρέπει " +"να περάσουν από το keyword όρισμα, τοποθετήσετε ένα ``*`` στη λίστα ορισμάτων ακριβώς πριν " +"από την πρώτη παράμετρο *μόνο keyword*." #: tutorial/controlflow.rst:771 msgid "Function Examples" -msgstr "" +msgstr "Παραδείγματα Συναρτήσεων" #: tutorial/controlflow.rst:773 msgid "" "Consider the following example function definitions paying close attention " "to the markers ``/`` and ``*``::" msgstr "" +"Σκεφτείτε τα ακόλουθα παραδείγματα ορισμών συναρτήσεων δίνοντας ιδιαίτερη " +"προσοχή στους δείκτες ``/`` και ``*``::" #: tutorial/controlflow.rst:789 msgid "" @@ -682,24 +915,32 @@ msgid "" "places no restrictions on the calling convention and arguments may be passed " "by position or keyword::" msgstr "" +"Ο πρώτος ορισμός συνάρτησης, ``standard_arg``, η πιο οικεία μορφή, δεν θέτει περιορισμούς " +"στη σύμβαση κλήσης και τα ορίσματα μπορούν να περάσουν από θέση ή από keyword::" #: tutorial/controlflow.rst:799 msgid "" "The second function ``pos_only_arg`` is restricted to only use positional " "parameters as there is a ``/`` in the function definition::" msgstr "" +"Η δεύτερη συνάρτηση ``pos_only_arg`` περιορίζεται στη χρήση μόνο παραμέτρων θέσης καθώς " +"υπάρχει ένα ``/`` στον ορισμός της συνάρτησης::" #: tutorial/controlflow.rst:810 msgid "" "The third function ``kwd_only_args`` only allows keyword arguments as " "indicated by a ``*`` in the function definition::" msgstr "" +"Η τρίτη συνάρτηση ``kwd_only_args`` επιτρέπει μόνο keyword ορίσματα όπως " +"υποδεικνύεται από ένα ``*`` στον ορισμός της συνάρτησης::" #: tutorial/controlflow.rst:821 msgid "" "And the last uses all three calling conventions in the same function " "definition::" msgstr "" +"Και το τελευταίο χρησιμοποιεί και τις τρεις συμβάσεις κλήσης στον ίδιο ορισμό " +"συνάρτησης::" #: tutorial/controlflow.rst:841 msgid "" @@ -707,12 +948,16 @@ msgid "" "between the positional argument ``name`` and ``**kwds`` which has ``name`` " "as a key::" msgstr "" +"Τέλος, εξετάστε αυτόν τον ορισμό συνάρτησης που έχει μια πιθανή σύγκρουση μεταξύ " +"του ορίσματος θέσης ``name`` και ``**kwds`` που έχει ως κλειδί το ``name``::" #: tutorial/controlflow.rst:846 msgid "" "There is no possible call that will make it return ``True`` as the keyword " "``'name'`` will always bind to the first parameter. For example::" msgstr "" +"Δεν υπάρχει καμία πιθανή κλήση που θα την κάνεινα επιστρέψει ``True`` καθώς το keyword " +"``'name'`` θα συνδέεται πάντα με την πρώτη παράμετρο. Για παράδειγμα::" #: tutorial/controlflow.rst:855 msgid "" @@ -720,26 +965,31 @@ msgid "" "``name`` as a positional argument and ``'name'`` as a key in the keyword " "arguments::" msgstr "" +"Αλλά χρησιμοποιώντας ``/`` (ορίσματα μόνο θέσης), είναι δυνατό καθώς επιτρέπει το ``name`` " +"ως όρισμα θέσης και το ``'name'`` ως κλειδί στα keyword ορίσματα::" #: tutorial/controlflow.rst:863 msgid "" "In other words, the names of positional-only parameters can be used in " "``**kwds`` without ambiguity." msgstr "" +"Με άλλα λόγια, τα ονόματα των παραμέτρων μόνο θέσης μπορούν να χρησιμοποιηθούν σε ``**kwds`` " +"χωρίς ασάφεια." #: tutorial/controlflow.rst:868 msgid "Recap" -msgstr "" +msgstr "Ανακεφαλαίωση" #: tutorial/controlflow.rst:870 msgid "" "The use case will determine which parameters to use in the function " "definition::" msgstr "" +"Η περίπτωση χρήσης θα καθορίσει ποιες παραμέτρους θα χρησιμοποιηθούν στον ορισμό της συνάρτησης::" #: tutorial/controlflow.rst:874 msgid "As guidance:" -msgstr "" +msgstr "Ως καθοδήγηση:" #: tutorial/controlflow.rst:876 msgid "" @@ -749,6 +999,10 @@ msgid "" "is called or if you need to take some positional parameters and arbitrary " "keywords." msgstr "" +"Χρησιμοποιήστε τη θέση μόνο εάν θέλετε το όνομα των παραμέτρων να μην είναι διαθέσιμο στο χρήστη. " +"Αυτό είναι χρήσιμο όταν τα ονόματα παραμέτρων δεν έχουν πραγματικό νόημα, εάν δεν θέλετε να " +"επιβάλετε τη σειρά των ορισμάτων όταν καλείται η συνάρτηση ή εάν πρέπει να ληφθούν ορισμένες παράμετροι " +"θέσης και αυθαίρετα keywords." #: tutorial/controlflow.rst:881 msgid "" @@ -756,16 +1010,21 @@ msgid "" "understandable by being explicit with names or you want to prevent users " "relying on the position of the argument being passed." msgstr "" +"Χρησιμοποιήστε keyword μόνο όταν τα ονόματα έχουν νόημα και ο ορισμός της συνάρτησης " +"είναι πιο κατανοητός όταν είναι ρητός με ονόματα ή θέλετε να αποτρέψετε τους χρήστες να βασίζονται " +"στη θέση του επιχειρήματος που μεταβιβάζεται." #: tutorial/controlflow.rst:884 msgid "" "For an API, use positional-only to prevent breaking API changes if the " "parameter's name is modified in the future." msgstr "" +"Για ένα API, χρησιμοποιήστε το μόνο θέσης για να αποτρέψετε τη διακοπή των αλλαγών " +"τους API, εάν το όνομα της παραμέτρου τροποποιηθεί στο μέλλον." #: tutorial/controlflow.rst:890 msgid "Arbitrary Argument Lists" -msgstr "" +msgstr "Λίστες Αυθαίρετων Ορισμάτων" #: tutorial/controlflow.rst:895 msgid "" @@ -774,6 +1033,10 @@ msgid "" "wrapped up in a tuple (see :ref:`tut-tuples`). Before the variable number " "of arguments, zero or more normal arguments may occur. ::" msgstr "" +"Τέλος, η λιγότερο συχνά χρησιμοποιούμενη επιλογή είναι να ορίσετε ότι μια συνάρτηση " +"μπορεί να κληθεί μεέναν αυθαίρετο αριθμός ορισμάτων. Αυτά τα ορίσματα θα τυλιχθούν σε μια " +"πλειάδα (tuple) (βλ. :ref:`tut-tuples`). Πριν από τον μεταβλητό αριθμό ορισμάτων ενδέχεται " +"να προκύψουν μηδέν ή περισσότερα κανονικά ορίσματα. ::" #: tutorial/controlflow.rst:904 msgid "" @@ -783,10 +1046,15 @@ msgid "" "``*args`` parameter are 'keyword-only' arguments, meaning that they can only " "be used as keywords rather than positional arguments. ::" msgstr "" +"Κανονικά, αυτά τα *variadic* ορίσματα θα είναι τελευταία στη λίστα των επίσημων " +"παραμέτρων, επειδή συλλέγουν όλα τα υπόλοιπα ορίσματα εισόδου που μεταβιβάζονται στη " +"συνάρτηση. Οποιεσδήποτε τυπικές παράμετροι που εμφανίζονται μετά την παράμετρο " +"``*args`` είναι 'μόνο keyword' ορίσματα, που σημαίνει ότι μπορούν να χρησιμοποιηθούν μόνο ως " +"λέξεις-κλειδιά και όχι ως ορίσματα θέσης. ::" #: tutorial/controlflow.rst:921 msgid "Unpacking Argument Lists" -msgstr "" +msgstr "Unpacking Λίστες Ορισμάτων" #: tutorial/controlflow.rst:923 msgid "" @@ -797,16 +1065,24 @@ msgid "" "separately, write the function call with the ``*``\\ -operator to unpack " "the arguments out of a list or tuple::" msgstr "" +"Η αντίστροφη κατάσταση συμβαίνει όταν τα ορίσματα βρίσκονται ήδη σε μια λίστα ή " +"πλειάδα (tuple), αλλά πρέπει να αποσυμπιεστούν για μια κλήση συνάρτησης που απαιτεί " +"ξεχωριστά ορίσματα θέσης. Για παράδειγμα, η ενσωματωμένη (built-in) συνάρτηση :func:`range` " +"αναμένει ξεχωριστά *start* και *stop* ορισματα. Εάν δεν είναι διαθέσιμα ξεχωριστά, γράψτε την κλήση " +"συνάρτησης με τον ``*``\\ -τελεστή για να αποσυμπιέσετε τα ορίσματα από μια λίστα ή " +"πλειάδα (tuple)::" #: tutorial/controlflow.rst:939 msgid "" "In the same fashion, dictionaries can deliver keyword arguments with the " "``**``\\ -operator::" msgstr "" +"Με τον ίδιο τρόπο, τα λεξικά μπορούν αν παραδίδουν keyword ορίσματα με τον " +"``**``\\ -τελεστη::" #: tutorial/controlflow.rst:955 msgid "Lambda Expressions" -msgstr "" +msgstr "Εκφράσεις Lambda" #: tutorial/controlflow.rst:957 msgid "" @@ -818,22 +1094,31 @@ msgid "" "definitions, lambda functions can reference variables from the containing " "scope::" msgstr "" +"Μπορούν αν δημιουργηθούν μικρές ανώνυμες συναρτήσεις με το keyword :keyword:`lambda`. " +"Αυτή η συνάρτηση επιστρέφει το άθροισμα των δύο ορισμάτων της: ``lambda a, b: a+b``. " +"Οι συναρτήσεις Lambda μπορούν να χρησιμοποιηθούν όπου απαιτούνται αντικείμενα συνάρτησης. " +"Περιορίζονται συντακικά σε μία μόνο έκφραση. Σημασιολογικά, είναι απλώς syntactic sugar " +"για έναν ορισμό κανονικής συνάρτησης. Όπως οι ορισμοί ένθετων συναρτήσεων, οι συναρτήσεις " +"lambda μπορούν να παραπέμπουν σε μεταβλητές από το πεδίο που περιέχει::" #: tutorial/controlflow.rst:974 msgid "" "The above example uses a lambda expression to return a function. Another " "use is to pass a small function as an argument::" msgstr "" +"Το παραπάνω παράδειγμα χρησιμοποιεί μια έκφραση lambda για να επιστρέψει μια συνάρτηση. Μια άλλη " +"χρήση είναι η μετάδοση μιας μικρής συνάρτησης ως όρισμα::" #: tutorial/controlflow.rst:986 msgid "Documentation Strings" -msgstr "" +msgstr "Συμβολοσειρές Τεκμηρίωσης" #: tutorial/controlflow.rst:993 msgid "" "Here are some conventions about the content and formatting of documentation " "strings." msgstr "" +"Ακολουθούν ορισμένες συμβάσεις σχετικάμε το περιεχόμενο και τη μορφοποίηση των συμβολοσειρών τεκμηρίωσης." #: tutorial/controlflow.rst:996 msgid "" @@ -851,6 +1136,10 @@ msgid "" "The following lines should be one or more paragraphs describing the object's " "calling conventions, its side effects, etc." msgstr "" +"Εάν υπάρχουν περισσότερες γραμμές στη συμβολοσειρά τεκμηρίωσης, η δεύτερη γραμμήθα πρέπει " +"να είναι κενή, διαχωρίζοντας οπτικά τη σύνοψη από την υπόλοιπη περιγραφή. Οι ακόλουθες γραμμές " +"πρέπει να είναι μία ή περισσότερες παραγράφοι που περιγράφουν τις συμβάσεις κλήσης του αντικειμένου, " +"τις παρενέργειές του κ.λπ.." #: tutorial/controlflow.rst:1007 msgid "" @@ -866,14 +1155,25 @@ msgid "" "they occur all their leading whitespace should be stripped. Equivalence of " "whitespace should be tested after expansion of tabs (to 8 spaces, normally)." msgstr "" +"Ο parser της Python δεν αφαιρεί την εσοχή από τα literals της συμβολοσειράς πολλών " +"γραμμών στην Python, επομένως τα εργαλεία που επεξεργάζονται την τεκμηρίωση πρέπει " +"να αφαιρέσουν την εσοχή εάν είναι επιθυμητό. Αυτό γίνεται χρησιμοπιοώντας την ακόλουθη " +"σύμβαση. Η πρώτη μη κενή γραμμή *μετά* την πρώτη γραμμή της συμβολοσειράς καθορίζει το " +"μέγεθος της εσοχής για ολόκληρη τη συμβολοσειρά τεκμηρίωσης. (Δεν μπορούμε να χρησιμοποιήσουμε " +"την πρώτη γραμμή αφού είναι γενικά δίπλα στα εισαγωγικά της συμβολοσειράς, επομένως η εσοχή της δεν " +"είναι εμφανής στο literal της συμβολοσειράς.) Το κενό διάστημα " +"\"ισοδύναμο\" σε αυτήν την εσοχή αφαιρείται στη συνέχεια από την αρχή όλων των γραμμών της " +"συμβολοσειράς. Οι γραμμές που έχουν μικρότερη εσοχή δεν θα πρέπει να εμφανίζονται, αλλά αν εμφανιστούν " +"θα πρέπει να αφαιρεθεί όλο το αρχικό κενό τους. Η ισοδυναμία των κενών διαστημάτων θα πρέπει να " +"ελέγχεται μετά την επέκταση των καρτελών (σε 8 κενά, κανονικά)." #: tutorial/controlflow.rst:1019 msgid "Here is an example of a multi-line docstring::" -msgstr "" +msgstr "Ακολουθεί ένα παράδειγμα νεός πολλαπλών γραμμών docstring::" #: tutorial/controlflow.rst:1037 msgid "Function Annotations" -msgstr "" +msgstr "Annotations Συναρτήσεων" #: tutorial/controlflow.rst:1045 msgid "" @@ -881,6 +1181,10 @@ msgid "" "information about the types used by user-defined functions (see :pep:`3107` " "and :pep:`484` for more information)." msgstr "" +"Το :ref:`Function annotations ` είναι εντελώς προαιρετικές πληροφοριές " +"μεταδεδομένων σχετικά με τους τύπους χρησιμοποιούνται από συναρτήσεις που καθορίζονται " +"από το χρήστη (δείτε :pep:`3107` " +"και :pep:`484` για περισσότερες πληροφορίες)." #: tutorial/controlflow.rst:1049 msgid "" @@ -893,10 +1197,18 @@ msgid "" "denoting the end of the :keyword:`def` statement. The following example has " "a required argument, an optional argument, and the return value annotated::" msgstr "" +"Το :term:`Annotations ` αποθηκεύονται στο χαρακτηριστικό " +":attr:`!__annotations__` της συνάρτησης ως λεξικό και δεν έχουνε καμία επίδραση σε κανένα άλλο " +"μέρος της συνάρτησης. Τα annotations των παραμέτρων ορίζονται με άνω και κάτω τελεία " +"μετά το όνομα παραμέτρου, ακολουθούμενη από μια έκφραση που αξιλογεί την τιμή του annotation. " +"Τα annotaions επιστροφής ορίζονται από ένα literal ``->``, ακολοθούμενο από μια έκφραση, μεταξύ " +"της λίστας παραμέτρων και της άνω και κάτω τελείας που υποδηλώνει το τέλος της δήλωσης :keyword:`def`. " +"Το ακόλουθο παράδειγμα έχει ένα απαιτούμενο όρισμα, ένα προαιρετικό όρισμα και την επιστρεφόμενη τιμή σε " +"annotations::" #: tutorial/controlflow.rst:1071 msgid "Intermezzo: Coding Style" -msgstr "" +msgstr "Intermezzo: Στυλ Κώδικα" #: tutorial/controlflow.rst:1076 msgid "" @@ -906,6 +1218,11 @@ msgid "" "others. Making it easy for others to read your code is always a good idea, " "and adopting a nice coding style helps tremendously for that." msgstr "" +"Τώρα που πρόκειται να γράψετε μεγαλύτερα, και πιο σύνθετα κομμάτια της Python, είνι η " +"κατάλληλη στιγμή να μιλήσετε για *στυλ κώδικα*. Οι περισσότερες γλώσσες μπορούν να γραφτούν " +"(ή πιο συνοπτικές, *μοροφοποιημένες*) σε διαφορετικά στυλ· μερικές είναι πιο ευανάγνωστες από άλλες. " +"Το να διευκολύνετε τους άλλους να διαβάσουν τον κώδικα σας είναι πάντα μια καλή ιδέα και η υιοθέτηση ενός " +"ωραίου στυλ κώδικα βοηθάει πάρα πολύ σε αυτό." #: tutorial/controlflow.rst:1082 msgid "" @@ -914,10 +1231,13 @@ msgid "" "Python developer should read it at some point; here are the most important " "points extracted for you:" msgstr "" +"Για την Python, το :pep:`8` έχει αναδειχθεί ως οδηγός στηλ στον οποίο τηρούν τα περισσότερα έργα· " +"προωθεί ένα πολύ ευανάγνωστο και ευχάριστο στυλ κώδικα. Κάθε προγραμματιστής Python θα πρέπει να το " +"διαβάσει κάποια στιγμή· εδώ είναι τα πιο σημαντικό σημεία που εξάγονται για εσάς:" #: tutorial/controlflow.rst:1087 msgid "Use 4-space indentation, and no tabs." -msgstr "" +msgstr "Χρησιμοποιήστε εσοχή 4 διαστημάτων και όχι tabs." #: tutorial/controlflow.rst:1089 msgid "" @@ -925,36 +1245,45 @@ msgid "" "nesting depth) and large indentation (easier to read). Tabs introduce " "confusion, and are best left out." msgstr "" +"Τα 4 κενά είναι ένας καλό συμβιβασμό μεταξύ της μικρής εσοχής (επιτρέπει μεγαλύτερο " +"βάθος εμφώλευσης) και της μεγάλης εσοχής (ευκολότερη στην ανάγνωση). Τα tabs δημιουργούν " +"σύγχυση, και είναι καλύτερο να παραμείνουν απέξω." #: tutorial/controlflow.rst:1093 msgid "Wrap lines so that they don't exceed 79 characters." -msgstr "" +msgstr "Τυλίξτε τις γραμμές έτσι ώστε να μην υπερβαίνουν τους 79 χαρακτήρες." #: tutorial/controlflow.rst:1095 msgid "" "This helps users with small displays and makes it possible to have several " "code files side-by-side on larger displays." msgstr "" +"Αυτό βοηθά του χρήστες με μικρές οθόνες και καθιστά δυνατή την ύπαρξη πολλών " +"αρχείων κώδικα δίπλα-δίπλα σε μεγαλύτερες οθόνες." #: tutorial/controlflow.rst:1098 msgid "" "Use blank lines to separate functions and classes, and larger blocks of code " "inside functions." msgstr "" +"Χρησιμοποιείστε κενές γραμμές για να διαχωρίσετε συναρτήσεις και κλάσεις και μεγαλύτερα " +"μπλοκ κώδικα μέσα συναρτήσεις." #: tutorial/controlflow.rst:1101 msgid "When possible, put comments on a line of their own." -msgstr "" +msgstr "Όταν είναι δυνατόν, βάλτε σχόλια σε μια δική τους γραμμή." #: tutorial/controlflow.rst:1103 msgid "Use docstrings." -msgstr "" +msgstr "Χρησιμοποιήστε docstrings." #: tutorial/controlflow.rst:1105 msgid "" "Use spaces around operators and after commas, but not directly inside " "bracketing constructs: ``a = f(1, 2) + g(3, 4)``." msgstr "" +"Χρησιμοποιήστε κενά γύρω από τελεστές και μετά από κόμματα, αλλά όχι απευθείας μέσα " +"δε δομές αγκύλων: ``a = f(1, 2) + g(3, 4)``." #: tutorial/controlflow.rst:1108 msgid "" @@ -963,6 +1292,10 @@ msgid "" "functions and methods. Always use ``self`` as the name for the first method " "argument (see :ref:`tut-firstclasses` for more on classes and methods)." msgstr "" +"Ονομάστε τις κλάσεις και τις συναρτήσεις σας με συνέπεια· η σύμβαση είναι " +"να χρησιμοποιείτε ``UpperCamelCase`` για τις κλάσεις και ``lowercase_with_underscores`` " +"για τις συναρτήσεις και τις μεθόδους. Χρησιμοποιείτε πάντα το ``self`` ως όνομα για το " +"πρώτο όρισμα μεθόδου (δείτε :ref:`tut-firstclasses` για περισσότερα σχετικά με τις κλάσεις και τις μεθόδους)." #: tutorial/controlflow.rst:1113 msgid "" @@ -970,6 +1303,9 @@ msgid "" "environments. Python's default, UTF-8, or even plain ASCII work best in any " "case." msgstr "" +"Μην χρησιμοποιείτε φανταχτερές κωδικοποιήσεις εάν ο κώδικας σας προορίζεται να χρησιμοποιηθεί " +"σε διεθνή περιβάλλοντα. Η προεπιλογή της Python, UTF-8, ή ακόμα και το απλό ASCII λειτουργούν " +"καλύτερα σε κάθε περίπτωση." #: tutorial/controlflow.rst:1117 msgid "" @@ -977,10 +1313,13 @@ msgid "" "slightest chance people speaking a different language will read or maintain " "the code." msgstr "" +"Ομοίως, μη χρησιμοποιείτε χαρακτήρες που δεν είναι ASCII σε αναγνωριστικά εάν υπάρχει " +"μόνο η παραμικρή πιθανότητα οι άνθρωποι που μιλούν διαφορετική γλώσσα να διαβάσουν ή να " +"διατηρήσουν τον κώδικα." #: tutorial/controlflow.rst:1123 msgid "Footnotes" -msgstr "" +msgstr "Υποσημειώσεις" #: tutorial/controlflow.rst:1124 msgid "" @@ -988,63 +1327,66 @@ msgid "" "a mutable object is passed, the caller will see any changes the callee makes " "to it (items inserted into a list)." msgstr "" +"Στην πραγματικότητα, η *κλήση με αναφορά αντικειμένου* θα ήταν μια καλύτερη περιγραφή, καθώς " +"εάν μεταβιβαστεί ένα μεταβλητό αντικείμενο, ο καλών θα δει τυχόν αλλαγές που κάνει ο καλών σε αυτό " +"(στοιχεία που εισάγονται σε μια λίστα)." #: tutorial/controlflow.rst:48 msgid "statement" -msgstr "" +msgstr "statement" #: tutorial/controlflow.rst:48 msgid "for" -msgstr "" +msgstr "for" #: tutorial/controlflow.rst:988 msgid "documentation strings" -msgstr "" +msgstr "documentation strings" #: tutorial/controlflow.rst:988 msgid "docstrings" -msgstr "" +msgstr "docstrings" #: tutorial/controlflow.rst:988 msgid "strings, documentation" -msgstr "" +msgstr "strings, documentation" #: tutorial/controlflow.rst:892 msgid "* (asterisk)" -msgstr "" +msgstr "* (αστερίσκος)" #: tutorial/controlflow.rst:936 msgid "in function calls" -msgstr "" +msgstr "in function calls" #: tutorial/controlflow.rst:936 msgid "**" -msgstr "" +msgstr "**" #: tutorial/controlflow.rst:1040 msgid "function" -msgstr "" +msgstr "function" #: tutorial/controlflow.rst:1040 msgid "annotations" -msgstr "" +msgstr "annotations" #: tutorial/controlflow.rst:1040 msgid "->" -msgstr "" +msgstr "->" #: tutorial/controlflow.rst:1040 msgid "function annotations" -msgstr "" +msgstr "function annotations" #: tutorial/controlflow.rst:1040 msgid ": (colon)" -msgstr "" +msgstr ": (colon)" #: tutorial/controlflow.rst:1074 msgid "coding" -msgstr "" +msgstr "coding" #: tutorial/controlflow.rst:1074 msgid "style" -msgstr "" +msgstr "style" From 090d1b698ad60b4fe1de8471a0f5aaeb2f269c9c Mon Sep 17 00:00:00 2001 From: skpanagiotis Date: Thu, 26 Sep 2024 11:01:05 +0300 Subject: [PATCH 02/10] Update translation for tutorial/controlflow --- dictionaries/main.txt | 25 ++ tutorial/controlflow.po | 732 ++++++++++++++++++++++------------------ 2 files changed, 434 insertions(+), 323 deletions(-) diff --git a/dictionaries/main.txt b/dictionaries/main.txt index 8ff61e18..34a24c27 100644 --- a/dictionaries/main.txt +++ b/dictionaries/main.txt @@ -32,6 +32,7 @@ Index Initiatives Input Insert +Intermezzo Intra L Linux @@ -40,6 +41,7 @@ Local Look Looking Looping +Loops Ltd M Marek @@ -61,6 +63,7 @@ Readline Reilly Research Reston +Rust Search Sets Shop @@ -108,9 +111,12 @@ bytecode bytecodes bytes c +cache +cached callable callables callbacks +case cfg chomp class @@ -142,12 +148,15 @@ decorator decorators del delegation +delimiters descriptor descriptors dict dispatch dll doc +docstring +docstrings doctest dots dotted @@ -156,12 +165,14 @@ dtoa duck editor editors +else email exe expat expressions extension f +false finder finders first @@ -176,9 +187,11 @@ gdb generator hash hints +holder home hot i +if import importer importing @@ -232,6 +245,7 @@ linking linters list literal +literals loader loaders looks @@ -272,13 +286,18 @@ path pdb pip pipes +place +positional project prompt prompts +provisional py pyc pyd quacks +raise +range raw re read @@ -311,6 +330,7 @@ switch switches symlink symlinks +syntactic tab tabs tag @@ -362,11 +382,13 @@ zlib αντ αντικειμενοστρεφής αντικειμενοστρεφείς +αντιταχθείτε βλ γλωσσαρίου δηλ διαχειρίζοντας διεπαφών +εμφώλευσης εντοπιστές επαναχρησιμοποιηθούν επανεισάγω @@ -384,6 +406,7 @@ zlib μακροεντολές μακροεντολή μετα +μεταδεδομένων μετακλάσεων οκταδική οκταδικής @@ -414,11 +437,13 @@ zlib συντηρησιμότητα συσχετιστικές συσχετιστικοί +τυλιχθούν υ υποακολουθία υποακολουθίας υποαντικείμενα υποεντολών +υποενότητα υποενότητες υποκατάλογος υποκλάσεις diff --git a/tutorial/controlflow.po b/tutorial/controlflow.po index fe137653..b8db6cf5 100644 --- a/tutorial/controlflow.po +++ b/tutorial/controlflow.po @@ -9,12 +9,14 @@ msgstr "" "Project-Id-Version: Python 3.12\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2024-03-14 12:51+0000\n" -"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: 2024-09-26 09:49+0300\n" "Last-Translator: Panagiotis Skias \n" "Language-Team: PyGreece \n" +"Language: el\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" +"X-Generator: Poedit 3.5\n" #: tutorial/controlflow.rst:5 msgid "More Control Flow Tools" @@ -25,9 +27,8 @@ msgid "" "As well as the :keyword:`while` statement just introduced, Python uses a few " "more that we will encounter in this chapter." msgstr "" -"Εκτός από τη πρόταση :keyword:`while` που μόλις εισήχθη, η Python χρησιμοποιεί μερικές ακόμη " -"που θα συναντήσουμε σε αυτό το κεφάλαιο." - +"Εκτός από τη πρόταση :keyword:`while` που μόλις εισήχθη, η Python " +"χρησιμοποιεί μερικές ακόμη που θα συναντήσουμε σε αυτό το κεφάλαιο." #: tutorial/controlflow.rst:14 msgid ":keyword:`!if` Statements" @@ -38,7 +39,8 @@ msgid "" "Perhaps the most well-known statement type is the :keyword:`if` statement. " "For example::" msgstr "" -"Ίσως ο πιο γνωστός τύπος δήλωσης είναι η πρόταση :keyword:`if`. Για παράδειγμα::" +"Ίσως ο πιο γνωστός τύπος δήλωσης είναι η πρόταση :keyword:`if`. Για " +"παράδειγμα::" #: tutorial/controlflow.rst:33 msgid "" @@ -48,11 +50,12 @@ msgid "" "keyword:`!elif` ... :keyword:`!elif` ... sequence is a substitute for the " "``switch`` or ``case`` statements found in other languages." msgstr "" -"Μπορεί να υπάρχουν μηδέν ή περισσότερα μέρη :keyword:`elif` και το τμήμα " -":keyword:`else` είναι προαιρετικό. To keyword ':keyword:`!elif`' είναι συντομογραφία του " -"'else if', και είναι χρήσιμη για να αποφύγετε την υπερβολίκή εσοχή. Μια ακολουθία " -"keyword:`!if` ... :keyword:`!elif` ... :keyword:`!elif` ... είναι υποκατάστατο των δηλώσεων " -"``switch`` ή ``case`` που βρέθηκαν σε άλλες γλώσσες." +"Μπορεί να υπάρχουν μηδέν ή περισσότερα μέρη :keyword:`elif` και το τμήμα :" +"keyword:`else` είναι προαιρετικό. To keyword ':keyword:`!elif`' είναι " +"συντομογραφία του 'else if', και είναι χρήσιμη για να αποφύγετε την " +"υπερβολική εσοχή. Μια ακολουθία keyword:`!if` ... :keyword:`!elif` ... :" +"keyword:`!elif` ... είναι υποκατάστατο των δηλώσεων ``switch`` ή ``case`` " +"που βρέθηκαν σε άλλες γλώσσες." #: tutorial/controlflow.rst:39 msgid "" @@ -60,9 +63,10 @@ msgid "" "specific types or attributes, you may also find the :keyword:`!match` " "statement useful. For more details see :ref:`tut-match`." msgstr "" -"Εάν συγκρίνετε την ίδια τιμή με πολλές σταθερές ή ελέγχετε για συγκεκριμένους τύπους ή χαρακτηριστικά, " -"μπορεί επίσης να βρείτε χρήσιμη τη δήλωση :keyword:`!match` " -"Για περισσότερες λεπτομέρειες, ανατρέξτε στο :ref:`tut-match`." +"Εάν συγκρίνετε την ίδια τιμή με πολλές σταθερές ή ελέγχετε για " +"συγκεκριμένους τύπους ή χαρακτηριστικά, μπορεί επίσης να βρείτε χρήσιμη τη " +"δήλωση :keyword:`!match` Για περισσότερες λεπτομέρειες, ανατρέξτε στο :ref:" +"`tut-match`." #: tutorial/controlflow.rst:46 msgid ":keyword:`!for` Statements" @@ -78,11 +82,13 @@ msgid "" "a string), in the order that they appear in the sequence. For example (no " "pun intended):" msgstr "" -"Η δήλωση :keyword:`for` στην Python διαφέρει λίγο από αυτό που μπορεί να έχετε συνηθίσει " -"στη C ή στην Pascal. Αντί να επαναλαμβάνετε πάντα μια αριθμητική πρόοδο αριθμών (όπως στη " -"Pascal) ή να δίνετε στον χρήστη τη δυνατότητα να ορίσει τόσο το βήμα επανάληψης όσο και τη συνθήκη διακοπής " -"(όπως C),η δήλωση της Python :keyword:`!for` επαναλαμβάνεται πάνω από τα στοιχεία οποιασδήπτοε ακολουθίας " -"(λίστας ή συμβολοσειράς), με τη σειρά που εμφανίζονται στην ακολουθία. Για παράδειγμα (χωρίς λογοπαίγνιο)::" +"Η δήλωση :keyword:`for` στην Python διαφέρει λίγο από αυτό που μπορεί να " +"έχετε συνηθίσει στη C ή στην Pascal. Αντί να επαναλαμβάνετε πάντα μια " +"αριθμητική πρόοδο αριθμών (όπως στη Pascal) ή να δίνετε στον χρήστη τη " +"δυνατότητα να ορίσει τόσο το βήμα επανάληψης όσο και τη συνθήκη διακοπής " +"(όπως C),η δήλωση της Python :keyword:`!for` επαναλαμβάνεται πάνω από τα " +"στοιχεία οποιασδήποτε ακολουθίας (λίστας ή συμβολοσειράς), με τη σειρά που " +"εμφανίζονται στην ακολουθία. Για παράδειγμα (χωρίς λογοπαίγνιο)::" #: tutorial/controlflow.rst:72 msgid "" @@ -90,8 +96,9 @@ msgid "" "can be tricky to get right. Instead, it is usually more straight-forward to " "loop over a copy of the collection or to create a new collection::" msgstr "" -"Ο κώδικας που τροποποιεί μια συλλογή ενώ επαναλαμβάνεται πάνω από την ίδια συλλογή μπορεί να είναι δύσκολος " -"για να γίνει σωστός. Αντίθετα, είναι συνήθως πιο απλό να κάνετε loop πάνω από ένα αντίγραφο συλλογής ή να " +"Ο κώδικας που τροποποιεί μια συλλογή ενώ επαναλαμβάνεται πάνω από την ίδια " +"συλλογή μπορεί να είναι δύσκολος για να γίνει σωστός. Αντίθετα, είναι " +"συνήθως πιο απλό να κάνετε loop πάνω από ένα αντίγραφο συλλογής ή να " "δημιουργήσετε μια νέα συλλογή::" #: tutorial/controlflow.rst:94 @@ -103,8 +110,8 @@ msgid "" "If you do need to iterate over a sequence of numbers, the built-in function :" "func:`range` comes in handy. It generates arithmetic progressions::" msgstr "" -"Εάν χρειάζεται να κάνετε επανάληψη σε μια ακολουθία αριθμών, η ενσωματωμένη συνάρτηση " -":func:`range` είναι χρήσιμη. Δημιουργεί αριθμητικές προόδους::" +"Εάν χρειάζεται να κάνετε επανάληψη σε μια ακολουθία αριθμών, η ενσωματωμένη " +"συνάρτηση :func:`range` είναι χρήσιμη. Δημιουργεί αριθμητικές προόδους::" #: tutorial/controlflow.rst:108 msgid "" @@ -113,30 +120,31 @@ msgid "" "10. It is possible to let the range start at another number, or to specify " "a different increment (even negative; sometimes this is called the 'step')::" msgstr "" -"Το δεδομένο τελικό σημείο δεν αποτελεί ποτέ μέρος της παραγόμενης ακολουθίας· το " -"``range(10)`` δημιουργεί 10 τιμές, τους δείκτες για στοιχεία μιας ακολοθίας μήκους 10. " -"Είναι δυνατόν να αφήσουμε το εύρος να ξεκινά από άλλο αριθμό ή για να καθορίσετε μια διαφορετική " -"προσαύξηση (ακόμη και αρνητική, μερικές φορές αυτό ονομάζεται 'βήμα')::" +"Το δεδομένο τελικό σημείο δεν αποτελεί ποτέ μέρος της παραγόμενης " +"ακολουθίας· το ``range(10)`` δημιουργεί 10 τιμές, τους δείκτες για στοιχεία " +"μιας ακολουθίας μήκους 10. Είναι δυνατόν να αφήσουμε το εύρος να ξεκινά από " +"άλλο αριθμό ή για να καθορίσετε μια διαφορετική προσαύξηση (ακόμη και " +"αρνητική, μερικές φορές αυτό ονομάζεται 'βήμα')::" #: tutorial/controlflow.rst:122 msgid "" "To iterate over the indices of a sequence, you can combine :func:`range` " "and :func:`len` as follows::" msgstr "" -"Για να γίνουν iterrate οι δείκτες μια ακολουθίας, μπορείτε να συνδυάσετε τις :func:`range` " -"και :func:`len` ως εξής::" +"Για να γίνουν iterate οι δείκτες μια ακολουθίας, μπορείτε να συνδυάσετε τις :" +"func:`range` και :func:`len` ως εξής::" #: tutorial/controlflow.rst:135 msgid "" "In most such cases, however, it is convenient to use the :func:`enumerate` " "function, see :ref:`tut-loopidioms`." msgstr "" -"Στις περισσότερες τέτοιες περιπτώσεις, ωστόσο, είναι βολικό να χρησιμοποιήσετε τη συνάρτηση " -":func:`enumerate`, δείτε :ref:`tut-loopidioms`." +"Στις περισσότερες τέτοιες περιπτώσεις, ωστόσο, είναι βολικό να " +"χρησιμοποιήσετε τη συνάρτηση :func:`enumerate`, δείτε :ref:`tut-loopidioms`." #: tutorial/controlflow.rst:138 msgid "A strange thing happens if you just print a range::" -msgstr "Ένα περιέργο πράγμα συμβαίνει αν απλώς εκτυπώσετε ένα range::" +msgstr "Ένα περίεργο πράγμα συμβαίνει αν απλώς εκτυπώσετε ένα range::" #: tutorial/controlflow.rst:143 msgid "" @@ -145,10 +153,11 @@ msgid "" "items of the desired sequence when you iterate over it, but it doesn't " "really make the list, thus saving space." msgstr "" -"Με πολλούς τρόπους το αντικείμενο που επιστρέφεται από το :func:`range` συμπεριφέρεται σαν να είναι " -"μια λίστα, αλλά στην πραγματικότητα δεν είναι. Είναι ένα αντικείμενο που επιστρέφει τα διαδοχικά στοιχεία " -"της επιθυμητής ακολουθίας όταν κάνετε επανάληψη πάνω του, αλλά δεν μπαίνει πραγματικά στη λίστα, " -"εξοικονομώντας έτσι χώρο." +"Με πολλούς τρόπους το αντικείμενο που επιστρέφεται από το :func:`range` " +"συμπεριφέρεται σαν να είναι μια λίστα, αλλά στην πραγματικότητα δεν είναι. " +"Είναι ένα αντικείμενο που επιστρέφει τα διαδοχικά στοιχεία της επιθυμητής " +"ακολουθίας όταν κάνετε επανάληψη πάνω του, αλλά δεν μπαίνει πραγματικά στη " +"λίστα, εξοικονομώντας έτσι χώρο." #: tutorial/controlflow.rst:148 msgid "" @@ -159,10 +168,10 @@ msgid "" "that takes an iterable is :func:`sum`::" msgstr "" "Λέμε ότι ένα τέτοιο αντικείμενο είναι :term:`iterable`, δηλαδή, κατάλληλο ως " -"στόχος για συναρτήσεις και κατασκευές που περιμένουν κάτι από το οποίο μπορούν να λάβουν " -"διαδοχικά στοιχεία μέχρι να εξαντληθεί η προσφορά. Είδαμε ότι η δήλωση :" -"keyword:`for` είναι μια τέτοια κατασκευή, ενώ ένα παράδειγμα συνάρτησης που παίρνει ένα " -"iterable είναι :func:`sum`::" +"στόχος για συναρτήσεις και κατασκευές που περιμένουν κάτι από το οποίο " +"μπορούν να λάβουν διαδοχικά στοιχεία μέχρι να εξαντληθεί η προσφορά. Είδαμε " +"ότι η δήλωση :keyword:`for` είναι μια τέτοια κατασκευή, ενώ ένα παράδειγμα " +"συνάρτησης που παίρνει ένα iterable είναι η :func:`sum`::" #: tutorial/controlflow.rst:157 msgid "" @@ -170,9 +179,9 @@ msgid "" "arguments. In chapter :ref:`tut-structures`, we will discuss in more detail " "about :func:`list`." msgstr "" -"Αργότερα θα δούμε περισσότερες συναρτήσεις που επιστρέφουν iterables και λαμβάνουν τους " -"iterables ως ορίσματα. Στο κεφάλαιο :ref:`tut-structures`, θα συζητήσουμε λεπτομερέστερα για το " -":func:`list`." +"Αργότερα θα δούμε περισσότερες συναρτήσεις που επιστρέφουν iterables και " +"λαμβάνουν τους iterables ως ορίσματα. Στο κεφάλαιο :ref:`tut-structures`, " +"θα συζητήσουμε λεπτομερέστερα για το :func:`list`." #: tutorial/controlflow.rst:164 msgid "" @@ -187,54 +196,56 @@ msgid "" "The :keyword:`break` statement breaks out of the innermost enclosing :" "keyword:`for` or :keyword:`while` loop." msgstr "" -"Η δήλωση :keyword:`break` ξεφεύγει από τον πιο εσωτερικό βρόχο :" -"keyword:`for` ή :keyword:`while`." +"Η δήλωση :keyword:`break` ξεφεύγει από τον πιο εσωτερικό βρόχο :keyword:" +"`for` ή :keyword:`while`." #: tutorial/controlflow.rst:169 msgid "" "A :keyword:`!for` or :keyword:`!while` loop can include an :keyword:`!else` " "clause." msgstr "" -"Ένας βρόχος :keyword:`!for` ή :keyword:`!while` μπορεί να περιλαμβάνει μια πρόταση " -":keyword:`!else`." +"Ένας βρόχος :keyword:`!for` ή :keyword:`!while` μπορεί να περιλαμβάνει μια " +"πρόταση :keyword:`!else`." #: tutorial/controlflow.rst:171 msgid "" "In a :keyword:`for` loop, the :keyword:`!else` clause is executed after the " "loop reaches its final iteration." msgstr "" -"Σε έναν βρόχο :keyword:`for`, η πρόταση :keyword:`!else` εκτελείται αφού ο βρόχος φτάσει στην τελική του " -"επανάληψη." +"Σε έναν βρόχο :keyword:`for`, η πρόταση :keyword:`!else` εκτελείται αφού ο " +"βρόχος φτάσει στην τελική του επανάληψη." #: tutorial/controlflow.rst:174 msgid "" "In a :keyword:`while` loop, it's executed after the loop's condition becomes " "false." msgstr "" -"Σε έναν βρόχο :keyword:`while`, εκτελείται αφού η συνθήκη του βρόχου είναι ψευδής." +"Σε έναν βρόχο :keyword:`while`, εκτελείται αφού η συνθήκη του βρόχου είναι " +"ψευδής." #: tutorial/controlflow.rst:176 msgid "" "In either kind of loop, the :keyword:`!else` clause is **not** executed if " "the loop was terminated by a :keyword:`break`." msgstr "" -"Σε οποιοδήποτε είδος βρόχου, η πρόταση :keyword:`!else` **δεν** εκτελείται εάν ο βρόχος " -"τερματίστηκε με μια λέξη :keyword:`break`." +"Σε οποιοδήποτε είδος βρόχου, η πρόταση :keyword:`!else` **δεν** εκτελείται " +"εάν ο βρόχος τερματίστηκε με μια λέξη :keyword:`break`." #: tutorial/controlflow.rst:179 msgid "" "This is exemplified in the following :keyword:`!for` loop, which searches " "for prime numbers::" msgstr "" -"Αυτό αποδεικνύεται στον ακόλουθο βρόχο :keyword:`!for`, που αναζητά πρώτους αριθμούς::" +"Αυτό αποδεικνύεται στον ακόλουθο βρόχο :keyword:`!for`, που αναζητά πρώτους " +"αριθμούς::" #: tutorial/controlflow.rst:200 msgid "" "(Yes, this is the correct code. Look closely: the ``else`` clause belongs " "to the :keyword:`for` loop, **not** the :keyword:`if` statement.)" msgstr "" -"(Ναι, αυτός είναι ο σωστός κώδικας. Κοιτάξτε προσεκτικά: η πρόταση ``else`` ανήκει " -"στον βρόχο :keyword:`for`, **όχι** στη δήλωση :keyword:`if`.)" +"(Ναι, αυτός είναι ο σωστός κώδικας. Κοιτάξτε προσεκτικά: η πρόταση ``else`` " +"ανήκει στον βρόχο :keyword:`for`, **όχι** στη δήλωση :keyword:`if`.)" #: tutorial/controlflow.rst:203 msgid "" @@ -245,18 +256,20 @@ msgid "" "``break`` occurs. For more on the :keyword:`!try` statement and exceptions, " "see :ref:`tut-handling`." msgstr "" -"Όταν χρησιμοποιείται με έναν βρόχο, η πρόταση ``else`` έχει περισσότερα κοινά με την πρόταση " -"``else`` μιας πρότασης :keyword:`try` παρά με αυτήν των δηλώσεων keyword:`if`: η πρόταση " -"``else`` μιας δήλωσης :keyword:`try` εκτελείται όταν δεν υπάρχει εξαίρεση, και η πρόταση ``else`` " -"ενός βρόχου εκτελείται όταν δεν υπάρχει ``break``. Για περισσότερα με τη δήλωση :keyword:`!try` και τις εξαιρέσεις, " -"δείτε :ref:`tut-handling`." +"Όταν χρησιμοποιείται με έναν βρόχο, η πρόταση ``else`` έχει περισσότερα " +"κοινά με την πρόταση ``else`` μιας πρότασης :keyword:`try` παρά με αυτήν των " +"δηλώσεων keyword:`if`: η πρόταση ``else`` μιας δήλωσης :keyword:`try` " +"εκτελείται όταν δεν υπάρχει εξαίρεση, και η πρόταση ``else`` ενός βρόχου " +"εκτελείται όταν δεν υπάρχει ``break``. Για περισσότερα με τη δήλωση :keyword:" +"`!try` και τις εξαιρέσεις, δείτε :ref:`tut-handling`." #: tutorial/controlflow.rst:210 msgid "" "The :keyword:`continue` statement, also borrowed from C, continues with the " "next iteration of the loop::" msgstr "" -"Η δήλωση :keyword:`continue`, επίσης δανεισμένη από τη C, συνεχίζεται με την επόμενη επανάληψη του βρόχου::" +"Η δήλωση :keyword:`continue`, επίσης δανεισμένη από τη C, συνεχίζεται με την " +"επόμενη επανάληψη του βρόχου::" #: tutorial/controlflow.rst:231 msgid ":keyword:`!pass` Statements" @@ -267,8 +280,9 @@ msgid "" "The :keyword:`pass` statement does nothing. It can be used when a statement " "is required syntactically but the program requires no action. For example::" msgstr "" -"Η δήλωση :keyword:`pass` δεν κάνει τίποτα. Μπορεί να χρησιμοποιηθεί όταν απαιτείται συντακτικά μια πρόταση, αλλά " -"το πρόγραμμα δεν απαιτεί καμία ενέργεια. Για παράδειγμα::" +"Η δήλωση :keyword:`pass` δεν κάνει τίποτα. Μπορεί να χρησιμοποιηθεί όταν " +"απαιτείται συντακτικά μια πρόταση, αλλά το πρόγραμμα δεν απαιτεί καμία " +"ενέργεια. Για παράδειγμα::" #: tutorial/controlflow.rst:240 msgid "This is commonly used for creating minimal classes::" @@ -281,9 +295,10 @@ msgid "" "to keep thinking at a more abstract level. The :keyword:`!pass` is silently " "ignored::" msgstr "" -"Ένα άλλο μέρος :keyword:`pass` που μπορεί να χρησιμοποιηθεί είναι ως place-holder για μια " -"συνάρτηση ή το σώμα υπό όρους όταν εργάζεστε σε νέο κώδικα, επιτρέποντας σας να συνεχίσετε " -"να σκέφτεστε σε ένα πιο αφηρημένο επίπεδο. Το :keyword:`!pass` αγνοείται σιωπηλά::" +"Ένα άλλο μέρος :keyword:`pass` που μπορεί να χρησιμοποιηθεί είναι ως place-" +"holder για μια συνάρτηση ή το σώμα υπό όρους όταν εργάζεστε σε νέο κώδικα, " +"επιτρέποντας σας να συνεχίσετε να σκέφτεστε σε ένα πιο αφηρημένο επίπεδο. " +"Το :keyword:`!pass` αγνοείται σιωπηλά::" #: tutorial/controlflow.rst:258 msgid ":keyword:`!match` Statements" @@ -299,11 +314,13 @@ msgid "" "also extract components (sequence elements or object attributes) from the " "value into variables." msgstr "" -"Μια δήλωση :keyword:`match` παίρνει μια έκφραση και συγκρίνει την τιμή της με διαδοχικά μοτίβα " -"που δίνονται ως ένα ή περισσότερα μπλοκ πεζών-κεφαλαίων. Αυτή είναι επιφανειακά παρόμοια με μια πρόταση " -"switch στην C, Java ή JavaScript (και πολλές άλλες γλώσσες), αλλά είναι πιο παρόμοια με την αντιστοίχιση " -"προτύπων σε γλώσσες όπως η Rust ή η Haskell. Εκτελείται μόνο το πρώτο μοτίβο που ταιριάζει και μπορεί επίσης " -"να εξαγάγει στοιχεία (στοιχεία ακολουθίας ή ιδιότητες αντικειμένου) από την τιμή σε μεταβλητές." +"Μια δήλωση :keyword:`match` παίρνει μια έκφραση και συγκρίνει την τιμή της " +"με διαδοχικά μοτίβα που δίνονται ως ένα ή περισσότερα μπλοκ πεζών-" +"κεφαλαίων. Αυτή είναι επιφανειακά παρόμοια με μια πρόταση switch στην C, " +"Java ή JavaScript (και πολλές άλλες γλώσσες), αλλά είναι πιο παρόμοια με την " +"αντιστοίχιση προτύπων σε γλώσσες όπως η Rust ή η Haskell. Εκτελείται μόνο το " +"πρώτο μοτίβο που ταιριάζει και μπορεί επίσης να εξαγάγει στοιχεία (στοιχεία " +"ακολουθίας ή ιδιότητες αντικειμένου) από την τιμή σε μεταβλητές." #: tutorial/controlflow.rst:268 msgid "" @@ -316,21 +333,24 @@ msgid "" "Note the last block: the \"variable name\" ``_`` acts as a *wildcard* and " "never fails to match. If no case matches, none of the branches is executed." msgstr "" -"Σημειώστε το τελευταίο μπλοκ: το \"όνομα μεταβλητής\" ``_`` λειτουργεί ως *μπαλαντέρ* και δεν " -"αποτυγχάνει ποτέ να ταιριάζει. Εάν δεν ταιριάζει κανένα case, κανένας από τους κλάδους δεν εκτελείται." +"Σημειώστε το τελευταίο μπλοκ: το \"όνομα μεταβλητής\" ``_`` λειτουργεί ως " +"*μπαλαντέρ* και δεν αποτυγχάνει ποτέ να ταιριάζει. Εάν δεν ταιριάζει κανένα " +"case, κανένας από τους κλάδους δεν εκτελείται." #: tutorial/controlflow.rst:284 msgid "" "You can combine several literals in a single pattern using ``|`` (\"or\")::" msgstr "" -"Μπορείτε να συνδυάσετε πολλά γράμματα σε ένα μόνο μοτίβο χρησιμοποιώντας το ``|`` (\"ή\")::" +"Μπορείτε να συνδυάσετε πολλά γράμματα σε ένα μόνο μοτίβο χρησιμοποιώντας το " +"``|`` (\"ή\")::" #: tutorial/controlflow.rst:289 msgid "" "Patterns can look like unpacking assignments, and can be used to bind " "variables::" msgstr "" -"Τα μοτίβα μπορεί να μοιάζουν με αναθέσεις unpacking, και μπορούν αν χρησιμοποιηθούν για τη σύνδεση μεταβλητών::" +"Τα μοτίβα μπορεί να μοιάζουν με αναθέσεις unpacking, και μπορούν να " +"χρησιμοποιηθούν για τη σύνδεση μεταβλητών::" #: tutorial/controlflow.rst:305 msgid "" @@ -341,11 +361,12 @@ msgid "" "which makes it conceptually similar to the unpacking assignment ``(x, y) = " "point``." msgstr "" -"Μελετήστε το ένα προσεκτικά! Το πρώτο μοτίβο έχει δύο literals, και μπορεί να θεωρηθεί ως " -"επέκταση του literal μοτίβου που φαίνεται παραπάνω. Αλλά τα επόμενα δύο μοτίβα συνδυάζουν ένα " -"literal σε μια μεταβλητή, και η μεταβλητή *δεσμεύει* μια τιμή από το θέμα (``point``). Το τέταρτο " -"μοτίβο συλλαμβάνει δύο τιμές, γεγονός που το κάνει εννοιολογικά παρόμοιο με την ανάθεση unpacking " -"``(x, y) = point``." +"Μελετήστε το ένα προσεκτικά! Το πρώτο μοτίβο έχει δύο literals, και μπορεί " +"να θεωρηθεί ως επέκταση του literal μοτίβου που φαίνεται παραπάνω. Αλλά τα " +"επόμενα δύο μοτίβα συνδυάζουν ένα literal σε μια μεταβλητή, και η μεταβλητή " +"*δεσμεύει* μια τιμή από το θέμα (``point``). Το τέταρτο μοτίβο συλλαμβάνει " +"δύο τιμές, γεγονός που το κάνει εννοιολογικά παρόμοιο με την ανάθεση " +"unpacking ``(x, y) = point``." #: tutorial/controlflow.rst:312 msgid "" @@ -353,8 +374,9 @@ msgid "" "followed by an argument list resembling a constructor, but with the ability " "to capture attributes into variables::" msgstr "" -"Εάν χρησιμοποιείτε κλάσεις για τη δομή των δεδομένων σας, μπορείτε να χρησιμοποιήσετε το όνομα της κλάσης " -"ακολουθούμενο από μια λίστα ορισμάτων που μοιάζει με έναν κατασκευαστή, αλλά με τη δυνατότητα να συλλαμβάνει " +"Εάν χρησιμοποιείτε κλάσεις για τη δομή των δεδομένων σας, μπορείτε να " +"χρησιμοποιήσετε το όνομα της κλάσης ακολουθούμενο από μια λίστα ορισμάτων " +"που μοιάζει με έναν κατασκευαστή, αλλά με τη δυνατότητα να συλλαμβάνει " "χαρακτηριστικά σε μεταβλητές::" #: tutorial/controlflow.rst:334 @@ -366,11 +388,13 @@ msgid "" "\"y\"), the following patterns are all equivalent (and all bind the ``y`` " "attribute to the ``var`` variable)::" msgstr "" -"Μπορείτε να χρησιμοποιήσετε παραμέτρους θέσης με ορισμένες ενσωματωμένες κλάσεις που παρέχουν " -"μια σειρά για τα χαρακτηριστικά τους (π.χ. κλάσεις δεδομένων). Μπορείτε επίσης να ορίσετε μια συγκεκριμένη θέση " -"για χαρακτηριστικά σε μοτίβα ορίζοντας το ειδικό χαρακτηριστικό ``__match_args__`` στις κλάσεις σας. Εάν έχει οριστεί " -"σε (\"x\", \"y\"), τα ακόλουθα μοτίβα είναι όλα ισοδύναμα (και όλα δεσμεύουν το χαρακτηριστικό ``y`` " -"στη μεταβλητή ``var``)::" +"Μπορείτε να χρησιμοποιήσετε παραμέτρους θέσης με ορισμένες ενσωματωμένες " +"κλάσεις που παρέχουν μια σειρά για τα χαρακτηριστικά τους (π.χ. κλάσεις " +"δεδομένων). Μπορείτε επίσης να ορίσετε μια συγκεκριμένη θέση για " +"χαρακτηριστικά σε μοτίβα, ορίζοντας το ειδικό χαρακτηριστικό " +"``__match_args__`` στις κλάσεις σας. Εάν έχει οριστεί σε (\"x\", \"y\"), τα " +"ακόλουθα μοτίβα είναι όλα ισοδύναμα (και όλα δεσμεύουν το χαρακτηριστικό " +"``y`` στη μεταβλητή ``var``)::" #: tutorial/controlflow.rst:345 msgid "" @@ -382,19 +406,22 @@ msgid "" "(recognized by the \"(...)\" next to them like ``Point`` above) are never " "assigned to." msgstr "" -"Ένα συνιστώμενος τρόπος για να διαβάσετε τα μοτίβα είναι να τα δείτε ως μια εκτεταμένη μορφή αυτού που θα " -"βάλετε στα αριστερά μιας εργασίας, για να κατανοήσετε ποιες μεταβλητές θα οριστούν σε τι. Μόνο τα ανεξάρτητα ονόματα " -"(όπως ``var`` παραπάνω) εκχωρούνται από μια δήλωση αντιστοίχισης. Ονόματα με κουκκίδες (όπως ``foo." -"bar``), ονόματα χαρακτηριστικών (τα ``x=`` και ``y=`` παραπάνω) ή ονόματα κλάσεων " -"(αναγνωρίζονται από το \"(...)\" που βρίσκεται δίπλα όπως το ``Point`` παραπάνω) δεν ανατίθενται ποτέ." +"Ένας συνιστώμενος τρόπος για να διαβάσετε τα μοτίβα είναι να τα δείτε ως μια " +"εκτεταμένη μορφή αυτού που θα βάλετε στα αριστερά μιας ανάθεσης, για να " +"κατανοήσετε ποιες μεταβλητές θα οριστούν σε τι. Μόνο τα ανεξάρτητα ονόματα " +"(όπως ``var`` παραπάνω) εκχωρούνται από μια δήλωση αντιστοίχισης. Ονόματα με " +"κουκκίδες (όπως ``foo.bar``), ονόματα χαρακτηριστικών (τα ``x=`` και ``y=`` " +"παραπάνω) ή ονόματα κλάσεων (αναγνωρίζονται από το \"(...)\" που βρίσκεται " +"δίπλα όπως το ``Point`` παραπάνω) δεν ανατίθενται ποτέ." #: tutorial/controlflow.rst:352 msgid "" "Patterns can be arbitrarily nested. For example, if we have a short list of " "Points, with ``__match_args__`` added, we could match it like this::" msgstr "" -"Τα μοτίβα μπορούν να είναι αυθαίρετα ένθετα. Για παράδειγμα, εάν έχουμε μια σύντομη λίστα " -"με Points, με προσθήκη ``__match_args__``, θα μπορούσαμε να την αντιστοιχίσουμε ως εξής::" +"Τα μοτίβα μπορούν να είναι αυθαίρετα ένθετα. Για παράδειγμα, εάν έχουμε μια " +"σύντομη λίστα με πόντους, με προσθήκη ``__match_args__``, θα μπορούσαμε να " +"την αντιστοιχίσουμε ως εξής::" #: tutorial/controlflow.rst:373 msgid "" @@ -402,9 +429,10 @@ msgid "" "guard is false, ``match`` goes on to try the next case block. Note that " "value capture happens before the guard is evaluated::" msgstr "" -"Μπορούμε να προσθέσουμε μια πρόταση ``if`` σε ένα μοτίβο, γνωστό ως \"guard\". Εάν το guard είναι " -"false, το ``match`` συνεχίζει για να δοκιμάσει το επόμενο μπλοκ πεζών-κεφαλαίων. Λάβετε υπόψη ότι η σύλληψη " -"της τιμής γίνεται πριν ο guard αξιολογείθεί::" +"Μπορούμε να προσθέσουμε μια πρόταση ``if`` σε ένα μοτίβο, γνωστό ως " +"\"guard\". Εάν το guard είναι false, το ``match`` συνεχίζει για να " +"δοκιμάσει το επόμενο μπλοκ πεζών-κεφαλαίων. Λάβετε υπόψη ότι η σύλληψη της " +"τιμής γίνεται πριν ο guard αξιολογηθεί::" #: tutorial/controlflow.rst:383 msgid "Several other key features of this statement:" @@ -416,9 +444,10 @@ msgid "" "meaning and actually match arbitrary sequences. An important exception is " "that they don't match iterators or strings." msgstr "" -"Όπως το unpacking αναθέσεων, τα μοτίβα πλειάδας (tuple) και λίστας έχουν ακριβώς την ίδια " -"σημασία και ταιριάζουν πραγματικά με αυθαίρετες ακολουθίες. Μια σημαντική εξαίρεση είναι ότι δεν ταιριάζουν " -"με iterators ή συμβολοσειρές." +"Όπως το unpacking αναθέσεων, τα μοτίβα πλειάδας (tuple) και λίστας έχουν " +"ακριβώς την ίδια σημασία και ταιριάζουν πραγματικά με αυθαίρετες " +"ακολουθίες. Μια σημαντική εξαίρεση είναι ότι δεν ταιριάζουν με iterators ή " +"συμβολοσειρές." #: tutorial/controlflow.rst:389 msgid "" @@ -427,10 +456,11 @@ msgid "" "also be ``_``, so ``(x, y, *_)`` matches a sequence of at least two items " "without binding the remaining items." msgstr "" -"Τα μοτίβα ακολουθίας υποστηρίζουν εκτεταμένο unpacking: ``[x, y, *rest]`` και ``(x, y, " -"*rest)`` λειτουργεί παρόμοια με το unpacing αναθέσεων. Το όνομα μετά το ``*`` μπορεί επίσης " -"να είναι ``_``, οπότε το ``(x, y, *_)`` αντιστοιχεί σε μια ακολουθία τουλάχιστον δύο στοιχείων " -"χωρίς να δεσμεύει τα υπόλοιπα στοιχεία." +"Τα μοτίβα ακολουθίας υποστηρίζουν εκτεταμένο unpacking: ``[x, y, *rest]`` " +"και ``(x, y, *rest)`` λειτουργεί παρόμοια με το unpacking αναθέσεων. Το " +"όνομα μετά το ``*`` μπορεί επίσης να είναι ``_``, οπότε το ``(x, y, *_)`` " +"αντιστοιχεί σε μια ακολουθία τουλάχιστον δύο στοιχείων χωρίς να δεσμεύει τα " +"υπόλοιπα στοιχεία." #: tutorial/controlflow.rst:394 msgid "" @@ -439,39 +469,41 @@ msgid "" "sequence patterns, extra keys are ignored. An unpacking like ``**rest`` is " "also supported. (But ``**_`` would be redundant, so it is not allowed.)" msgstr "" -"Μοτίβα αντιστοίχισης: ``{\"bandwidth\": b, \"latency\": l}`` καταγράφει τις τιμές " -"``\"bandwidth\"`` και ``\"latency\"`` από ένα λεξικό. Σε αντίθεση με τα μοτίβα ακολοθίας, " -"επιπλεόν κλειδιά αγνοούνται. Υποστηρίζεται επίσης ο unpacking όπως το ``**rest``. (Αλλά το " -"``**_`` θα ήταν περιττό, επομένως δεν επιτρέπεται.)" +"Μοτίβα αντιστοίχισης: ``{\"bandwidth\": b, \"latency\": l}`` καταγράφει τις " +"τιμές ``\"bandwidth\"`` και ``\"latency\"`` από ένα λεξικό. Σε αντίθεση με " +"τα μοτίβα ακολουθίας, επιπλέον κλειδιά αγνοούνται. Υποστηρίζεται επίσης το " +"unpacking όπως το ``**rest``. (Αλλά το ``**_`` θα ήταν περιττό, επομένως " +"δεν επιτρέπεται.)" #: tutorial/controlflow.rst:399 msgid "Subpatterns may be captured using the ``as`` keyword::" -msgstr "Τα δευτερεύονται μοτίβα μπορούν αν αποτυπωθούν χρησιμοποιώντας το " -"keyword ``as``::" +msgstr "" +"Τα δευτερεύοντα μοτίβα μπορούν να αποτυπωθούν χρησιμοποιώντας το keyword " +"``as``::" #: tutorial/controlflow.rst:403 msgid "" "will capture the second element of the input as ``p2`` (as long as the input " "is a sequence of two points)" msgstr "" -"θα καταγράψει το δεύτερο στοιχείο της εισόδου ως ``p2`` (εφόσον η είσοδος είναι μια " -"ακολουθία δύο σημείων)" +"θα καταγράψει το δεύτερο στοιχείο της εισόδου ως ``p2`` (εφόσον η είσοδος " +"είναι μια ακολουθία δύο σημείων)" #: tutorial/controlflow.rst:406 msgid "" "Most literals are compared by equality, however the singletons ``True``, " "``False`` and ``None`` are compared by identity." msgstr "" -"Τα περισσότερα literals συγκρίνονται με ισότητα, ωστόσο τα singletons ``True``, " -"``False`` και ``None`` συγκρίνονται με ταυτότητα." +"Τα περισσότερα literals συγκρίνονται με ισότητα, ωστόσο τα singletons " +"``True``, ``False`` και ``None`` συγκρίνονται με ταυτότητα." #: tutorial/controlflow.rst:409 msgid "" "Patterns may use named constants. These must be dotted names to prevent " "them from being interpreted as capture variable::" msgstr "" -"Τα μοτίβα μπορούν να χρησιμοποιούν ονομασμένες σταθερές. Αυτά πρέπει να είναι ονόματα με " -"κουκκίδες για να μην ερμηνεύονται ως capture μεταβλητή::" +"Τα μοτίβα μπορούν να χρησιμοποιούν ονομασμένες σταθερές. Αυτά πρέπει να " +"είναι ονόματα με κουκκίδες για να μην ερμηνεύονται ως capture μεταβλητή::" #: tutorial/controlflow.rst:428 msgid "" @@ -490,8 +522,8 @@ msgid "" "We can create a function that writes the Fibonacci series to an arbitrary " "boundary::" msgstr "" -"Μπορούμε να δημιουργήσουμε μια συνάρτηση που γράφει τη σειρά Fibonacci σε ένα " -"αυθαίρετο όριο::" +"Μπορούμε να δημιουργήσουμε μια συνάρτηση που γράφει τη σειρά Fibonacci σε " +"ένα αυθαίρετο όριο::" #: tutorial/controlflow.rst:456 msgid "" @@ -500,9 +532,10 @@ msgid "" "parameters. The statements that form the body of the function start at the " "next line, and must be indented." msgstr "" -"Το keyword :keyword:`def` εισάγει μια συνάρτηση *ορισμός*. Πρέπει να ακολουθείται από το " -"όνομα της συνάρτησης και τη λίστα των τυπικών παραμέτρων σε παρένθεση. Οι δηλώσεις που σχηματίζουν " -"το σώμα της συνάρτησης ξεκινούν από την επόμενη γρμμή και πρέπει να είναι εσοχές." +"Το keyword :keyword:`def` εισάγει μια συνάρτηση *ορισμός*. Πρέπει να " +"ακολουθείται από το όνομα της συνάρτησης και τη λίστα των τυπικών παραμέτρων " +"σε παρένθεση. Οι δηλώσεις που σχηματίζουν το σώμα της συνάρτησης ξεκινούν " +"από την επόμενη γραμμή και πρέπει να είναι εσοχές." #: tutorial/controlflow.rst:461 msgid "" @@ -514,12 +547,14 @@ msgid "" "through code; it's good practice to include docstrings in code that you " "write, so make a habit of it." msgstr "" -"Η πρώτη δήλωση του σώματος της συνάρτησης μπορεί προαιρετικά να είναι ένα literal " -"συμβολοσειράς· αυτό το literal συμβολοσειράς είναι η συμβολοσειρά τεκμηρίωσης της συνάρτησης " -"ή :dfn:`docstring`. (Περισσότερα για τα docstring μπορείτε να βρείτε στην ενότητα :ref:`tut-" -"docstrings`.) Υπάρχουν εργαλεία που χρησιμοποιούν docstrings για την αυτόματη παραγωγή διαδικτυακής ή " -"έντυπης τεκμηρίωσης ή για να αφήσουν τον χρήστη να περιηγηθεί διαδραστικά στον κώδικα· είναι καλή " -"πρακτική να συμπεριλαμβάνονται docstrings στον κώδικα που γράφετε, για αυτό κάντε το συνήθεια." +"Η πρώτη δήλωση του σώματος της συνάρτησης μπορεί προαιρετικά να είναι ένα " +"literal συμβολοσειράς· αυτό το literal συμβολοσειράς είναι η συμβολοσειρά " +"τεκμηρίωσης της συνάρτησης ή :dfn:`docstring`. (Περισσότερα για τα docstring " +"μπορείτε να βρείτε στην ενότητα :ref:`tut-docstrings`.) Υπάρχουν εργαλεία " +"που χρησιμοποιούν docstrings για την αυτόματη παραγωγή διαδικτυακής ή " +"έντυπης τεκμηρίωσης ή για να αφήσουν τον χρήστη να περιηγηθεί διαδραστικά " +"στον κώδικα· είναι καλή πρακτική να συμπεριλαμβάνονται docstrings στον " +"κώδικα που γράφετε, για αυτό κάντε το συνήθεια." #: tutorial/controlflow.rst:468 msgid "" @@ -534,15 +569,18 @@ msgid "" "for variables of enclosing functions, named in a :keyword:`nonlocal` " "statement), although they may be referenced." msgstr "" -"Η *εκτέλεση* μιας συνάρτησης εισάγει έναν νέο πίνακα συμβόλων που χρησιμοποιείται " -"για τις τοπικές μεταβλητές της συνάρτησης. Πιο συγκεκριμένα, όλες οι εκχωρήσεις μεταβλητών " -"σε μια συνάρτηση αποθηκεύουν την τιμή στον πίνακα τοπικών συμβόλων, ενώ οι αναφορές μεταβλητών " -"κοιτάζονται πρώτα στον πίνακα τοπικών συμβόλων, στη συνέχιας στους πίνακες τοπικών συμβόλων των " -"συναρτήσεων που περικλείουν, μετά στον πίνακα καθολικών συμβόλων και, τέλος, στον πίνακα ενσωματωμένων " -"ονομάτων. Έτσι, οι καθολικές μεταβλητές και οι μεταβλητές των συναρτήσεων που περικλείουν δεν μπορούν " -"να εκχωρηθούν ως μια τιμή μέσα σε μια συνάρτηση (εκτός εάν, για καθολικές μεταβλητές, που ονομάζονται σε " -"μια δήλωση :keyword:`global` ή, για μεταβλητές συναρτήσεων που περικλείουν, ονομάζονται ως μια δήλωση " -":keyword:`nonlocal`), αν και μπορεί να αναφέρονται." +"Η *εκτέλεση* μιας συνάρτησης εισάγει έναν νέο πίνακα συμβόλων που " +"χρησιμοποιείται για τις τοπικές μεταβλητές της συνάρτησης. Πιο " +"συγκεκριμένα, όλες οι εκχωρήσεις μεταβλητών σε μια συνάρτηση αποθηκεύουν την " +"τιμή στον πίνακα τοπικών συμβόλων∙ ενώ οι αναφορές μεταβλητών κοιτάζονται " +"πρώτα στον πίνακα τοπικών συμβόλων, στη συνέχεια στους πίνακες τοπικών " +"συμβόλων των συναρτήσεων που περικλείουν, μετά στον πίνακα καθολικών " +"συμβόλων και, τέλος, στον πίνακα ενσωματωμένων ονομάτων. Έτσι, οι καθολικές " +"μεταβλητές και οι μεταβλητές των συναρτήσεων που περικλείουν δεν μπορούν να " +"εκχωρηθούν ως μια τιμή μέσα σε μια συνάρτηση (εκτός εάν, για καθολικές " +"μεταβλητές, που ονομάζονται σε μια δήλωση :keyword:`global` ή, για " +"μεταβλητές συναρτήσεων που περικλείουν, ονομάζονται ως μια δήλωση :keyword:" +"`nonlocal`), αν και μπορεί να αναφέρονται." #: tutorial/controlflow.rst:479 msgid "" @@ -553,11 +591,13 @@ msgid "" "another function, or calls itself recursively, a new local symbol table is " "created for that call." msgstr "" -"Οι πραγματικές παράμετροι (ορίσματα) σε μια κλήση συνάρτησης εισάγονται στον τοπικό πίνακα " -"συμβόλων ης καλούμενης συνάρτησης όταν αυτή καλείται· έτσι, τα ορίσματα μεταβιβάζονται χρησιμοποιώντας " -"*call by value* (όπου η *value* είναι πάντα ένα αντικείμενο *reference*, όχι την τιμή του αντικειμένου). " -"[#]_ Όταν μια συνάρτηση καλεί μια άλλη συνάρτηση ή καλεί τον εαυτό της αναδρομικά, δημιουργείται ένας νέος πίνακας " -"τοπικών συμβόλων για αυτήν την κλήση." +"Οι πραγματικές παράμετροι (ορίσματα) σε μια κλήση συνάρτησης εισάγονται στον " +"τοπικό πίνακα συμβόλων της καλούμενης συνάρτησης όταν αυτή καλείται· έτσι, " +"τα ορίσματα μεταβιβάζονται χρησιμοποιώντας *call by value* (όπου η *value* " +"είναι πάντα ένα αντικείμενο *reference*, όχι την τιμή του αντικειμένου). " +"[#]_ Όταν μια συνάρτηση καλεί μια άλλη συνάρτηση ή καλεί τον εαυτό της " +"αναδρομικά, δημιουργείται ένας νέος πίνακας τοπικών συμβόλων για αυτήν την " +"κλήση." #: tutorial/controlflow.rst:486 msgid "" @@ -566,9 +606,10 @@ msgid "" "to by that name as a user-defined function. Other names can also point to " "that same function object and can also be used to access the function::" msgstr "" -"Ένας ορισμός συνάρτησης συσχετίζει το όνομα της συνάρτησης με το αντικείμενο συνάρτησης στον " -"τρέχοντα πίνακα συμβόλων. Ο διερμηνέας αναγνωρίζει το αντικείμενο στο οποίο επισημαίνεται αυτό το " -"όνομα ως συνάρτηση που ορίζεται από τον χρήστη. Άλλα όνοματα μπορούν επίσης να δείχνουν το ίδιο αντικείμενο " +"Ένας ορισμός συνάρτησης συσχετίζει το όνομα της συνάρτησης με το αντικείμενο " +"συνάρτησης στον τρέχοντα πίνακα συμβόλων. Ο διερμηνέας αναγνωρίζει το " +"αντικείμενο στο οποίο επισημαίνεται αυτό το όνομα ως συνάρτηση που ορίζεται " +"από τον χρήστη. Άλλα ονόματα μπορούν επίσης να δείχνουν το ίδιο αντικείμενο " "συνάρτησης και μπορούν επίσης να χρησιμοποιηθούν για πρόσβαση στη συνάρτηση::" #: tutorial/controlflow.rst:497 @@ -581,24 +622,26 @@ msgid "" "the only value written. You can see it if you really want to using :func:" "`print`::" msgstr "" -"Προερχόμενοι από άλλες γλώσσες, μπορεί να αντιταχθείτε ότι το ``fib`` δεν είναι μια " -"συνάρτηση αλλά μια διαδικασία, καθώς δεν επιστρέφει μια τιμή. Στην πραγματικότητα, ακόμη και " -"συναρτήσεις χωρίς δήλωση :keyword:`return` επιστρέφουν μια τιμή, αν και μάλλον βαρετό. Αυτή η τιμή " -"ονομάζεται ``None``. Η εγγραφή της τιμής ``None`` από τον διερμηνέα, εάν θα ήταν η μόνη τιμή " -"που γράφεται. Μπορείτε να το δείτε αν το θέλετε πραγματικά χρησιμοποιώντας τη :func:" -"`print`::" +"Προερχόμενοι από άλλες γλώσσες, μπορεί να αντιταχθείτε ότι το ``fib`` δεν " +"είναι μια συνάρτηση αλλά μια διαδικασία, καθώς δεν επιστρέφει μια τιμή. " +"Στην πραγματικότητα, ακόμη και συναρτήσεις χωρίς δήλωση :keyword:`return` " +"επιστρέφουν μια τιμή, αν και μάλλον βαρετή. Αυτή η τιμή ονομάζεται " +"``None``. Η εγγραφή της τιμής ``None`` από τον διερμηνέα, εάν θα ήταν η " +"μόνη τιμή που γράφεται. Μπορείτε να το δείτε αν το θέλετε πραγματικά " +"χρησιμοποιώντας τη :func:`print`::" #: tutorial/controlflow.rst:508 msgid "" "It is simple to write a function that returns a list of the numbers of the " "Fibonacci series, instead of printing it::" msgstr "" -"Είανι απλό να γράψετε μια συνάρτηση που επιστρέφει μια λίστα με τους αριθμούς της σειράς " -"Fibonacci, αντί να την εκτυπώσετε::" +"Είναι απλό να γράψετε μια συνάρτηση που επιστρέφει μια λίστα με τους " +"αριθμούς της σειράς Fibonacci, αντί να την εκτυπώσετε::" #: tutorial/controlflow.rst:524 msgid "This example, as usual, demonstrates some new Python features:" -msgstr "Αυτό το παράδειγμα, ως συνήθως, δείχνει μερικά νέα χαρακτηριστικά Python:" +msgstr "" +"Αυτό το παράδειγμα, ως συνήθως, δείχνει μερικά νέα χαρακτηριστικά Python:" #: tutorial/controlflow.rst:526 msgid "" @@ -607,8 +650,8 @@ msgid "" "off the end of a function also returns ``None``." msgstr "" "Η δήλωση :keyword:`return` επιστρέφει με μια τιμή από μια συνάρτηση. Το :" -"keyword:`!return` χωρίς όρισμα έκφρασης, επιστρέφει το ``None``. Η πτώση " -"του τέλους μιας συνάρτησης επιστρέφει επίσης ``None``." +"keyword:`!return` χωρίς όρισμα έκφρασης, επιστρέφει το ``None``. Η πτώση του " +"τέλους μιας συνάρτησης επιστρέφει επίσης ``None``." #: tutorial/controlflow.rst:530 msgid "" @@ -625,14 +668,17 @@ msgid "" "efficient." msgstr "" "Η δήλωση ``result.append(a)`` καλεί μια *μέθοδο* του αντικειμένου της λίστας " -"``result``. Μια μέθοδος είναι μια συνάρτηση που 'ανήκει' σε ένα αντικείμενο και ονομάζεται " -"``obj.methodname``, όπου ``obj`` είναι κάποιο αντικείμενο (αυτό μπορεί να έιναι μια έκφραση), " -"και το ``methodname`` είναι το όνομα μιας μεθόδου που ορίζεται από τον τύπο του αντικειμένου. " -"Διαφορετικοί τύποι ορίζουν διαφορετικές μεθόδους. Μέθοδοι διαφορετικών τύπων μπορεί να έχουν " -"το ίδιο όνομα χωρίς να προκαλούν ασάφεια. (Είναι δυνατό να ορίσετε τους δικούς σας τύπους αντικειμένων και " -"μεθόδους, χρησιμοποιώντας *classes*, δείτε :ref:`tut-classes`) Η μέθοδος :meth:`!append` που εμφανίζεται " -"στο παράδειγμα ορίζεται για αντικείμενα λίστας· προσθέτει ένα νέο στοιχείο στο τέλος της λίστας. Σε " -"αυτό το παράδειγμα είναι ισοδύναμο με ``result = result + [a]``, αλλά πιο αποτελεσματικό." +"``result``. Μια μέθοδος είναι μια συνάρτηση που 'ανήκει' σε ένα αντικείμενο " +"και ονομάζεται ``obj.methodname``, όπου ``obj`` είναι κάποιο αντικείμενο " +"(αυτό μπορεί να είναι μια έκφραση), και το ``methodname`` είναι το όνομα " +"μιας μεθόδου που ορίζεται από τον τύπο του αντικειμένου. Διαφορετικοί τύποι " +"ορίζουν διαφορετικές μεθόδους. Μέθοδοι διαφορετικών τύπων μπορεί να έχουν " +"το ίδιο όνομα χωρίς να προκαλούν ασάφεια. (Είναι δυνατό να ορίσετε τους " +"δικούς σας τύπους αντικειμένων και μεθόδους, χρησιμοποιώντας *classes*, " +"δείτε :ref:`tut-classes`) Η μέθοδος :meth:`!append` που εμφανίζεται στο " +"παράδειγμα ορίζεται για αντικείμενα λίστας· προσθέτει ένα νέο στοιχείο στο " +"τέλος της λίστας. Σε αυτό το παράδειγμα είναι ισοδύναμο με ``result = " +"result + [a]``, αλλά πιο αποτελεσματικό." #: tutorial/controlflow.rst:545 msgid "More on Defining Functions" @@ -656,9 +702,9 @@ msgid "" "arguments. This creates a function that can be called with fewer arguments " "than it is defined to allow. For example::" msgstr "" -"Η πιο χρήσιμη φόρμα είναι να καθορίσετε μια προεπιλεγμένη τιμή για ένα ή περισσότερα ορίσματα. " -"Αυτό δημιουργεί μια συνάρτηση που μπορεί να κληθεί με λιγότερα ορίσματα από αυτά που έχει ορίσει ότι " -"επιτρέπει. Για παράδειγμα::" +"Η πιο χρήσιμη φόρμα είναι να καθορίσετε μια προεπιλεγμένη τιμή για ένα ή " +"περισσότερα ορίσματα. Αυτό δημιουργεί μια συνάρτηση που μπορεί να κληθεί με " +"λιγότερα ορίσματα από αυτά που έχει ορίσει ότι επιτρέπει. Για παράδειγμα::" #: tutorial/controlflow.rst:572 msgid "This function can be called in several ways:" @@ -668,15 +714,16 @@ msgstr "Αυτή η συνάρτηση μπορεί να κληθεί με δι msgid "" "giving only the mandatory argument: ``ask_ok('Do you really want to quit?')``" msgstr "" -"δίνοτνας μόνο το υποχρεωικκό όρισμα: ``ask_ok('Do you really want to quit?')``" +"δίνοντας μόνο το υποχρεωτικό όρισμα: ``ask_ok('Do you really want to " +"quit?')``" #: tutorial/controlflow.rst:576 msgid "" "giving one of the optional arguments: ``ask_ok('OK to overwrite the file?', " "2)``" msgstr "" -"δίνοντας ένα από τα προαιρετικά ορίσματα: ``ask_ok('OK to overwrite the file?', " -"2)``" +"δίνοντας ένα από τα προαιρετικά ορίσματα: ``ask_ok('OK to overwrite the " +"file?', 2)``" #: tutorial/controlflow.rst:578 msgid "" @@ -691,16 +738,16 @@ msgid "" "This example also introduces the :keyword:`in` keyword. This tests whether " "or not a sequence contains a certain value." msgstr "" -"Αυτό το παράδειγμα εισάγει επίσης το keyword :keyword:`in`. Αυτό ελέγχει εάν μια " -"ακολουθία περιέχει ή όχι μια συγκεκριμένη τιμή." +"Αυτό το παράδειγμα εισάγει επίσης το keyword :keyword:`in`. Αυτό ελέγχει εάν " +"μια ακολουθία περιέχει ή όχι μια συγκεκριμένη τιμή." #: tutorial/controlflow.rst:584 msgid "" "The default values are evaluated at the point of function definition in the " "*defining* scope, so that ::" msgstr "" -"Οι προεπιλεγμένες τιμές αξιολογούνται στο σημείο του ορισμού της συνάρτησης στο " -"πεδίο που *ορίζεται*, έτσι ώστε ::" +"Οι προεπιλεγμένες τιμές αξιολογούνται στο σημείο του ορισμού της συνάρτησης " +"στο πεδίο που *ορίζεται*, έτσι ώστε ::" #: tutorial/controlflow.rst:595 msgid "will print ``5``." @@ -713,10 +760,11 @@ msgid "" "dictionary, or instances of most classes. For example, the following " "function accumulates the arguments passed to it on subsequent calls::" msgstr "" -"**Σημαντική προειδοποίηση:** Η προεπιλεγμένη τιμή αξιολογείται μόνο μία φορά. Αυτό " -"κάνει τη διαφορά όταν η προεπιλογή είναι ένα μεταβλητό αντικείμενο, όπως μια λίστα, λεξικό ή " -"στιγμιότυπα των περισσότερων κλάσεων. Για παράδειγμα, η ακόλουθη συνάρτηση συσσωρεύει " -"τα ορίσματα που διαβάζονται σε αυτό σε επόμενες κλήσεις::" +"**Σημαντική προειδοποίηση:** Η προεπιλεγμένη τιμή αξιολογείται μόνο μία " +"φορά. Αυτό κάνει τη διαφορά όταν η προεπιλογή είναι ένα μεταβλητό " +"αντικείμενο, όπως μια λίστα, λεξικό ή στιγμιότυπα των περισσότερων κλάσεων. " +"Για παράδειγμα, η ακόλουθη συνάρτηση συσσωρεύει τα ορίσματα που διαβάζονται " +"σε αυτό σε επόμενες κλήσεις::" #: tutorial/controlflow.rst:610 msgid "This will print ::" @@ -727,8 +775,8 @@ msgid "" "If you don't want the default to be shared between subsequent calls, you can " "write the function like this instead::" msgstr "" -"Εάν δεν θέλετε να γίνεται κοινή χρήση της προεπιλογής μεταξύ των επόμενων κλήσεων, μπορείτε " -"να γράψετε τη συνάρτηση ως εξής::" +"Εάν δεν θέλετε να γίνεται κοινή χρήση της προεπιλογής μεταξύ των επόμενων " +"κλήσεων, μπορείτε να γράψετε τη συνάρτηση ως εξής::" #: tutorial/controlflow.rst:629 msgid "Keyword Arguments" @@ -740,8 +788,9 @@ msgid "" "argument>` of the form ``kwarg=value``. For instance, the following " "function::" msgstr "" -"Οι συναρτήσεις μπορούν επίσης να κληθούν χρησιμοποιώντας το :term:`keyword arguments ` της μορφής ``kwarg=value``. Για παράδειγμα, την ακόλουθη συνάρτηση::" +"Οι συναρτήσεις μπορούν επίσης να κληθούν χρησιμοποιώντας το :term:`keyword " +"arguments ` της μορφής ``kwarg=value``. Για παράδειγμα, " +"την ακόλουθη συνάρτηση::" #: tutorial/controlflow.rst:640 msgid "" @@ -750,8 +799,8 @@ msgid "" "of the following ways::" msgstr "" "δέχεται ένα απαιτούμενο όρισμα (``voltage``) και τρία προαιρετικά ορίσματα " -"(``state``, ``action``, και ``type``). Αυτή η συνάρτηση μπορεί να κληθεί με οποιονδήποτε " -"από τους ακόλουθους τρόπους::" +"(``state``, ``action``, και ``type``). Αυτή η συνάρτηση μπορεί να κληθεί με " +"οποιονδήποτε από τους ακόλουθους τρόπους::" #: tutorial/controlflow.rst:651 msgid "but all the following calls would be invalid::" @@ -767,13 +816,14 @@ msgid "" "may receive a value more than once. Here's an example that fails due to this " "restriction::" msgstr "" -"Σε μια κλήση συνάρτησης, τα keyword ορίσματα πρέπει να ακολουθούν ορίσματα θέσης. Όλα " -"τα keyword ορίσματα που διαβάζονται πρέπει να ταιριάζουν με ένα από τα ορίσματα που γίνονται " -"δεκτά από τη συνάρτηση (π.χ. το ``actor`` δεν είναι έγκυρο όρισμα για τη συνάρτηση ``parrot``), " -"και η διάταξη τους δεν είναι σημαντική. Αυτό περιλαμβάνει επίσης μη " -"προαιρετικά ορίσματα (π.χ. ``parrot(voltage=1000)`` είναι επίσης έγκυρο). Κανένα όρισμα " -"δεν μπορεί να λάβει μια τιμή περισσότερες από μία φορές. Ακολουθεί ένα παράδειγμα που αποτυγχάνει " -"λόγω αυτού του περιορισμού::" +"Σε μια κλήση συνάρτησης, τα keyword ορίσματα πρέπει να ακολουθούν ορίσματα " +"θέσης. Όλα τα keyword ορίσματα που διαβάζονται πρέπει να ταιριάζουν με ένα " +"από τα ορίσματα που γίνονται δεκτά από τη συνάρτηση (π.χ. το ``actor`` δεν " +"είναι έγκυρο όρισμα για τη συνάρτηση ``parrot``), και η διάταξη τους δεν " +"είναι σημαντική. Αυτό περιλαμβάνει επίσης μη προαιρετικά ορίσματα (π.χ. " +"``parrot(voltage=1000)`` είναι επίσης έγκυρο). Κανένα όρισμα δεν μπορεί να " +"λάβει μια τιμή περισσότερες από μία φορές. Ακολουθεί ένα παράδειγμα που " +"αποτυγχάνει λόγω αυτού του περιορισμού::" #: tutorial/controlflow.rst:674 msgid "" @@ -785,13 +835,14 @@ msgid "" "positional arguments beyond the formal parameter list. (``*name`` must " "occur before ``**name``.) For example, if we define a function like this::" msgstr "" -"Όταν υπάρχει μια τελική επίσημη παράμετρος της μορφής ``**name``, λαμάνει ένα λεξικό " -"(δείτε :ref:`typesmapping`) που περιέχει όλα τα keyword ορίσματα εκτός από αυτά που " -"αντιστοιχούν σε μια επίσημη παράμετρο. Αυτό μπορεί να συνδυαστεί με μια επίσημη παράμετρος " -"της μοφής ``*name`` (που περιγράφεται στην επόμενη υποενότητα) η οποία λαμβάνει ένα " -":ref:`tuple ` που περιέχει τα ορίσματα θέσης πέρα από την επίσημη λίστα παραμέτρων. " -"(Το ``*name`` πρέπει να εφμανίζεται πριν από το ``**name``.) Για παράδειγμα, αν ορίσουμε μια " -"συνάρτηση όπως αυτή::" +"Όταν υπάρχει μια τελική επίσημη παράμετρος της μορφής ``**name``, λαμβάνει " +"ένα λεξικό (δείτε :ref:`typesmapping`) που περιέχει όλα τα keyword ορίσματα " +"εκτός από αυτά που αντιστοιχούν σε μια επίσημη παράμετρο. Αυτό μπορεί να " +"συνδυαστεί με μια επίσημη παράμετρος της μορφής ``*name`` (που περιγράφεται " +"στην επόμενη υποενότητα) η οποία λαμβάνει ένα :ref:`tuple ` που " +"περιέχει τα ορίσματα θέσης πέρα από την επίσημη λίστα παραμέτρων. (Το " +"``*name`` πρέπει να εμφανίζεται πριν από το ``**name``.) Για παράδειγμα, αν " +"ορίσουμε μια συνάρτηση όπως αυτή::" #: tutorial/controlflow.rst:691 msgid "It could be called like this::" @@ -806,8 +857,9 @@ msgid "" "Note that the order in which the keyword arguments are printed is guaranteed " "to match the order in which they were provided in the function call." msgstr "" -"Λάβετε υπόψη ότι η σειρά με την οποία εκτυπώνονται τα keyword ορίσματα είναι εγγυημένη " -"ότι ταιριάζει με τη σειρά με την οποία δόθηκαν στην κλήση της συνάρτησης." +"Λάβετε υπόψη ότι η σειρά με την οποία εκτυπώνονται τα keyword ορίσματα είναι " +"εγγυημένη ότι ταιριάζει με τη σειρά με την οποία δόθηκαν στην κλήση της " +"συνάρτησης." #: tutorial/controlflow.rst:716 msgid "Special parameters" @@ -821,11 +873,12 @@ msgid "" "at the function definition to determine if items are passed by position, by " "position or keyword, or by keyword." msgstr "" -"Από προεπιλογή, τα ορίσματα μπορούν να μεταβιβαστούν σε μια συνάρτηση Python είτε με βάση " -"τη θέση είτε ρητά με το keyword. Για αναγνωσιμότητα και απόδοση, ειναι λογικό να περιοριστεί " -"ο τρόπος με τον οποίο μπορούν να περάσουν τα ορίσματα, έτσι ώστε ένας προγραμματιστής να μην " -"χρειάζεται να κοιτάξει το ορισμό της συνάρτησης για να προσδιορίσει εάν τα στοιχεία μεταβιβάζονται " -"κατά θέση, κατά θέση ή keyword, ή κατά keyword." +"Από προεπιλογή, τα ορίσματα μπορούν να μεταβιβαστούν σε μια συνάρτηση Python " +"είτε με βάση τη θέση είτε ρητά με το keyword. Για αναγνωσιμότητα και " +"απόδοση, είναι λογικό να περιοριστεί ο τρόπος με τον οποίο μπορούν να " +"περάσουν τα ορίσματα, έτσι ώστε ένας προγραμματιστής να μην χρειάζεται να " +"κοιτάξει τον ορισμό της συνάρτησης για να προσδιορίσει εάν τα στοιχεία " +"μεταβιβάζονται κατά θέση, κατά θέση ή keyword, ή κατά keyword." #: tutorial/controlflow.rst:724 msgid "A function definition may look like:" @@ -838,10 +891,11 @@ msgid "" "only, positional-or-keyword, and keyword-only. Keyword parameters are also " "referred to as named parameters." msgstr "" -"όπου τα ``/`` και ``*`` είναι προαιρτικά. Εάν χρησιμοποιούνται, αυτά τα σύμβολα υποδεικνύουν " -"το είδος της παραμέτρους με τον τρόπο που τα ορίσματα μπορούν να μεταβιβαστούν στη συνάρτηση: " -"μόνο θέσης (positional-only), θέσης ή keyword (positional-or-keyword), και μόνο keyword (keyword-only). " -"Οι keyword παράμετροι αναφέρονται επίσης ως ονομασμένες παράμετροι." +"όπου τα ``/`` και ``*`` είναι προαιρετικά. Εάν χρησιμοποιούνται, αυτά τα " +"σύμβολα υποδεικνύουν το είδος της παραμέτρους με τον τρόπο που τα ορίσματα " +"μπορούν να μεταβιβαστούν στη συνάρτηση: μόνο θέσης (positional-only), θέσης " +"ή keyword (positional-or-keyword), και μόνο keyword (keyword-only). Οι " +"keyword παράμετροι αναφέρονται επίσης ως ονομασμένες παράμετροι." #: tutorial/controlflow.rst:742 msgid "Positional-or-Keyword Arguments" @@ -852,8 +906,8 @@ msgid "" "If ``/`` and ``*`` are not present in the function definition, arguments may " "be passed to a function by position or by keyword." msgstr "" -"Εάν τα ``/`` και ``*`` δεν υπάρχουν στον ορισμό της συνάρτησης, τα ορίσματα μπορούν να μεταβιβαστούν " -"σε μια συνάρτηση ανά θέση ή κατά keyword." +"Εάν τα ``/`` και ``*`` δεν υπάρχουν στον ορισμό της συνάρτησης, τα ορίσματα " +"μπορούν να μεταβιβαστούν σε μια συνάρτηση ανά θέση ή κατά keyword." #: tutorial/controlflow.rst:749 msgid "Positional-Only Parameters" @@ -869,19 +923,21 @@ msgid "" "parameters. If there is no ``/`` in the function definition, there are no " "positional-only parameters." msgstr "" -"Επανεξετάζοντας αυτό το θέμα λίγο πιο λεπτομερώς, είναι δυνατό να επισημάνετε " -"ορισμένες παραμέτρους ως *μόνο θέσης*.Εάν *μόνο θέσης*, η σειρά των παραμέτρων έχει σημασία " -"και οι παράμετροι δεν μπορούν να μεταβιβαστούν με keyword. Οι παράμετροι μόνο θέσης τοποθετούνται " -"πριν από ένα ``/`` (προς τα εμπρός-κάθετος). Το ``/``χρησιμοποιείται για να διαχωρίσει λογικά τις " -"παραμέτρους μόνο θέσης από τις υπόλοιπες παραμέτρους. Εάν δεν υπάερχει το ``/`` στον ορισμό της " -"συνάρτησης, δεν υπάρχουν παράμετροι μόνο θέσης." +"Επανεξετάζοντας αυτό το θέμα λίγο πιο λεπτομερώς, είναι δυνατό να " +"επισημάνετε ορισμένες παραμέτρους ως *μόνο θέσης*.Εάν *μόνο θέσης*, η σειρά " +"των παραμέτρων έχει σημασία και οι παράμετροι δεν μπορούν να μεταβιβαστούν " +"με keyword. Οι παράμετροι μόνο θέσης τοποθετούνται πριν από ένα ``/`` (προς " +"τα εμπρός-κάθετος). Το ``/``χρησιμοποιείται για να διαχωρίσει λογικά τις " +"παραμέτρους μόνο θέσης από τις υπόλοιπες παραμέτρους. Εάν δεν υπάερχει το ``/" +"`` στον ορισμό της συνάρτησης, δεν υπάρχουν παράμετροι μόνο θέσης." #: tutorial/controlflow.rst:759 msgid "" "Parameters following the ``/`` may be *positional-or-keyword* or *keyword-" "only*." msgstr "" -"Οι παράμετροι που ακολουθούν το ``/`` μπορεί να είναι *θέσης ή keyword* ή *μόνο keyword*." +"Οι παράμετροι που ακολουθούν το ``/`` μπορεί να είναι *θέσης ή keyword* ή " +"*μόνο keyword*." #: tutorial/controlflow.rst:763 msgid "Keyword-Only Arguments" @@ -893,9 +949,9 @@ msgid "" "passed by keyword argument, place an ``*`` in the arguments list just before " "the first *keyword-only* parameter." msgstr "" -"Για να επισημάνετε τις παραμέτρους ως *μόνο keyword*, υποδεικνύοντας ότι οι παράμετροι πρέπει " -"να περάσουν από το keyword όρισμα, τοποθετήσετε ένα ``*`` στη λίστα ορισμάτων ακριβώς πριν " -"από την πρώτη παράμετρο *μόνο keyword*." +"Για να επισημάνετε τις παραμέτρους ως *μόνο keyword*, υποδεικνύοντας ότι οι " +"παράμετροι πρέπει να περάσουν από το keyword όρισμα, τοποθετήσετε ένα ``*`` " +"στη λίστα ορισμάτων ακριβώς πριν από την πρώτη παράμετρο *μόνο keyword*." #: tutorial/controlflow.rst:771 msgid "Function Examples" @@ -915,16 +971,17 @@ msgid "" "places no restrictions on the calling convention and arguments may be passed " "by position or keyword::" msgstr "" -"Ο πρώτος ορισμός συνάρτησης, ``standard_arg``, η πιο οικεία μορφή, δεν θέτει περιορισμούς " -"στη σύμβαση κλήσης και τα ορίσματα μπορούν να περάσουν από θέση ή από keyword::" +"Ο πρώτος ορισμός συνάρτησης, ``standard_arg``, η πιο οικεία μορφή, δεν θέτει " +"περιορισμούς στη σύμβαση κλήσης και τα ορίσματα μπορούν να περάσουν από θέση " +"ή από keyword::" #: tutorial/controlflow.rst:799 msgid "" "The second function ``pos_only_arg`` is restricted to only use positional " "parameters as there is a ``/`` in the function definition::" msgstr "" -"Η δεύτερη συνάρτηση ``pos_only_arg`` περιορίζεται στη χρήση μόνο παραμέτρων θέσης καθώς " -"υπάρχει ένα ``/`` στον ορισμός της συνάρτησης::" +"Η δεύτερη συνάρτηση ``pos_only_arg`` περιορίζεται στη χρήση μόνο παραμέτρων " +"θέσης καθώς υπάρχει ένα ``/`` στον ορισμός της συνάρτησης::" #: tutorial/controlflow.rst:810 msgid "" @@ -939,8 +996,8 @@ msgid "" "And the last uses all three calling conventions in the same function " "definition::" msgstr "" -"Και το τελευταίο χρησιμοποιεί και τις τρεις συμβάσεις κλήσης στον ίδιο ορισμό " -"συνάρτησης::" +"Και το τελευταίο χρησιμοποιεί και τις τρεις συμβάσεις κλήσης στον ίδιο " +"ορισμό συνάρτησης::" #: tutorial/controlflow.rst:841 msgid "" @@ -948,16 +1005,18 @@ msgid "" "between the positional argument ``name`` and ``**kwds`` which has ``name`` " "as a key::" msgstr "" -"Τέλος, εξετάστε αυτόν τον ορισμό συνάρτησης που έχει μια πιθανή σύγκρουση μεταξύ " -"του ορίσματος θέσης ``name`` και ``**kwds`` που έχει ως κλειδί το ``name``::" +"Τέλος, εξετάστε αυτόν τον ορισμό συνάρτησης που έχει μια πιθανή σύγκρουση " +"μεταξύ του ορίσματος θέσης ``name`` και ``**kwds`` που έχει ως κλειδί το " +"``name``::" #: tutorial/controlflow.rst:846 msgid "" "There is no possible call that will make it return ``True`` as the keyword " "``'name'`` will always bind to the first parameter. For example::" msgstr "" -"Δεν υπάρχει καμία πιθανή κλήση που θα την κάνεινα επιστρέψει ``True`` καθώς το keyword " -"``'name'`` θα συνδέεται πάντα με την πρώτη παράμετρο. Για παράδειγμα::" +"Δεν υπάρχει καμία πιθανή κλήση που θα την κάνει να επιστρέψει ``True`` καθώς " +"το keyword ``'name'`` θα συνδέεται πάντα με την πρώτη παράμετρο. Για " +"παράδειγμα::" #: tutorial/controlflow.rst:855 msgid "" @@ -965,16 +1024,17 @@ msgid "" "``name`` as a positional argument and ``'name'`` as a key in the keyword " "arguments::" msgstr "" -"Αλλά χρησιμοποιώντας ``/`` (ορίσματα μόνο θέσης), είναι δυνατό καθώς επιτρέπει το ``name`` " -"ως όρισμα θέσης και το ``'name'`` ως κλειδί στα keyword ορίσματα::" +"Αλλά χρησιμοποιώντας ``/`` (ορίσματα μόνο θέσης), είναι δυνατό καθώς " +"επιτρέπει το ``name`` ως όρισμα θέσης και το ``'name'`` ως κλειδί στα " +"keyword ορίσματα::" #: tutorial/controlflow.rst:863 msgid "" "In other words, the names of positional-only parameters can be used in " "``**kwds`` without ambiguity." msgstr "" -"Με άλλα λόγια, τα ονόματα των παραμέτρων μόνο θέσης μπορούν να χρησιμοποιηθούν σε ``**kwds`` " -"χωρίς ασάφεια." +"Με άλλα λόγια, τα ονόματα των παραμέτρων μόνο θέσης μπορούν να " +"χρησιμοποιηθούν σε ``**kwds`` χωρίς ασάφεια." #: tutorial/controlflow.rst:868 msgid "Recap" @@ -985,7 +1045,8 @@ msgid "" "The use case will determine which parameters to use in the function " "definition::" msgstr "" -"Η περίπτωση χρήσης θα καθορίσει ποιες παραμέτρους θα χρησιμοποιηθούν στον ορισμό της συνάρτησης::" +"Η περίπτωση χρήσης θα καθορίσει ποιες παραμέτρους θα χρησιμοποιηθούν στον " +"ορισμό της συνάρτησης::" #: tutorial/controlflow.rst:874 msgid "As guidance:" @@ -999,10 +1060,11 @@ msgid "" "is called or if you need to take some positional parameters and arbitrary " "keywords." msgstr "" -"Χρησιμοποιήστε τη θέση μόνο εάν θέλετε το όνομα των παραμέτρων να μην είναι διαθέσιμο στο χρήστη. " -"Αυτό είναι χρήσιμο όταν τα ονόματα παραμέτρων δεν έχουν πραγματικό νόημα, εάν δεν θέλετε να " -"επιβάλετε τη σειρά των ορισμάτων όταν καλείται η συνάρτηση ή εάν πρέπει να ληφθούν ορισμένες παράμετροι " -"θέσης και αυθαίρετα keywords." +"Χρησιμοποιήστε τη θέση μόνο εάν θέλετε το όνομα των παραμέτρων να μην είναι " +"διαθέσιμο στο χρήστη. Αυτό είναι χρήσιμο όταν τα ονόματα παραμέτρων δεν " +"έχουν πραγματικό νόημα, εάν δεν θέλετε να επιβάλετε τη σειρά των ορισμάτων " +"όταν καλείται η συνάρτηση ή εάν πρέπει να ληφθούν ορισμένες παράμετροι θέσης " +"και αυθαίρετα keywords." #: tutorial/controlflow.rst:881 msgid "" @@ -1010,17 +1072,18 @@ msgid "" "understandable by being explicit with names or you want to prevent users " "relying on the position of the argument being passed." msgstr "" -"Χρησιμοποιήστε keyword μόνο όταν τα ονόματα έχουν νόημα και ο ορισμός της συνάρτησης " -"είναι πιο κατανοητός όταν είναι ρητός με ονόματα ή θέλετε να αποτρέψετε τους χρήστες να βασίζονται " -"στη θέση του επιχειρήματος που μεταβιβάζεται." +"Χρησιμοποιήστε keyword μόνο όταν τα ονόματα έχουν νόημα και ο ορισμός της " +"συνάρτησης είναι πιο κατανοητός όταν είναι ρητός με ονόματα ή θέλετε να " +"αποτρέψετε τους χρήστες να βασίζονται στη θέση του επιχειρήματος που " +"μεταβιβάζεται." #: tutorial/controlflow.rst:884 msgid "" "For an API, use positional-only to prevent breaking API changes if the " "parameter's name is modified in the future." msgstr "" -"Για ένα API, χρησιμοποιήστε το μόνο θέσης για να αποτρέψετε τη διακοπή των αλλαγών " -"τους API, εάν το όνομα της παραμέτρου τροποποιηθεί στο μέλλον." +"Για ένα API, χρησιμοποιήστε το μόνο θέσης για να αποτρέψετε τη διακοπή των " +"αλλαγών τους API, εάν το όνομα της παραμέτρου τροποποιηθεί στο μέλλον." #: tutorial/controlflow.rst:890 msgid "Arbitrary Argument Lists" @@ -1033,10 +1096,11 @@ msgid "" "wrapped up in a tuple (see :ref:`tut-tuples`). Before the variable number " "of arguments, zero or more normal arguments may occur. ::" msgstr "" -"Τέλος, η λιγότερο συχνά χρησιμοποιούμενη επιλογή είναι να ορίσετε ότι μια συνάρτηση " -"μπορεί να κληθεί μεέναν αυθαίρετο αριθμός ορισμάτων. Αυτά τα ορίσματα θα τυλιχθούν σε μια " -"πλειάδα (tuple) (βλ. :ref:`tut-tuples`). Πριν από τον μεταβλητό αριθμό ορισμάτων ενδέχεται " -"να προκύψουν μηδέν ή περισσότερα κανονικά ορίσματα. ::" +"Τέλος, η λιγότερο συχνά χρησιμοποιούμενη επιλογή είναι να ορίσετε ότι μια " +"συνάρτηση μπορεί να κληθεί με έναν αυθαίρετο αριθμός ορισμάτων. Αυτά τα " +"ορίσματα θα τυλιχθούν σε μια πλειάδα (tuple) (βλ. :ref:`tut-tuples`). Πριν " +"από τον μεταβλητό αριθμό ορισμάτων ενδέχεται να προκύψουν μηδέν ή " +"περισσότερα κανονικά ορίσματα. ::" #: tutorial/controlflow.rst:904 msgid "" @@ -1046,11 +1110,12 @@ msgid "" "``*args`` parameter are 'keyword-only' arguments, meaning that they can only " "be used as keywords rather than positional arguments. ::" msgstr "" -"Κανονικά, αυτά τα *variadic* ορίσματα θα είναι τελευταία στη λίστα των επίσημων " -"παραμέτρων, επειδή συλλέγουν όλα τα υπόλοιπα ορίσματα εισόδου που μεταβιβάζονται στη " -"συνάρτηση. Οποιεσδήποτε τυπικές παράμετροι που εμφανίζονται μετά την παράμετρο " -"``*args`` είναι 'μόνο keyword' ορίσματα, που σημαίνει ότι μπορούν να χρησιμοποιηθούν μόνο ως " -"λέξεις-κλειδιά και όχι ως ορίσματα θέσης. ::" +"Κανονικά, αυτά τα *variadic* ορίσματα θα είναι τελευταία στη λίστα των " +"επίσημων παραμέτρων, επειδή συλλέγουν όλα τα υπόλοιπα ορίσματα εισόδου που " +"μεταβιβάζονται στη συνάρτηση. Οποιεσδήποτε τυπικές παράμετροι που " +"εμφανίζονται μετά την παράμετρο ``*args`` είναι 'μόνο keyword' ορίσματα, που " +"σημαίνει ότι μπορούν να χρησιμοποιηθούν μόνο ως λέξεις-κλειδιά και όχι ως " +"ορίσματα θέσης. ::" #: tutorial/controlflow.rst:921 msgid "Unpacking Argument Lists" @@ -1065,20 +1130,21 @@ msgid "" "separately, write the function call with the ``*``\\ -operator to unpack " "the arguments out of a list or tuple::" msgstr "" -"Η αντίστροφη κατάσταση συμβαίνει όταν τα ορίσματα βρίσκονται ήδη σε μια λίστα ή " -"πλειάδα (tuple), αλλά πρέπει να αποσυμπιεστούν για μια κλήση συνάρτησης που απαιτεί " -"ξεχωριστά ορίσματα θέσης. Για παράδειγμα, η ενσωματωμένη (built-in) συνάρτηση :func:`range` " -"αναμένει ξεχωριστά *start* και *stop* ορισματα. Εάν δεν είναι διαθέσιμα ξεχωριστά, γράψτε την κλήση " -"συνάρτησης με τον ``*``\\ -τελεστή για να αποσυμπιέσετε τα ορίσματα από μια λίστα ή " -"πλειάδα (tuple)::" +"Η αντίστροφη κατάσταση συμβαίνει όταν τα ορίσματα βρίσκονται ήδη σε μια " +"λίστα ή πλειάδα (tuple), αλλά πρέπει να αποσυμπιεστούν για μια κλήση " +"συνάρτησης που απαιτεί ξεχωριστά ορίσματα θέσης. Για παράδειγμα, η " +"ενσωματωμένη (built-in) συνάρτηση :func:`range` αναμένει ξεχωριστά *start* " +"και *stop* ορίσματα. Εάν δεν είναι διαθέσιμα ξεχωριστά, γράψτε την κλήση " +"συνάρτησης με τον ``*``\\ -τελεστή για να αποσυμπιέσετε τα ορίσματα από μια " +"λίστα ή πλειάδα (tuple)::" #: tutorial/controlflow.rst:939 msgid "" "In the same fashion, dictionaries can deliver keyword arguments with the " "``**``\\ -operator::" msgstr "" -"Με τον ίδιο τρόπο, τα λεξικά μπορούν αν παραδίδουν keyword ορίσματα με τον " -"``**``\\ -τελεστη::" +"Με τον ίδιο τρόπο, τα λεξικά μπορούν να παραδίδουν keyword ορίσματα με τον " +"``**``\\ -τελεστή::" #: tutorial/controlflow.rst:955 msgid "Lambda Expressions" @@ -1094,11 +1160,12 @@ msgid "" "definitions, lambda functions can reference variables from the containing " "scope::" msgstr "" -"Μπορούν αν δημιουργηθούν μικρές ανώνυμες συναρτήσεις με το keyword :keyword:`lambda`. " -"Αυτή η συνάρτηση επιστρέφει το άθροισμα των δύο ορισμάτων της: ``lambda a, b: a+b``. " -"Οι συναρτήσεις Lambda μπορούν να χρησιμοποιηθούν όπου απαιτούνται αντικείμενα συνάρτησης. " -"Περιορίζονται συντακικά σε μία μόνο έκφραση. Σημασιολογικά, είναι απλώς syntactic sugar " -"για έναν ορισμό κανονικής συνάρτησης. Όπως οι ορισμοί ένθετων συναρτήσεων, οι συναρτήσεις " +"Μπορούν αν δημιουργηθούν μικρές ανώνυμες συναρτήσεις με το keyword :keyword:" +"`lambda`. Αυτή η συνάρτηση επιστρέφει το άθροισμα των δύο ορισμάτων της: " +"``lambda a, b: a+b``. Οι συναρτήσεις Lambda μπορούν να χρησιμοποιηθούν όπου " +"απαιτούνται αντικείμενα συνάρτησης. Περιορίζονται συντακτικά σε μία μόνο " +"έκφραση. Σημασιολογικά, είναι απλώς syntactic sugar για έναν ορισμό " +"κανονικής συνάρτησης. Όπως οι ορισμοί ένθετων συναρτήσεων, οι συναρτήσεις " "lambda μπορούν να παραπέμπουν σε μεταβλητές από το πεδίο που περιέχει::" #: tutorial/controlflow.rst:974 @@ -1106,8 +1173,9 @@ msgid "" "The above example uses a lambda expression to return a function. Another " "use is to pass a small function as an argument::" msgstr "" -"Το παραπάνω παράδειγμα χρησιμοποιεί μια έκφραση lambda για να επιστρέψει μια συνάρτηση. Μια άλλη " -"χρήση είναι η μετάδοση μιας μικρής συνάρτησης ως όρισμα::" +"Το παραπάνω παράδειγμα χρησιμοποιεί μια έκφραση lambda για να επιστρέψει μια " +"συνάρτηση. Μια άλλη χρήση είναι η μετάδοση μιας μικρής συνάρτησης ως " +"όρισμα::" #: tutorial/controlflow.rst:986 msgid "Documentation Strings" @@ -1118,7 +1186,8 @@ msgid "" "Here are some conventions about the content and formatting of documentation " "strings." msgstr "" -"Ακολουθούν ορισμένες συμβάσεις σχετικάμε το περιεχόμενο και τη μορφοποίηση των συμβολοσειρών τεκμηρίωσης." +"Ακολουθούν ορισμένες συμβάσεις σχετικά με το περιεχόμενο και τη μορφοποίηση " +"των συμβολοσειρών τεκμηρίωσης." #: tutorial/controlflow.rst:996 msgid "" @@ -1128,6 +1197,11 @@ msgid "" "to be a verb describing a function's operation). This line should begin " "with a capital letter and end with a period." msgstr "" +"Η πρώτη γραμμή πρέπει να είναι πάντα μια σύντομη, συνοπτική περίληψη του " +"σκοπού του αντικειμένου. Για συντομία, δεν πρέπει να αναφέρει ρητά το όνομα " +"ή τον τύπο του αντικειμένου , καθώς αυτά είναι διαθέσιμα με άλλα μέσα (εκτός " +"εάν το όνομα είναι ρήμα που περιγράφει τη λειτουργία της συνάρτησης). Αυτή " +"η γραμμή πρέπει να ξεκινά με κεφαλαίο γράμμα και να τελειώνει με τελεία." #: tutorial/controlflow.rst:1002 msgid "" @@ -1136,10 +1210,11 @@ msgid "" "The following lines should be one or more paragraphs describing the object's " "calling conventions, its side effects, etc." msgstr "" -"Εάν υπάρχουν περισσότερες γραμμές στη συμβολοσειρά τεκμηρίωσης, η δεύτερη γραμμήθα πρέπει " -"να είναι κενή, διαχωρίζοντας οπτικά τη σύνοψη από την υπόλοιπη περιγραφή. Οι ακόλουθες γραμμές " -"πρέπει να είναι μία ή περισσότερες παραγράφοι που περιγράφουν τις συμβάσεις κλήσης του αντικειμένου, " -"τις παρενέργειές του κ.λπ.." +"Εάν υπάρχουν περισσότερες γραμμές στη συμβολοσειρά τεκμηρίωσης, η δεύτερη " +"γραμμή θα πρέπει να είναι κενή, διαχωρίζοντας οπτικά τη σύνοψη από την " +"υπόλοιπη περιγραφή. Οι ακόλουθες γραμμές πρέπει να είναι μία ή περισσότερες " +"παράγραφοι που περιγράφουν τις συμβάσεις κλήσης του αντικειμένου, τις " +"παρενέργειές του κ.λπ.." #: tutorial/controlflow.rst:1007 msgid "" @@ -1155,21 +1230,23 @@ msgid "" "they occur all their leading whitespace should be stripped. Equivalence of " "whitespace should be tested after expansion of tabs (to 8 spaces, normally)." msgstr "" -"Ο parser της Python δεν αφαιρεί την εσοχή από τα literals της συμβολοσειράς πολλών " -"γραμμών στην Python, επομένως τα εργαλεία που επεξεργάζονται την τεκμηρίωση πρέπει " -"να αφαιρέσουν την εσοχή εάν είναι επιθυμητό. Αυτό γίνεται χρησιμοπιοώντας την ακόλουθη " -"σύμβαση. Η πρώτη μη κενή γραμμή *μετά* την πρώτη γραμμή της συμβολοσειράς καθορίζει το " -"μέγεθος της εσοχής για ολόκληρη τη συμβολοσειρά τεκμηρίωσης. (Δεν μπορούμε να χρησιμοποιήσουμε " -"την πρώτη γραμμή αφού είναι γενικά δίπλα στα εισαγωγικά της συμβολοσειράς, επομένως η εσοχή της δεν " -"είναι εμφανής στο literal της συμβολοσειράς.) Το κενό διάστημα " -"\"ισοδύναμο\" σε αυτήν την εσοχή αφαιρείται στη συνέχεια από την αρχή όλων των γραμμών της " -"συμβολοσειράς. Οι γραμμές που έχουν μικρότερη εσοχή δεν θα πρέπει να εμφανίζονται, αλλά αν εμφανιστούν " -"θα πρέπει να αφαιρεθεί όλο το αρχικό κενό τους. Η ισοδυναμία των κενών διαστημάτων θα πρέπει να " -"ελέγχεται μετά την επέκταση των καρτελών (σε 8 κενά, κανονικά)." +"Ο parser της Python δεν αφαιρεί την εσοχή από τα literals της συμβολοσειράς " +"πολλών γραμμών στην Python, επομένως τα εργαλεία που επεξεργάζονται την " +"τεκμηρίωση πρέπει να αφαιρέσουν την εσοχή εάν είναι επιθυμητό. Αυτό γίνεται " +"χρησιμοποιώντας την ακόλουθη σύμβαση. Η πρώτη μη κενή γραμμή *μετά* την " +"πρώτη γραμμή της συμβολοσειράς καθορίζει το μέγεθος της εσοχής για ολόκληρη " +"τη συμβολοσειρά τεκμηρίωσης. (Δεν μπορούμε να χρησιμοποιήσουμε την πρώτη " +"γραμμή αφού είναι γενικά δίπλα στα εισαγωγικά της συμβολοσειράς, επομένως η " +"εσοχή της δεν είναι εμφανής στο literal της συμβολοσειράς.) Το κενό διάστημα " +"\"ισοδύναμο\" σε αυτήν την εσοχή αφαιρείται στη συνέχεια από την αρχή όλων " +"των γραμμών της συμβολοσειράς. Οι γραμμές που έχουν μικρότερη εσοχή δεν θα " +"πρέπει να εμφανίζονται, αλλά αν εμφανιστούν θα πρέπει να αφαιρεθεί όλο το " +"αρχικό κενό τους. Η ισοδυναμία των κενών διαστημάτων θα πρέπει να ελέγχεται " +"μετά την επέκταση των καρτελών (σε 8 κενά, κανονικά)." #: tutorial/controlflow.rst:1019 msgid "Here is an example of a multi-line docstring::" -msgstr "Ακολουθεί ένα παράδειγμα νεός πολλαπλών γραμμών docstring::" +msgstr "Ακολουθεί ένα παράδειγμα ενός πολλαπλών γραμμών docstring::" #: tutorial/controlflow.rst:1037 msgid "Function Annotations" @@ -1181,10 +1258,10 @@ msgid "" "information about the types used by user-defined functions (see :pep:`3107` " "and :pep:`484` for more information)." msgstr "" -"Το :ref:`Function annotations ` είναι εντελώς προαιρετικές πληροφοριές " -"μεταδεδομένων σχετικά με τους τύπους χρησιμοποιούνται από συναρτήσεις που καθορίζονται " -"από το χρήστη (δείτε :pep:`3107` " -"και :pep:`484` για περισσότερες πληροφορίες)." +"Το :ref:`Function annotations ` είναι εντελώς προαιρετικές " +"πληροφορίες μεταδεδομένων σχετικά με τους τύπους χρησιμοποιούνται από " +"συναρτήσεις που καθορίζονται από το χρήστη (δείτε :pep:`3107` και :pep:`484` " +"για περισσότερες πληροφορίες)." #: tutorial/controlflow.rst:1049 msgid "" @@ -1197,13 +1274,15 @@ msgid "" "denoting the end of the :keyword:`def` statement. The following example has " "a required argument, an optional argument, and the return value annotated::" msgstr "" -"Το :term:`Annotations ` αποθηκεύονται στο χαρακτηριστικό " -":attr:`!__annotations__` της συνάρτησης ως λεξικό και δεν έχουνε καμία επίδραση σε κανένα άλλο " -"μέρος της συνάρτησης. Τα annotations των παραμέτρων ορίζονται με άνω και κάτω τελεία " -"μετά το όνομα παραμέτρου, ακολουθούμενη από μια έκφραση που αξιλογεί την τιμή του annotation. " -"Τα annotaions επιστροφής ορίζονται από ένα literal ``->``, ακολοθούμενο από μια έκφραση, μεταξύ " -"της λίστας παραμέτρων και της άνω και κάτω τελείας που υποδηλώνει το τέλος της δήλωσης :keyword:`def`. " -"Το ακόλουθο παράδειγμα έχει ένα απαιτούμενο όρισμα, ένα προαιρετικό όρισμα και την επιστρεφόμενη τιμή σε " +"Το :term:`Annotations ` αποθηκεύονται στο " +"χαρακτηριστικό :attr:`!__annotations__` της συνάρτησης ως λεξικό και δεν " +"έχουνε καμία επίδραση σε κανένα άλλο μέρος της συνάρτησης. Τα annotations " +"των παραμέτρων ορίζονται με άνω και κάτω τελεία μετά το όνομα παραμέτρου, " +"ακολουθούμενη από μια έκφραση που αξιολογεί την τιμή του annotation. Τα " +"annotations επιστροφής ορίζονται από ένα literal ``->``, ακολουθούμενο από " +"μια έκφραση, μεταξύ της λίστας παραμέτρων και της άνω και κάτω τελείας που " +"υποδηλώνει το τέλος της δήλωσης :keyword:`def`. Το ακόλουθο παράδειγμα έχει " +"ένα απαιτούμενο όρισμα, ένα προαιρετικό όρισμα και την επιστρεφόμενη τιμή σε " "annotations::" #: tutorial/controlflow.rst:1071 @@ -1218,11 +1297,13 @@ msgid "" "others. Making it easy for others to read your code is always a good idea, " "and adopting a nice coding style helps tremendously for that." msgstr "" -"Τώρα που πρόκειται να γράψετε μεγαλύτερα, και πιο σύνθετα κομμάτια της Python, είνι η " -"κατάλληλη στιγμή να μιλήσετε για *στυλ κώδικα*. Οι περισσότερες γλώσσες μπορούν να γραφτούν " -"(ή πιο συνοπτικές, *μοροφοποιημένες*) σε διαφορετικά στυλ· μερικές είναι πιο ευανάγνωστες από άλλες. " -"Το να διευκολύνετε τους άλλους να διαβάσουν τον κώδικα σας είναι πάντα μια καλή ιδέα και η υιοθέτηση ενός " -"ωραίου στυλ κώδικα βοηθάει πάρα πολύ σε αυτό." +"Τώρα που πρόκειται να γράψετε μεγαλύτερα, και πιο σύνθετα κομμάτια της " +"Python, είναι η κατάλληλη στιγμή να μιλήσετε για *στυλ κώδικα*. Οι " +"περισσότερες γλώσσες μπορούν να γραφτούν (ή πιο συνοπτικές, " +"*μοροφοποιημένες*) σε διαφορετικά στυλ· μερικές είναι πιο ευανάγνωστες από " +"άλλες. Το να διευκολύνετε τους άλλους να διαβάσουν τον κώδικα σας είναι " +"πάντα μια καλή ιδέα και η υιοθέτηση ενός ωραίου στυλ κώδικα βοηθάει πάρα " +"πολύ σε αυτό." #: tutorial/controlflow.rst:1082 msgid "" @@ -1231,9 +1312,10 @@ msgid "" "Python developer should read it at some point; here are the most important " "points extracted for you:" msgstr "" -"Για την Python, το :pep:`8` έχει αναδειχθεί ως οδηγός στηλ στον οποίο τηρούν τα περισσότερα έργα· " -"προωθεί ένα πολύ ευανάγνωστο και ευχάριστο στυλ κώδικα. Κάθε προγραμματιστής Python θα πρέπει να το " -"διαβάσει κάποια στιγμή· εδώ είναι τα πιο σημαντικό σημεία που εξάγονται για εσάς:" +"Για την Python, το :pep:`8` έχει αναδειχθεί ως οδηγός στυλ στον οποίο τηρούν " +"τα περισσότερα έργα· προωθεί ένα πολύ ευανάγνωστο και ευχάριστο στυλ " +"κώδικα. Κάθε προγραμματιστής Python θα πρέπει να το διαβάσει κάποια στιγμή· " +"εδώ είναι τα πιο σημαντικό σημεία που εξάγονται για εσάς:" #: tutorial/controlflow.rst:1087 msgid "Use 4-space indentation, and no tabs." @@ -1245,9 +1327,10 @@ msgid "" "nesting depth) and large indentation (easier to read). Tabs introduce " "confusion, and are best left out." msgstr "" -"Τα 4 κενά είναι ένας καλό συμβιβασμό μεταξύ της μικρής εσοχής (επιτρέπει μεγαλύτερο " -"βάθος εμφώλευσης) και της μεγάλης εσοχής (ευκολότερη στην ανάγνωση). Τα tabs δημιουργούν " -"σύγχυση, και είναι καλύτερο να παραμείνουν απέξω." +"Τα 4 κενά είναι ένας καλός συμβιβασμός μεταξύ της μικρής εσοχής (επιτρέπει " +"μεγαλύτερο βάθος εμφώλευσης) και της μεγάλης εσοχής (ευκολότερη στην " +"ανάγνωση). Τα tabs δημιουργούν σύγχυση, και είναι καλύτερο να παραμείνουν " +"απέξω." #: tutorial/controlflow.rst:1093 msgid "Wrap lines so that they don't exceed 79 characters." @@ -1266,8 +1349,8 @@ msgid "" "Use blank lines to separate functions and classes, and larger blocks of code " "inside functions." msgstr "" -"Χρησιμοποιείστε κενές γραμμές για να διαχωρίσετε συναρτήσεις και κλάσεις και μεγαλύτερα " -"μπλοκ κώδικα μέσα συναρτήσεις." +"Χρησιμοποιείστε κενές γραμμές για να διαχωρίσετε συναρτήσεις και κλάσεις και " +"μεγαλύτερα μπλοκ κώδικα μέσα συναρτήσεις." #: tutorial/controlflow.rst:1101 msgid "When possible, put comments on a line of their own." @@ -1282,8 +1365,8 @@ msgid "" "Use spaces around operators and after commas, but not directly inside " "bracketing constructs: ``a = f(1, 2) + g(3, 4)``." msgstr "" -"Χρησιμοποιήστε κενά γύρω από τελεστές και μετά από κόμματα, αλλά όχι απευθείας μέσα " -"δε δομές αγκύλων: ``a = f(1, 2) + g(3, 4)``." +"Χρησιμοποιήστε κενά γύρω από τελεστές και μετά από κόμματα, αλλά όχι " +"απευθείας μέσα δε δομές αγκύλων: ``a = f(1, 2) + g(3, 4)``." #: tutorial/controlflow.rst:1108 msgid "" @@ -1292,10 +1375,12 @@ msgid "" "functions and methods. Always use ``self`` as the name for the first method " "argument (see :ref:`tut-firstclasses` for more on classes and methods)." msgstr "" -"Ονομάστε τις κλάσεις και τις συναρτήσεις σας με συνέπεια· η σύμβαση είναι " -"να χρησιμοποιείτε ``UpperCamelCase`` για τις κλάσεις και ``lowercase_with_underscores`` " -"για τις συναρτήσεις και τις μεθόδους. Χρησιμοποιείτε πάντα το ``self`` ως όνομα για το " -"πρώτο όρισμα μεθόδου (δείτε :ref:`tut-firstclasses` για περισσότερα σχετικά με τις κλάσεις και τις μεθόδους)." +"Ονομάστε τις κλάσεις και τις συναρτήσεις σας με συνέπεια· η σύμβαση είναι να " +"χρησιμοποιείτε ``UpperCamelCase`` για τις κλάσεις και " +"``lowercase_with_underscores`` για τις συναρτήσεις και τις μεθόδους. " +"Χρησιμοποιείτε πάντα το ``self`` ως όνομα για το πρώτο όρισμα μεθόδου " +"(δείτε :ref:`tut-firstclasses` για περισσότερα σχετικά με τις κλάσεις και " +"τις μεθόδους)." #: tutorial/controlflow.rst:1113 msgid "" @@ -1303,9 +1388,9 @@ msgid "" "environments. Python's default, UTF-8, or even plain ASCII work best in any " "case." msgstr "" -"Μην χρησιμοποιείτε φανταχτερές κωδικοποιήσεις εάν ο κώδικας σας προορίζεται να χρησιμοποιηθεί " -"σε διεθνή περιβάλλοντα. Η προεπιλογή της Python, UTF-8, ή ακόμα και το απλό ASCII λειτουργούν " -"καλύτερα σε κάθε περίπτωση." +"Μην χρησιμοποιείτε φανταχτερές κωδικοποιήσεις εάν ο κώδικας σας προορίζεται " +"να χρησιμοποιηθεί σε διεθνή περιβάλλοντα. Η προεπιλογή της Python, UTF-8, ή " +"ακόμα και το απλό ASCII λειτουργούν καλύτερα σε κάθε περίπτωση." #: tutorial/controlflow.rst:1117 msgid "" @@ -1313,9 +1398,9 @@ msgid "" "slightest chance people speaking a different language will read or maintain " "the code." msgstr "" -"Ομοίως, μη χρησιμοποιείτε χαρακτήρες που δεν είναι ASCII σε αναγνωριστικά εάν υπάρχει " -"μόνο η παραμικρή πιθανότητα οι άνθρωποι που μιλούν διαφορετική γλώσσα να διαβάσουν ή να " -"διατηρήσουν τον κώδικα." +"Ομοίως, μη χρησιμοποιείτε χαρακτήρες που δεν είναι ASCII σε αναγνωριστικά " +"εάν υπάρχει μόνο η παραμικρή πιθανότητα οι άνθρωποι που μιλούν διαφορετική " +"γλώσσα να διαβάσουν ή να διατηρήσουν τον κώδικα." #: tutorial/controlflow.rst:1123 msgid "Footnotes" @@ -1327,9 +1412,10 @@ msgid "" "a mutable object is passed, the caller will see any changes the callee makes " "to it (items inserted into a list)." msgstr "" -"Στην πραγματικότητα, η *κλήση με αναφορά αντικειμένου* θα ήταν μια καλύτερη περιγραφή, καθώς " -"εάν μεταβιβαστεί ένα μεταβλητό αντικείμενο, ο καλών θα δει τυχόν αλλαγές που κάνει ο καλών σε αυτό " -"(στοιχεία που εισάγονται σε μια λίστα)." +"Στην πραγματικότητα, η *κλήση με αναφορά αντικειμένου* θα ήταν μια καλύτερη " +"περιγραφή, καθώς εάν μεταβιβαστεί ένα μεταβλητό αντικείμενο, ο καλών θα δει " +"τυχόν αλλαγές που κάνει ο καλών σε αυτό (στοιχεία που εισάγονται σε μια " +"λίστα)." #: tutorial/controlflow.rst:48 msgid "statement" From d022c01b969566002a5a282f017b29966656a153 Mon Sep 17 00:00:00 2001 From: skpanagiotis Date: Thu, 26 Sep 2024 11:19:10 +0300 Subject: [PATCH 03/10] Minor fix in translation --- tutorial/controlflow.po | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tutorial/controlflow.po b/tutorial/controlflow.po index b8db6cf5..913c04ba 100644 --- a/tutorial/controlflow.po +++ b/tutorial/controlflow.po @@ -258,7 +258,7 @@ msgid "" msgstr "" "Όταν χρησιμοποιείται με έναν βρόχο, η πρόταση ``else`` έχει περισσότερα " "κοινά με την πρόταση ``else`` μιας πρότασης :keyword:`try` παρά με αυτήν των " -"δηλώσεων keyword:`if`: η πρόταση ``else`` μιας δήλωσης :keyword:`try` " +"δηλώσεων :keyword:`if`: η πρόταση ``else`` μιας δήλωσης :keyword:`try` " "εκτελείται όταν δεν υπάρχει εξαίρεση, και η πρόταση ``else`` ενός βρόχου " "εκτελείται όταν δεν υπάρχει ``break``. Για περισσότερα με τη δήλωση :keyword:" "`!try` και τις εξαιρέσεις, δείτε :ref:`tut-handling`." From 1de8b94708210edf05f749a22af364a8d9c3ec36 Mon Sep 17 00:00:00 2001 From: Panagiotis Skias Date: Thu, 26 Sep 2024 12:33:18 +0300 Subject: [PATCH 04/10] Update tutorial/controlflow.po Co-authored-by: Theofanis Petkos --- tutorial/controlflow.po | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tutorial/controlflow.po b/tutorial/controlflow.po index 913c04ba..a879c254 100644 --- a/tutorial/controlflow.po +++ b/tutorial/controlflow.po @@ -39,7 +39,7 @@ msgid "" "Perhaps the most well-known statement type is the :keyword:`if` statement. " "For example::" msgstr "" -"Ίσως ο πιο γνωστός τύπος δήλωσης είναι η πρόταση :keyword:`if`. Για " +"Ίσως ο πιο γνωστός τύπος statement είναι η πρόταση :keyword:`if`. Για " "παράδειγμα::" #: tutorial/controlflow.rst:33 From e8f0476a118e6197d781629cfadb603fdd87c95c Mon Sep 17 00:00:00 2001 From: Panagiotis Skias Date: Thu, 26 Sep 2024 12:33:23 +0300 Subject: [PATCH 05/10] Update tutorial/controlflow.po Co-authored-by: Theofanis Petkos --- tutorial/controlflow.po | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tutorial/controlflow.po b/tutorial/controlflow.po index a879c254..06e3006d 100644 --- a/tutorial/controlflow.po +++ b/tutorial/controlflow.po @@ -55,7 +55,7 @@ msgstr "" "συντομογραφία του 'else if', και είναι χρήσιμη για να αποφύγετε την " "υπερβολική εσοχή. Μια ακολουθία keyword:`!if` ... :keyword:`!elif` ... :" "keyword:`!elif` ... είναι υποκατάστατο των δηλώσεων ``switch`` ή ``case`` " -"που βρέθηκαν σε άλλες γλώσσες." +"που υπάρχουν σε άλλες γλώσσες." #: tutorial/controlflow.rst:39 msgid "" From 7615d98f7caa0820cf33c25d09f94ff47c394ad0 Mon Sep 17 00:00:00 2001 From: Panagiotis Skias Date: Thu, 26 Sep 2024 12:33:30 +0300 Subject: [PATCH 06/10] Update tutorial/controlflow.po Co-authored-by: Theofanis Petkos --- tutorial/controlflow.po | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tutorial/controlflow.po b/tutorial/controlflow.po index 06e3006d..e4c18c11 100644 --- a/tutorial/controlflow.po +++ b/tutorial/controlflow.po @@ -110,7 +110,7 @@ msgid "" "If you do need to iterate over a sequence of numbers, the built-in function :" "func:`range` comes in handy. It generates arithmetic progressions::" msgstr "" -"Εάν χρειάζεται να κάνετε επανάληψη σε μια ακολουθία αριθμών, η ενσωματωμένη " +"Εάν χρειάζεται να κάνετε επανάληψη σε μια ακολουθία αριθμών, η ενσωματωμένη (built-in) " "συνάρτηση :func:`range` είναι χρήσιμη. Δημιουργεί αριθμητικές προόδους::" #: tutorial/controlflow.rst:108 From fb57550d96f3dcdae33b14fc5598e1af8f6f002d Mon Sep 17 00:00:00 2001 From: Panagiotis Skias Date: Thu, 26 Sep 2024 12:33:41 +0300 Subject: [PATCH 07/10] Update tutorial/controlflow.po Co-authored-by: Theofanis Petkos --- tutorial/controlflow.po | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tutorial/controlflow.po b/tutorial/controlflow.po index e4c18c11..a9392fed 100644 --- a/tutorial/controlflow.po +++ b/tutorial/controlflow.po @@ -333,7 +333,7 @@ msgid "" "Note the last block: the \"variable name\" ``_`` acts as a *wildcard* and " "never fails to match. If no case matches, none of the branches is executed." msgstr "" -"Σημειώστε το τελευταίο μπλοκ: το \"όνομα μεταβλητής\" ``_`` λειτουργεί ως " +"Σημειώστε το τελευταίο μπλοκ: το \"variable name\" ``_`` λειτουργεί ως " "*μπαλαντέρ* και δεν αποτυγχάνει ποτέ να ταιριάζει. Εάν δεν ταιριάζει κανένα " "case, κανένας από τους κλάδους δεν εκτελείται." From d34a410e6bf6461d4b0ef82a94b6eba09300d318 Mon Sep 17 00:00:00 2001 From: "pre-commit-ci-lite[bot]" <117423508+pre-commit-ci-lite[bot]@users.noreply.github.com> Date: Thu, 26 Sep 2024 09:35:26 +0000 Subject: [PATCH 08/10] [pre-commit.ci lite] apply automatic fixes --- tutorial/controlflow.po | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/tutorial/controlflow.po b/tutorial/controlflow.po index a9392fed..83407ac9 100644 --- a/tutorial/controlflow.po +++ b/tutorial/controlflow.po @@ -110,8 +110,9 @@ msgid "" "If you do need to iterate over a sequence of numbers, the built-in function :" "func:`range` comes in handy. It generates arithmetic progressions::" msgstr "" -"Εάν χρειάζεται να κάνετε επανάληψη σε μια ακολουθία αριθμών, η ενσωματωμένη (built-in) " -"συνάρτηση :func:`range` είναι χρήσιμη. Δημιουργεί αριθμητικές προόδους::" +"Εάν χρειάζεται να κάνετε επανάληψη σε μια ακολουθία αριθμών, η ενσωματωμένη " +"(built-in) συνάρτηση :func:`range` είναι χρήσιμη. Δημιουργεί αριθμητικές " +"προόδους::" #: tutorial/controlflow.rst:108 msgid "" From 8cef51dbd116f8de0dfe99b855dd4cea1b59df60 Mon Sep 17 00:00:00 2001 From: skpanagiotis Date: Mon, 30 Sep 2024 23:19:33 +0300 Subject: [PATCH 09/10] Fixes in translation and add word in main.txt --- dictionaries/main.txt | 2 ++ tutorial/controlflow.po | 28 ++++++++++++++-------------- 2 files changed, 16 insertions(+), 14 deletions(-) diff --git a/dictionaries/main.txt b/dictionaries/main.txt index 34a24c27..a22c6bf3 100644 --- a/dictionaries/main.txt +++ b/dictionaries/main.txt @@ -356,7 +356,9 @@ unpacking up user v +value van +variable web whitespace wiki diff --git a/tutorial/controlflow.po b/tutorial/controlflow.po index 83407ac9..2c32c266 100644 --- a/tutorial/controlflow.po +++ b/tutorial/controlflow.po @@ -2,14 +2,14 @@ # Copyright (C) 2001-2024, Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. -# +# #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.12\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2024-03-14 12:51+0000\n" -"PO-Revision-Date: 2024-09-26 09:49+0300\n" +"PO-Revision-Date: 2024-09-30 23:13+0300\n" "Last-Translator: Panagiotis Skias \n" "Language-Team: PyGreece \n" "Language: el\n" @@ -259,7 +259,7 @@ msgid "" msgstr "" "Όταν χρησιμοποιείται με έναν βρόχο, η πρόταση ``else`` έχει περισσότερα " "κοινά με την πρόταση ``else`` μιας πρότασης :keyword:`try` παρά με αυτήν των " -"δηλώσεων :keyword:`if`: η πρόταση ``else`` μιας δήλωσης :keyword:`try` " +"statements :keyword:`if`: η πρόταση ``else`` μιας δήλωσης :keyword:`try` " "εκτελείται όταν δεν υπάρχει εξαίρεση, και η πρόταση ``else`` ενός βρόχου " "εκτελείται όταν δεν υπάρχει ``break``. Για περισσότερα με τη δήλωση :keyword:" "`!try` και τις εξαιρέσεις, δείτε :ref:`tut-handling`." @@ -430,10 +430,10 @@ msgid "" "guard is false, ``match`` goes on to try the next case block. Note that " "value capture happens before the guard is evaluated::" msgstr "" -"Μπορούμε να προσθέσουμε μια πρόταση ``if`` σε ένα μοτίβο, γνωστό ως " -"\"guard\". Εάν το guard είναι false, το ``match`` συνεχίζει για να " -"δοκιμάσει το επόμενο μπλοκ πεζών-κεφαλαίων. Λάβετε υπόψη ότι η σύλληψη της " -"τιμής γίνεται πριν ο guard αξιολογηθεί::" +"Μπορούμε να προσθέσουμε μια πρόταση ``if`` σε ένα μοτίβο, γνωστό ως \"guard" +"\". Εάν το guard είναι false, το ``match`` συνεχίζει για να δοκιμάσει το " +"επόμενο μπλοκ πεζών-κεφαλαίων. Λάβετε υπόψη ότι η σύλληψη της τιμής γίνεται " +"πριν ο guard αξιολογηθεί::" #: tutorial/controlflow.rst:383 msgid "Several other key features of this statement:" @@ -465,8 +465,8 @@ msgstr "" #: tutorial/controlflow.rst:394 msgid "" -"Mapping patterns: ``{\"bandwidth\": b, \"latency\": l}`` captures the " -"``\"bandwidth\"`` and ``\"latency\"`` values from a dictionary. Unlike " +"Mapping patterns: ``{\"bandwidth\": b, \"latency\": l}`` captures the ``" +"\"bandwidth\"`` and ``\"latency\"`` values from a dictionary. Unlike " "sequence patterns, extra keys are ignored. An unpacking like ``**rest`` is " "also supported. (But ``**_`` would be redundant, so it is not allowed.)" msgstr "" @@ -1225,11 +1225,11 @@ msgid "" "line *after* the first line of the string determines the amount of " "indentation for the entire documentation string. (We can't use the first " "line since it is generally adjacent to the string's opening quotes so its " -"indentation is not apparent in the string literal.) Whitespace " -"\"equivalent\" to this indentation is then stripped from the start of all " -"lines of the string. Lines that are indented less should not occur, but if " -"they occur all their leading whitespace should be stripped. Equivalence of " -"whitespace should be tested after expansion of tabs (to 8 spaces, normally)." +"indentation is not apparent in the string literal.) Whitespace \"equivalent" +"\" to this indentation is then stripped from the start of all lines of the " +"string. Lines that are indented less should not occur, but if they occur " +"all their leading whitespace should be stripped. Equivalence of whitespace " +"should be tested after expansion of tabs (to 8 spaces, normally)." msgstr "" "Ο parser της Python δεν αφαιρεί την εσοχή από τα literals της συμβολοσειράς " "πολλών γραμμών στην Python, επομένως τα εργαλεία που επεξεργάζονται την " From 27bd6889649a0218677c19b03ca43bda25407f9a Mon Sep 17 00:00:00 2001 From: "pre-commit-ci-lite[bot]" <117423508+pre-commit-ci-lite[bot]@users.noreply.github.com> Date: Mon, 30 Sep 2024 20:21:39 +0000 Subject: [PATCH 10/10] [pre-commit.ci lite] apply automatic fixes --- tutorial/controlflow.po | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/tutorial/controlflow.po b/tutorial/controlflow.po index 2c32c266..fb1f7b91 100644 --- a/tutorial/controlflow.po +++ b/tutorial/controlflow.po @@ -2,7 +2,7 @@ # Copyright (C) 2001-2024, Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. -# +# #, fuzzy msgid "" msgstr "" @@ -430,10 +430,10 @@ msgid "" "guard is false, ``match`` goes on to try the next case block. Note that " "value capture happens before the guard is evaluated::" msgstr "" -"Μπορούμε να προσθέσουμε μια πρόταση ``if`` σε ένα μοτίβο, γνωστό ως \"guard" -"\". Εάν το guard είναι false, το ``match`` συνεχίζει για να δοκιμάσει το " -"επόμενο μπλοκ πεζών-κεφαλαίων. Λάβετε υπόψη ότι η σύλληψη της τιμής γίνεται " -"πριν ο guard αξιολογηθεί::" +"Μπορούμε να προσθέσουμε μια πρόταση ``if`` σε ένα μοτίβο, γνωστό ως " +"\"guard\". Εάν το guard είναι false, το ``match`` συνεχίζει για να " +"δοκιμάσει το επόμενο μπλοκ πεζών-κεφαλαίων. Λάβετε υπόψη ότι η σύλληψη της " +"τιμής γίνεται πριν ο guard αξιολογηθεί::" #: tutorial/controlflow.rst:383 msgid "Several other key features of this statement:" @@ -465,8 +465,8 @@ msgstr "" #: tutorial/controlflow.rst:394 msgid "" -"Mapping patterns: ``{\"bandwidth\": b, \"latency\": l}`` captures the ``" -"\"bandwidth\"`` and ``\"latency\"`` values from a dictionary. Unlike " +"Mapping patterns: ``{\"bandwidth\": b, \"latency\": l}`` captures the " +"``\"bandwidth\"`` and ``\"latency\"`` values from a dictionary. Unlike " "sequence patterns, extra keys are ignored. An unpacking like ``**rest`` is " "also supported. (But ``**_`` would be redundant, so it is not allowed.)" msgstr "" @@ -1225,11 +1225,11 @@ msgid "" "line *after* the first line of the string determines the amount of " "indentation for the entire documentation string. (We can't use the first " "line since it is generally adjacent to the string's opening quotes so its " -"indentation is not apparent in the string literal.) Whitespace \"equivalent" -"\" to this indentation is then stripped from the start of all lines of the " -"string. Lines that are indented less should not occur, but if they occur " -"all their leading whitespace should be stripped. Equivalence of whitespace " -"should be tested after expansion of tabs (to 8 spaces, normally)." +"indentation is not apparent in the string literal.) Whitespace " +"\"equivalent\" to this indentation is then stripped from the start of all " +"lines of the string. Lines that are indented less should not occur, but if " +"they occur all their leading whitespace should be stripped. Equivalence of " +"whitespace should be tested after expansion of tabs (to 8 spaces, normally)." msgstr "" "Ο parser της Python δεν αφαιρεί την εσοχή από τα literals της συμβολοσειράς " "πολλών γραμμών στην Python, επομένως τα εργαλεία που επεξεργάζονται την "