diff --git a/dictionaries/main.txt b/dictionaries/main.txt index 8c2dd5d7..4b242cf1 100644 --- a/dictionaries/main.txt +++ b/dictionaries/main.txt @@ -10,6 +10,7 @@ Android Apache Audio Avenue +Awaitable Awk B Bartelt @@ -76,6 +77,7 @@ Foundation Fraction Fred Fredrik +Frozen Garcia Gay General @@ -235,6 +237,7 @@ United Unix V Van +Von W Weather Windows @@ -270,6 +273,7 @@ append apple archives arg +argcount args argument argv @@ -285,7 +289,9 @@ asyncio at average await +awaitable b +back backport backslash backslashes @@ -294,6 +300,7 @@ backwards bacon base based +bases bash basket batch @@ -355,6 +362,8 @@ caseless cat catch ceil +cellvars +center cfg cfuhash chain @@ -364,13 +373,16 @@ chdir chomp chr class +classcell classname clear close closed clossure +closure cls cmath +co code codec codecs @@ -401,6 +413,7 @@ conjugate consistency constructor constructors +consts container containers containment @@ -447,6 +460,7 @@ defined deghi del delegation +delete delimiters demo deploy @@ -491,6 +505,7 @@ endian endianness enter entry +enum env eq error @@ -502,6 +517,7 @@ events exc except exceptions +excopcodes exe exec expat @@ -530,6 +546,8 @@ filter finder finders first +firstlineno +flag flags flatten float @@ -543,7 +561,9 @@ format formatted formatting frac +frame framework +freevars freeze freshfruit from @@ -564,10 +584,12 @@ generators generic generics get +getattr getcount getcwd getitem getter +gettime global globals go @@ -597,6 +619,7 @@ hints historic holder home +hook host hot i @@ -621,6 +644,7 @@ indexes indexing indirect inf +info informal inheritance init @@ -683,14 +707,17 @@ kind kiwi kqueue kwd +kwdefaults l lang last +lasti lazy le leading leap leaping +left len length leo @@ -703,7 +730,9 @@ like limit line linear +lineno liners +lines linking links linters @@ -714,6 +743,7 @@ lists literal literals little +lnotab loader loaders local @@ -740,6 +770,7 @@ mailbox mailing main make +makefile manager mangled mangling @@ -783,6 +814,7 @@ mutable my mydict myfile +mypy n nSecond name @@ -797,6 +829,7 @@ ne negative new next +nlocals no non not @@ -818,6 +851,8 @@ on one only op +opcode +opcodes open opener operations @@ -842,6 +877,7 @@ padding page pages pairs +params parrot parser parsing @@ -863,6 +899,7 @@ play point points pop +popen popleft population pos @@ -870,6 +907,7 @@ positional pow precision prefix +prepare pretty primary prime @@ -896,6 +934,7 @@ pyd python pythonrun quacks +qualname queue quoted quotes @@ -933,6 +972,7 @@ reverse reversed rgb rgba +rich rjust roll round @@ -944,6 +984,7 @@ s safe said salad +salted sausage scalar scanf @@ -982,7 +1023,10 @@ size sleep slept slice +slices slicing +slot +slots somedir sort sorted @@ -993,12 +1037,15 @@ spaces spam spamspam speed +splice split +splitlines spot sprintf sscanf stack stackless +stacksize stand standard start @@ -1013,6 +1060,7 @@ status stderr stdin stdout +step stop str stream @@ -1059,8 +1107,10 @@ tar target task tasks +tb temperature templating +term terminal terminator terminators @@ -1086,6 +1136,8 @@ token toolkits total trace +traceback +tracebacks tracker trick tricks @@ -1141,6 +1193,7 @@ values van var variable +varnames vars vec void @@ -1165,6 +1218,7 @@ workfile workload world wrap +wrapped wrapper wrappers write @@ -1191,13 +1245,16 @@ zlib Η Κινητής Μετα +Μετακλάσεις Μπορείτε Οδηγοί Περιβάλλοντας +Περιγραφέων Πρόσθεσα Πώς Σεμινάριο Υπάρχουν +Υπερ Υποδιαστολής ένα έφτασε @@ -1208,18 +1265,24 @@ zlib αλλαγές αλληλοαποκλείονται αλληλογραφίας +αναγνωσμένη αναδιατάξετε +αναδιατάσσει αναζητήσιμα αναζητήσιμο αναθέτη αναθέτης ανακατευθυνθεί +ανακατευθύνονται +ανακλώμενους αναπαράξετε αναπαραγώγιμη αναπαραστάσιμο +αναστημένο αναφορές αντ αντί +ανταλλάσετε αντικαθιστούμενη αντικατεστημένες αντικειμενοστρεφής @@ -1278,8 +1341,10 @@ zlib εξαδικού επέκτασης επίσης +επανάκληση επαναλήπτη επαναλήψιμους +επαναριθμείται επαναχρησιμοποιηθούν επανεισάγω επανεκκινήσετε @@ -1288,10 +1353,12 @@ zlib επικαλεί επικαλυπτόμενες επικαλυπτόμενων +επικαλώντας επιστρεφόμενος εσωκλειόμενη εσωκλειόμενων ευπάθειες +ευρετηριασμένα ευρετηριοποίηση ευρετηριοποίησης ευρετηριοποιηθούν @@ -1309,6 +1376,7 @@ zlib κανονικοποίηση κατάσταση κατέληγες +κατακερματιζόμενες κατακερματιστέες κατηργημένο κεφαλίδας @@ -1326,8 +1394,10 @@ zlib μετά μετα μεταβλητή +μεταβλητότητά μεταβλητών μεταδεδομένων +μετακλάσεις μετακλάσεων μετακλάση μετακλάσης @@ -1338,6 +1408,7 @@ zlib μονοεπεξεργαστικό μπορεί να +νεο ο οδηγίες οδηγό @@ -1361,6 +1432,7 @@ zlib παραμετροποιηθεί παραμετροποιηθούν παραμετροποιημένα +παραμετροποιημένες παραμετροποιημένη παραμετροποιημένο πεζογράμμιση @@ -1370,10 +1442,14 @@ zlib περιβάλλουσας περιγραφέα περιγραφέας +περιγραφέων +περιγραφείς περιηγείστε περικλειόμενο περικόβει +περιπλέκουμε περιτυλίγοντάς +περιτύλιγαν πλέον πληθικότητα πολλοί @@ -1383,6 +1459,7 @@ zlib προεγκατεστημένη προεπιλεγμένης προεπιλεγμένος +προεπιλεγμένου προεπισκόπηση προσήμου προσδιοριστές @@ -1420,7 +1497,9 @@ zlib σφαλμάτων τέλος τελεστέο +τελεστέοι τελεστέος +τελεστέου τελεστέους την της @@ -1432,8 +1511,10 @@ zlib τροποποιητές τροποποιητής τυλιχθούν +τυχαιοποίηση των υ +υπακούουν υπεραντικείμενο υπερισχύουσα υπερκλάσης @@ -1448,6 +1529,7 @@ zlib υποκατάλογος υποκαταλόγους υποκλάσεις +υποκλάσεων υποκλάση υποκλάσης υπομέρη @@ -1459,6 +1541,7 @@ zlib υποσυμβολοσειρά υποτετραγωνική υποτμημάτων +υποτύπος χειριζόμενες χρήσιμες χρήσιμοι diff --git a/reference/datamodel.po b/reference/datamodel.po index 95318f83..675a768b 100644 --- a/reference/datamodel.po +++ b/reference/datamodel.po @@ -8,22 +8,23 @@ msgid "" msgstr "" "Project-Id-Version: Python 3.12\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-02-17 21:03+0100\n" -"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" -"Last-Translator: FULL NAME \n" -"Language-Team: LANGUAGE \n" -"Language: \n" +"POT-Creation-Date: 2024-03-14 12:51+0000\n" +"PO-Revision-Date: 2025-04-28 20:11+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.6\n" #: reference/datamodel.rst:6 msgid "Data model" -msgstr "" +msgstr "Μοντέλο Δεδομένων" #: reference/datamodel.rst:12 msgid "Objects, values and types" -msgstr "" +msgstr "Αντικείμενα, τιμές και τύποι" #: reference/datamodel.rst:18 msgid "" @@ -32,6 +33,11 @@ msgid "" "sense, and in conformance to Von Neumann's model of a \"stored program " "computer\", code is also represented by objects.)" msgstr "" +"Το :dfn:`Objects` είναι μια αφαιρετική αναπαράσταση της Python για τα " +"δεδομένα. Όλα τα δεδομένα σε ένα Python πρόγραμμα αναπαριστώνται από " +"αντικείμενα ή από συσχετίσεις μεταξύ αντικειμένων. (Κατά μία έννοια, και " +"σύμφωνα με το μοντέλο του Von Neumann για έναν \"υπολογιστή αποθηκευμένου " +"προγράμματος\", ο κώδικας αντιπροσωπεύεται επίσης από αντικείμενα.)" #: reference/datamodel.rst:35 msgid "" @@ -41,10 +47,17 @@ msgid "" "objects; the :func:`id` function returns an integer representing its " "identity." msgstr "" +"Κάθε αντικείμενο έχει μια ταυτότητα, έναν τύπο και μια τιμή. Η *ταυτότητα* " +"ενός αντικειμένου δεν αλλάζει ποτέ αφού δημιουργηθεί∙ μπορείτε να το " +"σκεφτείτε ως τη διεύθυνση του αντικειμένου στη μνήμη. Ο τελεστής :keyword:" +"`is` συγκρίνει την ταυτότητα δύο αντικειμένων∙ η συνάρτηση :func:`id` " +"επιστρέφει έναν ακέραιο αριθμό που αντιπροσωπεύει την ταυτότητά του." #: reference/datamodel.rst:42 msgid "For CPython, ``id(x)`` is the memory address where ``x`` is stored." msgstr "" +"Για την CPython, το ``id(x)`` είναι η διεύθυνση μνήμης όπου είναι " +"αποθηκευμένο το ``x``." #: reference/datamodel.rst:44 msgid "" @@ -54,6 +67,11 @@ msgid "" "an object itself). Like its identity, an object's :dfn:`type` is also " "unchangeable. [#]_" msgstr "" +"Ο τύπος ενός αντικειμένου καθορίζει τις λειτουργίες που υποστηρίζει το " +"αντικείμενο (π.χ., \"έχει μήκος;\") και ορίζει επίσης τις πιθανές τιμές για " +"αντικείμενα αυτού του τύπου. Η συνάρτηση :func:`type` επιστρέφει τον τύπο " +"ενός αντικειμένου (που είναι το ίδιο το αντικείμενο). Όπως και η ταυτότητά, " +"το :dfn:`type` ενός αντικειμένου είναι επίσης αμετάβλητο. [#]_" #: reference/datamodel.rst:50 msgid "" @@ -68,6 +86,17 @@ msgid "" "instance, numbers, strings and tuples are immutable, while dictionaries and " "lists are mutable." msgstr "" +"Η *τιμή* ορισμένων αντικειμένων μπορεί να αλλάξει. Τα αντικείμενα των " +"οποίων η τιμή μπορεί να αλλάξει λέγονται *μεταβλητά*∙ τα αντικείμενα των " +"οποίων η τιμή είναι αμετάβλητη μόλις δημιουργηθούν ονομάζονται *αμετάβλητα*. " +"(Η τιμή ενός αμετάβλητου container αντικειμένου που περιέχει μια αναφορά σε " +"ένα μεταβλητό αντικείμενο μπορεί να αλλάξει όταν αλλάξει η τιμή του " +"τελευταίου. Ωστόσο, το container δεν μπορεί να θεωρείται ακόμα αμετάβλητο, " +"επειδή η συλλογή δεν μπορεί να αλλάξει. Έτσι, η αμετάβλητη δεν είναι " +"αυστηρά ίδια με την αμετάβλητη τιμή, είναι πιο λεπτή.) Η μεταβλητότητα ενός " +"αντικειμένου καθορίζεται από τον τύπο του∙ για παράδειγμα οι αριθμοί, οι " +"συμβολοσειρές και οι πλειάδες είναι αμετάβλητα, ενώ τα λεξικά και οι λίστες " +"είναι μεταβλητά." #: reference/datamodel.rst:65 msgid "" @@ -77,6 +106,11 @@ msgid "" "implementation quality how garbage collection is implemented, as long as no " "objects are collected that are still reachable." msgstr "" +"Τα αντικείμενα δεν καταστρέφονται ποτέ ρητά∙ ωστόσο, όταν γίνονται απρόσιτα " +"μπορεί να συλλεχθούν ως σκουπίδια. Μια υλοποίηση επιτρέπεται να αναβάλει τη " +"συλλογή σκουπιδιών ή να την παραλείψει εντελώς --- είναι θέμα ποιότητας " +"υλοποίησης πώς θα υλοποιηθεί η συλλογή απορριμμάτων, εφόσον δεν συλλέγονται " +"αντικείμενα που είναι ακόμα προσβάσιμα." #: reference/datamodel.rst:73 msgid "" @@ -89,6 +123,15 @@ msgid "" "on immediate finalization of objects when they become unreachable (so you " "should always close files explicitly)." msgstr "" +"Η CPython χρησιμοποιεί επί του παρόντος ένα σχήμα μέτρησης αναφορών με " +"(προαιρετικό) καθυστερημένο εντοπισμό κυκλικά συνδεδεμένων σκουπιδιών, το " +"οποίο συλλέγει τα περισσότερα αντικείμενα μόλις γίνουν απρόσιτα, αλλά δεν " +"είναι εγγυημένο ότι συλλέγει σκουπίδια που κάνουν κυκλικές αναφορές. Δείτε " +"την τεκμηρίωση του module :mod:`gc` για πληροφορίες σχετικά με τον έλεγχο " +"της συλλογής κυκλικών σκουπιδιών. Άλλες υλοποιήσεις ενεργούν διαφορετικά και " +"η CPython μπορεί να αλλάξει. Μην εξαρτάστε από την άμεση οριστικοποίηση των " +"αντικειμένων όταν γίνονται απρόσιτα (έτσι θα πρέπει πάντα να κλείνετε ρητά " +"τα αρχεία)." #: reference/datamodel.rst:82 msgid "" @@ -97,6 +140,11 @@ msgid "" "catching an exception with a :keyword:`try`...\\ :keyword:`except` statement " "may keep objects alive." msgstr "" +"Λάβετε υπόψη ότι η χρήση των υπηρεσιών ανίχνευσης ή εντοπισμού σφαλμάτων της " +"υλοποίησης μπορεί να διατηρήσει ζωντανά αντικείμενα που κανονικά θα " +"μπορούσαν να συλλεχθούν. Επίσης σημειώστε ότι η σύλληψη μιας εξαίρεσης με " +"μια δήλωση :keyword:`try`...\\ :keyword:`except`, μπορεί να κρατήσει ζωντανά " +"αντικείμενα." #: reference/datamodel.rst:87 msgid "" @@ -109,6 +157,14 @@ msgid "" "`finally` statement and the :keyword:`with` statement provide convenient " "ways to do this." msgstr "" +"Ορισμένα αντικείμενα περιέχουν αναφορές σε \"εξωτερικούς\" πόρους, όπως " +"ανοιχτά αρχεία ή παράθυρα. Είναι κατανοητό ότι αυτοί οι πόροι " +"ελευθερώνονται όταν το αντικείμενο συλλέγεται από σκουπίδια, αλλά επειδή η " +"συλλογή απορριμμάτων δεν είναι εγγυημένη, τέτοια αντικείμενα παρέχουν επίσης " +"έναν σαφή τρόπο απελευθέρωσης του εξωτερικού πόρου, συνήθως μια μέθοδο :meth:" +"`!close`. Συνιστώνται προγράμματα για τη ρητό κλείσιμο τέτοιων " +"αντικειμένων. Η δήλωση :keyword:`try`...\\ :keyword:`finally` και η δήλωση :" +"keyword:`with` παρέχουν βολικούς τρόπους για να το κάνετε αυτό." #: reference/datamodel.rst:97 msgid "" @@ -121,6 +177,15 @@ msgid "" "implied. So, if an immutable container (like a tuple) contains a reference " "to a mutable object, its value changes if that mutable object is changed." msgstr "" +"Μερικά αντικείμενα περιέχουν αναφορές σε άλλα αντικείμενα· αυτά ονομάζονται " +"*containers*. Παραδείγματα containers είναι πλειάδες, λίστες και λεξικά. Οι " +"αναφορές αποτελούν μέρος της τιμής ενός container. Στις περισσότερες " +"περιπτώσεις, όταν μιλάμε για την αξία ενός container, υπονοούμε τις τιμές, " +"όχι τις ταυτότητες των αντικειμένων που περιέχονται. Ωστόσο, όταν μιλάμε για " +"τη μεταβλητότητα ενός δοχείου υπονοούνται μόνο οι ταυτότητες των αμέσως " +"περιεχομένων αντικειμένων. Έτσι, εάν ένα αμετάβλητο container (όπως μια " +"πλειάδα) περιέχει μια αναφορά σε ένα μεταβλητό αντικείμενο, η τιμή του " +"αλλάζει εάν αυτό το μεταβλητό αντικείμενο αλλάξει." #: reference/datamodel.rst:106 msgid "" @@ -128,22 +193,29 @@ msgid "" "object identity is affected in some sense: for immutable types, operations " "that compute new values may actually return a reference to any existing " "object with the same type and value, while for mutable objects this is not " -"allowed. For example, after ``a = 1; b = 1``, *a* and *b* may or may not " -"refer to the same object with the value one, depending on the " -"implementation. This is because :class:`int` is an immutable type, so the " -"reference to ``1`` can be reused. This behaviour depends on the " -"implementation used, so should not be relied upon, but is something to be " -"aware of when making use of object identity tests. However, after ``c = []; " -"d = []``, *c* and *d* are guaranteed to refer to two different, unique, " -"newly created empty lists. (Note that ``e = f = []`` assigns the *same* " -"object to both *e* and *f*.)" -msgstr "" - -#: reference/datamodel.rst:124 +"allowed. E.g., after ``a = 1; b = 1``, ``a`` and ``b`` may or may not refer " +"to the same object with the value one, depending on the implementation, but " +"after ``c = []; d = []``, ``c`` and ``d`` are guaranteed to refer to two " +"different, unique, newly created empty lists. (Note that ``c = d = []`` " +"assigns the same object to both ``c`` and ``d``.)" +msgstr "" +"Οι τύποι επηρεάζουν σχεδόν όλες τις πτυχές της συμπεριφοράς των " +"αντικειμένων. Ακόμη και η σημασία της ταυτότητας αντικειμένου επηρεάζεται " +"κατά κάποιο τρόπο: για αμετάβλητους τύπους, οι πράξεις που υπολογίζουν νέες " +"τιμές μπορούν στην πραγματικότητα να επιστρέψουν μια αναφορά σε οποιοδήποτε " +"υπάρχον αντικείμενο με τον ίδιο τύπο και τιμή, ενώ για μεταβλητά αντικείμενα " +"αυτό δεν επιτρέπεται. Π.χ., μετά από ``a = 1; b = 1``, τα ``a`` και ``b`` " +"μπορεί να αναφέρονται ή να μην αναφέρονται στο ίδιο αντικείμενο με την τιμή " +"ένα, ανάλογα με την υλοποίηση, αλλά μετά από ``c = []; d = []``, τα ``c`` " +"και ``d`` είναι εγγυημένα ότι αναφέρονται σε διαφορετικές, μοναδικές, " +"πρόσφατα δημιουργημένες κενές λίστες. (Σημειώστε ότι το ``c = d = []`` " +"εκχωρεί το ίδιο αντικείμενο και στο ``c`` και στο ``d``.)" + +#: reference/datamodel.rst:120 msgid "The standard type hierarchy" -msgstr "" +msgstr "Η τυπική ιεραρχία τύπου" -#: reference/datamodel.rst:133 +#: reference/datamodel.rst:129 msgid "" "Below is a list of the types that are built into Python. Extension modules " "(written in C, Java, or other languages, depending on the implementation) " @@ -152,32 +224,47 @@ msgid "" "integers, etc.), although such additions will often be provided via the " "standard library instead." msgstr "" +"Ακολουθεί μια λίστα με τους τύπους που είναι ενσωματωμένοι στην Python. Τα " +"modules επέκτασης (γραμμένες σε C, Java, ή άλλες γλώσσες, ανάλογα με την " +"υλοποίηση) μπορούν να ορίσουν πρόσθετους τύπους. Οι μελλοντικές εκδόσεις της " +"Python ενδέχεται να προσθέσουν τύπους στην ιεραρχία τύπων (π.χ. ορθολογικοί " +"αριθμοί, αποτελεσματικά αποθηκευμένοι πίνακες ακεραίων κ.λπ.), ν και αντ' " +"αυτού παρέχονται τυπικές βιβλιοθήκες." -#: reference/datamodel.rst:144 +#: reference/datamodel.rst:140 msgid "" "Some of the type descriptions below contain a paragraph listing 'special " "attributes.' These are attributes that provide access to the implementation " "and are not intended for general use. Their definition may change in the " "future." msgstr "" +"Ορισμένες από τις παρακάτω περιγραφές τύπων περιέχουν μια παράγραφο με " +"'ειδικά χαρακτηριστικά.' Αυτά είναι χαρακτηριστικά που παρέχουν πρόσβαση " +"στην υλοποίηση και δεν προορίζονται για γενική χρήση ο ορισμός τους μπορεί " +"να αλλάξει στο μέλλον." -#: reference/datamodel.rst:152 +#: reference/datamodel.rst:148 msgid "None" -msgstr "" +msgstr "None" -#: reference/datamodel.rst:154 +#: reference/datamodel.rst:150 msgid "" "This type has a single value. There is a single object with this value. " "This object is accessed through the built-in name ``None``. It is used to " "signify the absence of a value in many situations, e.g., it is returned from " "functions that don't explicitly return anything. Its truth value is false." msgstr "" +"Αυτό ο τύπος έχει μια ενιαία τιμή. Υπάρχει ένα μεμονωμένο αντικείμενο με " +"αυτήν την τιμή. Η πρόσβαση σε αυτό το αντικείμενο γίνεται μέσω του " +"ενσωματωμένου ονόματος ``None``. Χρησιμοποιείται για να υποδηλώσει την " +"απουσία τιμής σε πολλές περιπτώσεις, π.χ. επιστρέφεται από συναρτήσεις που " +"δεν επιστρέφουν ρητά τίποτα. Η τιμή αλήθειας του είναι ψευδής." -#: reference/datamodel.rst:163 +#: reference/datamodel.rst:159 msgid "NotImplemented" -msgstr "" +msgstr "NotImplemented" -#: reference/datamodel.rst:165 +#: reference/datamodel.rst:161 msgid "" "This type has a single value. There is a single object with this value. " "This object is accessed through the built-in name :data:`NotImplemented`. " @@ -186,34 +273,51 @@ msgid "" "will then try the reflected operation, or some other fallback, depending on " "the operator.) It should not be evaluated in a boolean context." msgstr "" +"Αυτός ο τύπος έχει μια ενιαία τιμή. Υπάρχει ένα μεμονωμένο αντικείμενο με " +"αυτήν την τιμή. Η πρόσβαση σε αυτό το αντικείμενο γίνεται μέσω του " +"ενσωματωμένου ονόματος :data:`NotImplemented`. Οι αριθμητικές μέθοδοι και οι " +"μέθοδοι εμπλουτισμένης σύγκρισης θα πρέπει να επιστρέφουν αυτήν την τιμή εάν " +"δεν εφαρμόζουν τη λειτουργία για τους τελεστές που παρέχονται. (Ο " +"διερμηνέας θα δοκιμάσει την ανακλώμενη λειτουργία ή κάποια άλλη εναλλακτική, " +"ανάλογα με τον τελεστή.) Δεν πρέπει να αξιολογείται σε ένα boolean πλαίσιο." -#: reference/datamodel.rst:172 +#: reference/datamodel.rst:168 msgid "See :ref:`implementing-the-arithmetic-operations` for more details." msgstr "" +"Δείτε το :ref:`implementing-the-arithmetic-operations` για περισσότερες " +"λεπτομέρειες." -#: reference/datamodel.rst:176 +#: reference/datamodel.rst:172 msgid "" "Evaluating :data:`NotImplemented` in a boolean context is deprecated. While " "it currently evaluates as true, it will emit a :exc:`DeprecationWarning`. It " "will raise a :exc:`TypeError` in a future version of Python." msgstr "" +"Η αξιολόγηση του :data:`NotImplemented` σε ένα boolean πλαίσιο έχει " +"καταργηθεί. Ενώ αυτή τη στιγμή αξιολογείται ως αληθές, θα κάνει raise ένα :" +"exc:`DeprecationWarning`. Ενώ αυτή τη στιγμή αξιολογείται ως αληθές, θα " +"κάνει ένα :exc:`TypeError` σε μια μελλοντική έκδοση της Python." -#: reference/datamodel.rst:184 +#: reference/datamodel.rst:180 msgid "Ellipsis" -msgstr "" +msgstr "Ellipsis" -#: reference/datamodel.rst:188 +#: reference/datamodel.rst:184 msgid "" "This type has a single value. There is a single object with this value. " "This object is accessed through the literal ``...`` or the built-in name " "``Ellipsis``. Its truth value is true." msgstr "" +"Αυτός ο τύπος έχει μια ενιαία τιμή. Υπάρχει ένα μεμονωμένο αντικείμενο με " +"αυτή την τιμή. Η πρόσβαση σε αυτό το αντικείμενο γίνεται μέσω του literal " +"``...`` ή του ενσωματωμένου ονόματος ``Ellipsis``. Η τιμή αλήθειας του " +"είναι αληθής." -#: reference/datamodel.rst:194 +#: reference/datamodel.rst:190 msgid ":class:`numbers.Number`" -msgstr "" +msgstr ":class:`numbers.Number`" -#: reference/datamodel.rst:198 +#: reference/datamodel.rst:194 msgid "" "These are created by numeric literals and returned as results by arithmetic " "operators and arithmetic built-in functions. Numeric objects are immutable; " @@ -221,72 +325,95 @@ msgid "" "strongly related to mathematical numbers, but subject to the limitations of " "numerical representation in computers." msgstr "" +"Αυτά δημιουργούνται από αριθμητικά literals και επιστρέφονται ως " +"αποτελέσματα από αριθμητικούς τελεστές και αριθμητικές ενσωματωμένες " +"συναρτήσεις. Τα αριθμητικά αντικείμενα είναι αμετάβλητα∙ μόλις " +"δημιουργηθούν, η τιμή τους δεν αλλάζει ποτέ. Οι αριθμοί Python φυσικά " +"σχετίζονται στενά με τους μαθηματικούς αριθμούς, αλλά υπόκεινται στους " +"περιορισμούς της αριθμητικής αναπαράστασης στους υπολογιστές." -#: reference/datamodel.rst:204 +#: reference/datamodel.rst:200 msgid "" "The string representations of the numeric classes, computed by :meth:" "`~object.__repr__` and :meth:`~object.__str__`, have the following " "properties:" msgstr "" +"Οι αναπαραστάσεις συμβολοσειρών των αριθμητικών κλάσεων, που υπολογίζονται " +"από την :meth:`~object.__repr__` και από τη :meth:`~object.__str__`, έχουν " +"τις ακόλουθες ιδιότητες:" -#: reference/datamodel.rst:208 +#: reference/datamodel.rst:204 msgid "" "They are valid numeric literals which, when passed to their class " "constructor, produce an object having the value of the original numeric." msgstr "" +"Είναι έγκυρα αριθμητικά γράμματα τα οποία, όταν περάσουν στον κατασκευαστή " +"της κλάσης τους, παράγουν ένα αντικείμενο που έχει την τιμή του αρχικού " +"αριθμητικού." -#: reference/datamodel.rst:212 +#: reference/datamodel.rst:208 msgid "The representation is in base 10, when possible." -msgstr "" +msgstr "Η αναπαράσταση είναι στη βάση του 10, όταν αυτό είναι εφικτό." -#: reference/datamodel.rst:214 +#: reference/datamodel.rst:210 msgid "" "Leading zeros, possibly excepting a single zero before a decimal point, are " "not shown." msgstr "" +"Τα προηγούμενα μηδενικά, ενδεχομένως με εξαίρεση ένα μόνο μηδέν πριν από μια " +"υποδιαστολή, δεν εμφανίζονται." -#: reference/datamodel.rst:217 +#: reference/datamodel.rst:213 msgid "" "Trailing zeros, possibly excepting a single zero after a decimal point, are " "not shown." msgstr "" +"Τα μηδενικά που ακολουθούν, ενδεχομένως με εξαίρεση ένα μεμονωμένο μηδέν " +"μετά από μια υποδιαστολή, δεν εμφανίζονται." -#: reference/datamodel.rst:220 +#: reference/datamodel.rst:216 msgid "A sign is shown only when the number is negative." -msgstr "" +msgstr "Ένα πρόσημο εμφανίζεται μόνο όταν ο αριθμός είναι αρνητικός." -#: reference/datamodel.rst:222 +#: reference/datamodel.rst:218 msgid "" -"Python distinguishes between integers, floating-point numbers, and complex " +"Python distinguishes between integers, floating point numbers, and complex " "numbers:" msgstr "" +"Η Python κάνει διάκριση μεταξύ ακεραίων, αριθμών κινητής υποδιαστολής και " +"μιγαδικών αριθμών:" -#: reference/datamodel.rst:227 +#: reference/datamodel.rst:223 msgid ":class:`numbers.Integral`" -msgstr "" +msgstr ":class:`numbers.Integral`" -#: reference/datamodel.rst:231 +#: reference/datamodel.rst:227 msgid "" "These represent elements from the mathematical set of integers (positive and " "negative)." msgstr "" +"Αυτά αντιπροσωπεύουν στοιχεία από το μαθηματικό σύνολο ακεραίων (θετικών και " +"αρνητικών)." -#: reference/datamodel.rst:237 +#: reference/datamodel.rst:233 msgid "" "The rules for integer representation are intended to give the most " "meaningful interpretation of shift and mask operations involving negative " "integers." msgstr "" +"Οι κανόνες για την αναπαράσταση ακεραίων έχουν σκοπό να δώσουν την πιο " +"ουσιαστική ερμηνεία των πράξεων μετατόπισης και κάλυψης που περιλαμβάνουν " +"αρνητικούς ακέραιους αριθμούς." -#: reference/datamodel.rst:240 +#: reference/datamodel.rst:236 msgid "There are two types of integers:" -msgstr "" +msgstr "Υπάρχουν δύο τύποι ακεραίων:" -#: reference/datamodel.rst:242 +#: reference/datamodel.rst:243 msgid "Integers (:class:`int`)" -msgstr "" +msgstr "Ακέραιοι (:class:`int`)" -#: reference/datamodel.rst:243 +#: reference/datamodel.rst:239 msgid "" "These represent numbers in an unlimited range, subject to available " "(virtual) memory only. For the purpose of shift and mask operations, a " @@ -294,12 +421,18 @@ msgid "" "variant of 2's complement which gives the illusion of an infinite string of " "sign bits extending to the left." msgstr "" +"Αυτές αντιπροσωπεύουν αριθμούς σε απεριόριστο εύρος, υπόκεινται μόνο στη " +"διαθέσιμη (εικονική) μνήμη. Για τους σκοπούς των λειτουργιών μετατόπισης " +"και κάλυψης, θεωρείται μια δυαδική αναπαράσταση και οι αρνητικοί αριθμοί " +"αντιπροσωπεύονται σε μια παραλλαγή του συμπληρώματος του 2 που δίνει την " +"ψευδαίσθηση μιας άπειρης συμβολοσειράς bits από bits προσήμου που " +"εκτείνονται προς τα αριστερά." -#: reference/datamodel.rst:249 +#: reference/datamodel.rst:256 msgid "Booleans (:class:`bool`)" -msgstr "" +msgstr "Booleans (:class:`bool`)" -#: reference/datamodel.rst:255 +#: reference/datamodel.rst:251 msgid "" "These represent the truth values False and True. The two objects " "representing the values ``False`` and ``True`` are the only Boolean objects. " @@ -308,89 +441,125 @@ msgid "" "being that when converted to a string, the strings ``\"False\"`` or " "``\"True\"`` are returned, respectively." msgstr "" +"Αυτά αντιπροσωπεύουν τις τιμές αλήθειας False και True. Τα δύο αντικείμενα " +"που αντιπροσωπεύουν τις τιμές ``False`` και ``True`` είναι τα μόνα Boolean " +"αντικείμενα. Ο Boolean τύπος είναι ένας υποτύπος του ακεραίου τύπου και οι " +"Boolean τιμές συμπεριφέρονται όπως οι τιμές 0 και 1, αντίστοιχα, σχεδόν σε " +"όλα τα περιβάλλοντα, οι εξαιρέσεις που μετατρέπονται σε string είναι " +"``\"False\"`` ή ``\"True\"`` επιστρέφονται, αντίστοιχα." -#: reference/datamodel.rst:263 +#: reference/datamodel.rst:259 msgid ":class:`numbers.Real` (:class:`float`)" -msgstr "" +msgstr ":class:`numbers.Real` (:class:`float`)" -#: reference/datamodel.rst:271 +#: reference/datamodel.rst:267 msgid "" -"These represent machine-level double precision floating-point numbers. You " +"These represent machine-level double precision floating point numbers. You " "are at the mercy of the underlying machine architecture (and C or Java " "implementation) for the accepted range and handling of overflow. Python does " -"not support single-precision floating-point numbers; the savings in " +"not support single-precision floating point numbers; the savings in " "processor and memory usage that are usually the reason for using these are " "dwarfed by the overhead of using objects in Python, so there is no reason to " -"complicate the language with two kinds of floating-point numbers." -msgstr "" - -#: reference/datamodel.rst:281 +"complicate the language with two kinds of floating point numbers." +msgstr "" +"Αυτοί αντιπροσωπεύουν αριθμούς κινητής υποδιαστολής διπλής ακρίβειας σε " +"επίπεδο μηχανής. Βρίσκεστε σε έλεος της υποκείμενης αρχιτεκτονικής μηχανής " +"(και της εφαρμογής C ή Java) για το αποδεκτό εύρος και τον χειρισμό " +"υπερχείλισης. Η Python δεν υποστηρίζει αριθμούς κινητής υποδιαστολής απλής " +"ακρίβειας∙ η εξοικονόμηση στη χρήση επεξεργαστή και μνήμης που συνήθως είναι " +"συνήθως ο λόγος για τη χρήση τους μειώνεται από την επιβάρυνση της χρήσης " +"αντικειμένων στην Python, επομένως δεν υπάρχει λόγος να περιπλέκουμε τη " +"γλώσσα με δύο είδη αριθμών κινητής υποδιαστολής." + +#: reference/datamodel.rst:277 msgid ":class:`numbers.Complex` (:class:`complex`)" -msgstr "" +msgstr ":class:`numbers.Complex` (:class:`complex`)" -#: reference/datamodel.rst:287 +#: reference/datamodel.rst:283 msgid "" "These represent complex numbers as a pair of machine-level double precision " -"floating-point numbers. The same caveats apply as for floating-point " +"floating point numbers. The same caveats apply as for floating point " "numbers. The real and imaginary parts of a complex number ``z`` can be " "retrieved through the read-only attributes ``z.real`` and ``z.imag``." msgstr "" +"Αυτοί αντιπροσωπεύουν μιγαδικούς αριθμούς ως ζεύγος αριθμών κινητής " +"υποδιαστολής διπλής ακρίβειας σε επίπεδο μηχανής. Ισχύουν οι ίδιες " +"προειδοποιήσεις όπως και για τους αριθμούς κινητής υποδιαστολής. Τα " +"πραγματικά και τα φανταστικά μέρη ενός μιγαδικού αριθμού ``z`` μπορούν να " +"ανακτηθούν μέσω των χαρακτηριστικών ``z.real`` και ``z.imag`` μόνο για " +"ανάγνωση." -#: reference/datamodel.rst:294 +#: reference/datamodel.rst:290 msgid "Sequences" -msgstr "" +msgstr "Ακολουθίες" -#: reference/datamodel.rst:303 +#: reference/datamodel.rst:299 msgid "" "These represent finite ordered sets indexed by non-negative numbers. The " "built-in function :func:`len` returns the number of items of a sequence. " "When the length of a sequence is *n*, the index set contains the numbers 0, " -"1, ..., *n*-1. Item *i* of sequence *a* is selected by ``a[i]``. Some " -"sequences, including built-in sequences, interpret negative subscripts by " -"adding the sequence length. For example, ``a[-2]`` equals ``a[n-2]``, the " -"second to last item of sequence a with length ``n``." +"1, ..., *n*-1. Item *i* of sequence *a* is selected by ``a[i]``." msgstr "" +"Αυτά αντιπροσωπεύουν πεπερασμένα διατεταγμένα σύνολα ευρετηριασμένα με μη " +"αρνητικούς αριθμούς. Η ενσωματωμένη συνάρτηση :func:`len` επιστρέφει τον " +"αριθμός των στοιχείων μιας ακολουθίας. Όταν το μήκος μια ακολουθίας είναι " +"*n*, το σύνολο δεικτών περιέχει τους αριθμούς 0, 1, ..., *n*-1. Το στοιχείο " +"*i* της ακολουθίας *a* επιλέγεται από το ``a[i]``." -#: reference/datamodel.rst:313 +#: reference/datamodel.rst:306 msgid "" "Sequences also support slicing: ``a[i:j]`` selects all items with index *k* " "such that *i* ``<=`` *k* ``<`` *j*. When used as an expression, a slice is " -"a sequence of the same type. The comment above about negative indexes also " -"applies to negative slice positions." +"a sequence of the same type. This implies that the index set is renumbered " +"so that it starts at 0." msgstr "" +"Οι ακολουθίες υποστηρίζουν επίσης την τμηματοποίηση: το ``a[i:j]`` επιλέγει " +"όλα τα στοιχεία με ευρετήριο *k* έτσι ώστε *i* ``<=`` *k* ``<`` *j*. Όταν " +"χρησιμοποιείται ως έκφραση, ένα τμήμα είναι μια ακολουθία του ίδιου τύπου. " +"Αυτό σημαίνει ότι το σύνολο ευρετηρίου επαναριθμείται έτσι ώστε να ξεκινά " +"στο 0." -#: reference/datamodel.rst:318 +#: reference/datamodel.rst:311 msgid "" "Some sequences also support \"extended slicing\" with a third \"step\" " "parameter: ``a[i:j:k]`` selects all items of *a* with index *x* where ``x = " "i + n*k``, *n* ``>=`` ``0`` and *i* ``<=`` *x* ``<`` *j*." msgstr "" +"Ορισμένες ακολουθίες υποστηρίζουν επίσης την \"εκτεταμένη τμηματοποίηση\" με " +"μια τρίτη παράμετρο \"βήμα\": το ``a[i:j:k]`` επιλέγει όλα τα στοιχεία του " +"*a* με ευρετήριο *x* όπου ``x = i + n*k``, *n* ``>=`` ``0`` και *i* ``<=`` " +"*x* ``<`` *j*." -#: reference/datamodel.rst:322 +#: reference/datamodel.rst:315 msgid "Sequences are distinguished according to their mutability:" -msgstr "" +msgstr "Οι ακολουθίες διακρίνονται ανάλογα με τη μεταβλητότητά τους:" -#: reference/datamodel.rst:326 +#: reference/datamodel.rst:319 msgid "Immutable sequences" -msgstr "" +msgstr "Αμετάβλητες ακολουθίες" -#: reference/datamodel.rst:332 +#: reference/datamodel.rst:325 msgid "" "An object of an immutable sequence type cannot change once it is created. " "(If the object contains references to other objects, these other objects may " "be mutable and may be changed; however, the collection of objects directly " "referenced by an immutable object cannot change.)" msgstr "" +"Ένα αντικείμενο ενός τύπου αμετάβλητης ακολουθίας δεν μπορεί να αλλάξει " +"μόλις δημιουργηθεί. (Εάν το αντικείμενο περιέχει αναφορές σε άλλα " +"αντικείμενα, αυτά τα άλλα αντικείμενα μπορεί να είναι μεταβλητά και μπορεί " +"να αλλάξουν∙ ωστόσο, η συλλογή αντικειμένων που αναφέρονται απευθείας από " +"ένα αμετάβλητο αντικείμενο δεν μπορεί να αλλάξει.)" -#: reference/datamodel.rst:337 +#: reference/datamodel.rst:330 msgid "The following types are immutable sequences:" -msgstr "" +msgstr "Οι ακόλουθοι τύποι είναι αμετάβλητες ακολουθίες:" -#: reference/datamodel.rst:342 +#: reference/datamodel.rst:353 msgid "Strings" -msgstr "" +msgstr "Συμβολοσειρές" -#: reference/datamodel.rst:350 +#: reference/datamodel.rst:343 msgid "" "A string is a sequence of values that represent Unicode code points. All the " "code points in the range ``U+0000 - U+10FFFF`` can be represented in a " @@ -403,12 +572,24 @@ msgid "" "`bytes` using the given text encoding, and :meth:`bytes.decode` can be used " "to achieve the opposite." msgstr "" - -#: reference/datamodel.rst:362 +"Μια συμβολοσειρά είναι μια ακολουθία τιμών που αντιπροσωπεύουν σημεία κώδικα " +"Unicode. Όλα τα σημεία κώδικα στο εύρος ``U+0000 - U+10FFFF`` μπορούν να " +"αναπαρασταθούν σε μια συμβολοσειρά. Η Python δεν έχει τύπο :c:expr:`char` ∙ " +"αντίθετα, κάθε σημείο κώδικα στη συμβολοσειρά αντιπροσωπεύεται ως " +"αντικείμενο συμβολοσειράς με μήκος ``1``. Η ενσωματωμένη συνάρτηση :func:" +"`ord` μετατρέπει ένα σημείο κώδικα από τη μορφή συμβολοσειράς του σε έναν " +"ακέραιο στο εύρος ``0 - 10FFFF`` ∙ η :func:`chr` μετατρέπει έναν ακέραιο στο " +"εύρος ``0 - 10FFFF`` στο αντικείμενο συμβολοσειράς αντίστοιχου μήκους ``1``. " +"Η :meth:`str.encode` μπορεί να χρησιμοποιηθεί για τη μετατροπή μιας :class:" +"`str` σε :class:`bytes` χρησιμοποιώντας τη δεδομένη κωδικοποίηση κειμένου " +"και η :meth:`bytes.decode` μπορεί να χρησιμοποιηθεί για να επιτευχθεί το " +"αντίθετο." + +#: reference/datamodel.rst:366 msgid "Tuples" -msgstr "" +msgstr "Πλειάδες (Tuples)" -#: reference/datamodel.rst:368 +#: reference/datamodel.rst:361 msgid "" "The items of a tuple are arbitrary Python objects. Tuples of two or more " "items are formed by comma-separated lists of expressions. A tuple of one " @@ -417,69 +598,96 @@ msgid "" "usable for grouping of expressions). An empty tuple can be formed by an " "empty pair of parentheses." msgstr "" +"Τα στοιχεία της πλειάδας είναι αυθαίρετα αντικείμενα Python. Οι πλειάδες δύο " +"ή περισσότερων αντικειμένων σχηματίζονται από λίστες εκφράσεων διαχωρισμένων " +"με κόμμα. Μια πλειάδα ενός στοιχείο (ενός «singleton») μπορεί να " +"σχηματιστεί με την τοποθέτηση ενός κόμματος σε μια έκφραση (μια έκφραση από " +"μόνη της δεν δημιουργεί πλειάδα, αφού οι παρενθέσεις μπορούν να " +"χρησιμοποιηθούν για ομαδοποίηση εκφράσεων). Μια κενή πλειάδα μπορεί να " +"σχηματιστεί από ένα κενό ζευγάρι παρενθέσεων." -#: reference/datamodel.rst:375 +#: reference/datamodel.rst:376 msgid "Bytes" -msgstr "" +msgstr "Bytes" -#: reference/datamodel.rst:378 +#: reference/datamodel.rst:371 msgid "" "A bytes object is an immutable array. The items are 8-bit bytes, " "represented by integers in the range 0 <= x < 256. Bytes literals (like " -"``b'abc'``) and the built-in :func:`bytes` constructor can be used to create " -"bytes objects. Also, bytes objects can be decoded to strings via the :meth:" -"`~bytes.decode` method." -msgstr "" - -#: reference/datamodel.rst:386 +"``b'abc'``) and the built-in :func:`bytes()` constructor can be used to " +"create bytes objects. Also, bytes objects can be decoded to strings via " +"the :meth:`~bytes.decode` method." +msgstr "" +"Ένα αντικείμενο bytes είναι ένας αμετάβλητος πίνακας. Τα στοιχεία είναι " +"bytes των 8-bit, που αντιπροσωπεύονται από ακέραιους αριθμούς στο εύρος 0 <= " +"x < 256. Τα bytes literals (όπως ``b'abc'``) και ο ενσωματωμένος " +"κατασκευαστής :func:`bytes()` μπορεί να χρησιμοποιηθεί για τη δημιουργία " +"αντικειμένων bytes. Επίσης, τα αντικείμενα bytes μπορούν να " +"αποκωδικοποιηθούν σε συμβολοσειρές μέσω της μεθόδου :meth:`~bytes.decode`." + +#: reference/datamodel.rst:379 msgid "Mutable sequences" -msgstr "" +msgstr "Μεταβλητές ακολουθίες" -#: reference/datamodel.rst:395 +#: reference/datamodel.rst:388 msgid "" "Mutable sequences can be changed after they are created. The subscription " "and slicing notations can be used as the target of assignment and :keyword:" "`del` (delete) statements." msgstr "" +"Οι μεταβλητές ακολουθίες μπορούν να αλλάξουν αφού δημιουργηθούν. Οι " +"σημειώσεις εγγραφής και τμηματοποίησης μπορούν να χρησιμοποιηθούν ως στόχος " +"εκχώρησης και δηλώσεων :keyword:`del` (delete)." -#: reference/datamodel.rst:403 +#: reference/datamodel.rst:396 msgid "" "The :mod:`collections` and :mod:`array` module provide additional examples " "of mutable sequence types." msgstr "" +"Τα modules :mod:`collections` και :mod:`array` παρέχουν πρόσθετα " +"παραδείγματα μεταβλητών τύπων ακολουθιών." -#: reference/datamodel.rst:406 +#: reference/datamodel.rst:399 msgid "There are currently two intrinsic mutable sequence types:" -msgstr "" +msgstr "Υπάρχει επί του παρόντος δύο εγγενείς τύποι μεταβλητών ακολουθιών:" -#: reference/datamodel.rst:408 +#: reference/datamodel.rst:406 msgid "Lists" -msgstr "" +msgstr "Λίστες" -#: reference/datamodel.rst:411 +#: reference/datamodel.rst:404 msgid "" "The items of a list are arbitrary Python objects. Lists are formed by " "placing a comma-separated list of expressions in square brackets. (Note that " "there are no special cases needed to form lists of length 0 or 1.)" msgstr "" +"Τα στοιχεία μιας λίστας είναι αυθαίρετα αντικείμενα Python. Οι λίστες " +"σχηματίζονται τοποθετώντας μια λίστα εκφράσεων διαχωρισμένων με κόμματα σε " +"αγκύλες. (Σημειώστε ότι δεν χρειάζονται ειδικές περιπτώσεις για να " +"σχηματιστούν λίστες μήκους ή 1.)" #: reference/datamodel.rst:415 msgid "Byte Arrays" -msgstr "" +msgstr "Πίνακες Byte" -#: reference/datamodel.rst:418 +#: reference/datamodel.rst:411 msgid "" "A bytearray object is a mutable array. They are created by the built-in :" "func:`bytearray` constructor. Aside from being mutable (and hence " "unhashable), byte arrays otherwise provide the same interface and " "functionality as immutable :class:`bytes` objects." msgstr "" +"Ένα αντικείμενο bytearray είναι ένα ευμετάβλητος πίνακας. Δημιουργούνται από " +"τον ενσωματωμένο κατασκευαστή :func:`bytearray`. Εκτός από το ότι είναι " +"μεταβλητοί (και επομένως μη κατακερματισμένοι), οι πίνακες byte κατά τα άλλα " +"παρέχουν την ίδια διεπαφή και λειτουργικότητα με τα αμετάβλητα αντικείμενα :" +"class:`bytes`." -#: reference/datamodel.rst:425 +#: reference/datamodel.rst:418 msgid "Set types" -msgstr "" +msgstr "Σύνολο τύπων" -#: reference/datamodel.rst:431 +#: reference/datamodel.rst:424 msgid "" "These represent unordered, finite sets of unique, immutable objects. As " "such, they cannot be indexed by any subscript. However, they can be iterated " @@ -488,46 +696,65 @@ msgid "" "from a sequence, and computing mathematical operations such as intersection, " "union, difference, and symmetric difference." msgstr "" +"Αυτά αντιπροσωπεύουν μη διατεταγμένα, πεπερασμένα, σύνολα μοναδικών, " +"αμετάβλητων αντικειμένων. Ως εκ τούτου, δεν μπορούν να ευρετηριοποιηθούν από " +"κανένα δείκτη. Ωστόσο, μπορούν να επαναληφθούν και η ενσωματωμένη συνάρτηση :" +"func:`len` επιστρέφει τον αριθμό των στοιχείων σε ένα σύνολο. Συνήθεις " +"χρήσεις για τα σύνολα είναι ο γρήγορος έλεγχος ιδιότητας μέλους, η αφαίρεση " +"διπλότυπων από μια αλληλουχία, μη συνδυαστική λειτουργία, και συμμετρική " +"διαφορά." -#: reference/datamodel.rst:438 +#: reference/datamodel.rst:431 msgid "" "For set elements, the same immutability rules apply as for dictionary keys. " "Note that numeric types obey the normal rules for numeric comparison: if two " "numbers compare equal (e.g., ``1`` and ``1.0``), only one of them can be " "contained in a set." msgstr "" +"Για τα στοιχεία συνόλου ισχύουν οι ίδιοι κανόνες αμετάβλητης όπως και για τα " +"κλειδιά λεξικού. Λάβετε υπόψη ότι οι αριθμητικοί τύποι λειτουργία στους " +"κανονικούς κανόνες για αριθμητική σύγκριση: εάν δύο αριθμοί συγκρίνονται " +"ίσοι (π.χ. ``1`` και ``1.0``), μόνο ένας από αυτούς μπορεί να περιέχεται σε " +"ένα σύνολο." -#: reference/datamodel.rst:443 +#: reference/datamodel.rst:436 msgid "There are currently two intrinsic set types:" -msgstr "" +msgstr "Υπάρχουν επί του παρόντος δύο εγγενείς τύποι συνόλων:" -#: reference/datamodel.rst:446 +#: reference/datamodel.rst:445 msgid "Sets" -msgstr "" +msgstr "Σύνολα" -#: reference/datamodel.rst:449 +#: reference/datamodel.rst:442 msgid "" "These represent a mutable set. They are created by the built-in :func:`set` " "constructor and can be modified afterwards by several methods, such as :meth:" "`~set.add`." msgstr "" +"Αυτά αντιπροσωπεύουν ένα μεταβλητό σύνολο. Δημιουργούνται από τον " +"ενσωματωμένο κατασκευαστή :func:`set` και μπορούν να τροποποιηθούν στη " +"συνέχεια με διάφορες μεθόδους, όπως :meth:`~set.add`." #: reference/datamodel.rst:454 msgid "Frozen sets" -msgstr "" +msgstr "Frozen σύνολα" -#: reference/datamodel.rst:457 +#: reference/datamodel.rst:450 msgid "" "These represent an immutable set. They are created by the built-in :func:" "`frozenset` constructor. As a frozenset is immutable and :term:`hashable`, " "it can be used again as an element of another set, or as a dictionary key." msgstr "" +"Αυτά αντιπροσωπεύουν ένα αμετάβλητο σύνολο. Δημιουργούνται από τον " +"ενσωματωμένο κατασκευαστή :func:`frozenset`. Καθώς ένα παγωμένο σύνολο είναι " +"αμετάβλητο και το :term:`hashable`, μπορεί να χρησιμοποιηθεί ξανά ως " +"στοιχείο ενός άλλου συνόλου ή ως κλειδί λεξικού." -#: reference/datamodel.rst:464 +#: reference/datamodel.rst:457 msgid "Mappings" -msgstr "" +msgstr "Αντιστοιχίσεις" -#: reference/datamodel.rst:471 +#: reference/datamodel.rst:464 msgid "" "These represent finite sets of objects indexed by arbitrary index sets. The " "subscript notation ``a[k]`` selects the item indexed by ``k`` from the " @@ -535,16 +762,22 @@ msgid "" "assignments or :keyword:`del` statements. The built-in function :func:`len` " "returns the number of items in a mapping." msgstr "" +"Αυτά αντιπροσωπεύουν πεπερασμένα σύνολα αντικειμένων που ευρετηριάζονται από " +"αυθαίρετα σύνολα ευρετηρίου. Ο συμβολικός συμβολισμός ``a[k]`` επιλέγει το " +"στοιχείο που ευρετηριάζεται με ``k`` από την αντιστοίχιση ``a`` · αυτό " +"μπορεί να χρησιμοποιηθεί σε εκφράσεις και ως στόχος αναθέσεων ή δηλώσεων :" +"keyword:`del`. Η ενσωματωμένη συνάρτηση :func:`len` επιστρέφει τον αριθμό " +"των στοιχείων σε μια αντιστοίχιση." -#: reference/datamodel.rst:477 +#: reference/datamodel.rst:470 msgid "There is currently a single intrinsic mapping type:" -msgstr "" +msgstr "Υπάρχει επί του παρόντος ένας ενιαίος εγγενής τύπος χαρτογράφησης:" -#: reference/datamodel.rst:481 +#: reference/datamodel.rst:474 msgid "Dictionaries" -msgstr "" +msgstr "Λεξικά" -#: reference/datamodel.rst:485 +#: reference/datamodel.rst:478 msgid "" "These represent finite sets of objects indexed by nearly arbitrary values. " "The only types of values not acceptable as keys are values containing lists " @@ -555,233 +788,328 @@ msgid "" "numbers compare equal (e.g., ``1`` and ``1.0``) then they can be used " "interchangeably to index the same dictionary entry." msgstr "" +"Αυτά αντιπροσωπεύουν πεπερασμένα σύνολα αντικειμένων που ευρετηριάζονται με " +"σχεδόν αυθαίρετες τιμές. Οι μόνοι τύποι τιμών που δεν είναι αποδεκτοί ως " +"κλειδιά είναι τιμές που περιέχουν λίστες ή λεξικά ή άλλους μεταβλητούς " +"τύπους που συγκρίνονται με βάση την τιμή και όχι με την ταυτότητα " +"αντικειμένου, ο λόγος είναι ότι η αποτελεσματική υλοποίηση λεξικών απαιτεί " +"τιμή κατακερματισμού ενός κλειδιού να παραμένει σταθερή. Οι αριθμητικοί " +"τύποι που χρησιμοποιούνται για κλειδιά υπακούουν στους κανονικούς κανόνες " +"για αριθμητική σύγκριση: εάν δύο αριθμοί συγκρίνονται ίσοι (π.χ. ``1`` και " +"``1.0``), τότε μπορούν να χρησιμοποιηθούν εναλλακτικά για την ευρετηρίαση " +"της ίδιας καταχώρησης λεξικού." -#: reference/datamodel.rst:494 +#: reference/datamodel.rst:487 msgid "" "Dictionaries preserve insertion order, meaning that keys will be produced in " "the same order they were added sequentially over the dictionary. Replacing " "an existing key does not change the order, however removing a key and re-" "inserting it will add it to the end instead of keeping its old place." msgstr "" +"Τα λεξικά διατηρούν τη σειρά εισαγωγής, πράγμα που σημαίνει ότι τα κλειδιά " +"θα παράγονται με την ίδια σειρά που προστέθηκαν διαδοχικά στο λεξικό. Η " +"αντικατάσταση ενός υπάρχοντος κλειδιού δεν αλλάζει τη σειρά, ωστόσο η " +"αφαίρεση ενός κλειδιού και η επανεισαγωγή του θα προσθέσει στο τέλος αντί να " +"διατηρήσει την παλιά του θέση." -#: reference/datamodel.rst:499 +#: reference/datamodel.rst:492 msgid "" -"Dictionaries are mutable; they can be created by the ``{}`` notation (see " +"Dictionaries are mutable; they can be created by the ``{...}`` notation (see " "section :ref:`dict`)." msgstr "" +"Τα λεξικά είναι μεταβλητά· μπορούν να δημιουργηθούν με τη σημείωση ``{...}`` " +"(βλ. ενότητα :ref:`dict`)." -#: reference/datamodel.rst:506 +#: reference/datamodel.rst:499 msgid "" "The extension modules :mod:`dbm.ndbm` and :mod:`dbm.gnu` provide additional " "examples of mapping types, as does the :mod:`collections` module." msgstr "" +"Τα modules επέκτασης :mod:`dbm.ndbm` και :mod:`dbm.gnu` παρέχουν πρόσθετα " +"παραδείγματα τύπων αντιστοίχισης, όπως και το module :mod:`collections`." -#: reference/datamodel.rst:510 +#: reference/datamodel.rst:503 msgid "" "Dictionaries did not preserve insertion order in versions of Python before " "3.6. In CPython 3.6, insertion order was preserved, but it was considered an " "implementation detail at that time rather than a language guarantee." msgstr "" +"Τα λεξικά δεν διατήρησαν τη σειρά εισαγωγής σε εκδόσεις της Python πριν από " +"την 3.6. Στη CPython 3.6, η σειρά εισαγωγής διατηρήθηκε, αλλά θεωρήθηκε ως " +"λεπτομέρεια υλοποίησης εκείνη τη στιγμή και όχι ως εγγύηση γλώσσας." -#: reference/datamodel.rst:517 +#: reference/datamodel.rst:510 msgid "Callable types" -msgstr "" +msgstr "Τύποι με δυνατότητα κλήσης" -#: reference/datamodel.rst:525 +#: reference/datamodel.rst:518 msgid "" "These are the types to which the function call operation (see section :ref:" "`calls`) can be applied:" msgstr "" +"Αυτοί είναι οι τύποι στους οποίους μπορεί να εφαρμοστεί η λειτουργία κλήσης " +"συνάρτησης (βλ. ενότητα :ref:`calls`) :" -#: reference/datamodel.rst:532 +#: reference/datamodel.rst:525 msgid "User-defined functions" -msgstr "" +msgstr "Συναρτήσεις που καθορίζονται από το χρήστη" -#: reference/datamodel.rst:539 +#: reference/datamodel.rst:532 msgid "" "A user-defined function object is created by a function definition (see " "section :ref:`function`). It should be called with an argument list " "containing the same number of items as the function's formal parameter list." msgstr "" +"Ένα αντικείμενο συνάρτησης που ορίζεται από τον χρήστη δημιουργείται από " +"έναν ορισμό συνάρτησης (βλ. ενότητα :ref:`function`). Θα πρέπει να καλείται " +"με μια λίστα ορισμών που περιέχει τον ίδιο αριθμό στοιχείων με την επίσημη " +"λίστα παραμέτρων της συνάρτησης." -#: reference/datamodel.rst:1367 reference/datamodel.rst:1562 +#: reference/datamodel.rst:1127 reference/datamodel.rst:1322 msgid "Special read-only attributes" -msgstr "" +msgstr "Ειδικά χαρακτηριστικά μόνο για ανάγνωση" -#: reference/datamodel.rst:589 reference/datamodel.rst:1156 +#: reference/datamodel.rst:582 msgid "Attribute" -msgstr "" +msgstr "Χαρακτηριστικό" -#: reference/datamodel.rst:590 reference/datamodel.rst:1157 +#: reference/datamodel.rst:583 msgid "Meaning" -msgstr "" +msgstr "Έννοια" -#: reference/datamodel.rst:559 +#: reference/datamodel.rst:552 msgid "" "A reference to the :class:`dictionary ` that holds the function's :ref:" "`global variables ` -- the global namespace of the module in which " "the function was defined." msgstr "" +"Μια αναφορά στη :class:`dictionary ` που περιέχει τις :ref:`global " +"variables ` -- τον καθολικό χώρο ονομάτων του module στην οποία " +"ορίστηκε η συνάρτηση." -#: reference/datamodel.rst:564 +#: reference/datamodel.rst:557 msgid "" "``None`` or a :class:`tuple` of cells that contain bindings for the " "function's free variables." msgstr "" +"Το ``None`` ή μια :class:`tuple` κελιών που περιέχουν δεσμεύσεις για τις " +"ελεύθερες μεταβλητές της συνάρτησης." -#: reference/datamodel.rst:567 +#: reference/datamodel.rst:560 msgid "" "A cell object has the attribute ``cell_contents``. This can be used to get " "the value of the cell, as well as set the value." msgstr "" +"Ένα αντικείμενο κελιού έχει το χαρακτηριστικό ``cell_contents``. Αυτό μπορεί " +"να χρησιμοποιηθεί για να ληφθεί η τιμή του κελιού, καθώς και να οριστεί η " +"τιμή." -#: reference/datamodel.rst:1599 +#: reference/datamodel.rst:1359 msgid "Special writable attributes" -msgstr "" +msgstr "Ειδικά εγγράψιμα χαρακτηριστικά" -#: reference/datamodel.rst:584 +#: reference/datamodel.rst:577 msgid "Most of these attributes check the type of the assigned value:" msgstr "" +"Τα περισσότερα από αυτά τα χαρακτηριστικά ελέγχουν τον τύπο της εκχωρημένης " +"τιμής:" -#: reference/datamodel.rst:593 -msgid "The function's documentation string, or ``None`` if unavailable." +#: reference/datamodel.rst:586 +msgid "" +"The function's documentation string, or ``None`` if unavailable. Not " +"inherited by subclasses." msgstr "" +"Η συμβολοσειρά τεκμηρίωσης της συνάρτηση ή ``None`` εάν δεν είναι διαθέσιμη. " +"Δεν κληρονομείται από υποκλάσεις." -#: reference/datamodel.rst:596 +#: reference/datamodel.rst:590 msgid "" "The function's name. See also: :attr:`__name__ attributes `." msgstr "" +"Το όνομα της συνάρτησης. Δείτε επίσης :attr:`__name__ attributes `." -#: reference/datamodel.rst:600 +#: reference/datamodel.rst:594 msgid "" "The function's :term:`qualified name`. See also: :attr:`__qualname__ " "attributes `." msgstr "" +"Η συνάρτηση είναι :term:`qualified name`. Δείτε επίσης :attr:`__qualname__ " +"attributes `." -#: reference/datamodel.rst:606 +#: reference/datamodel.rst:600 msgid "" "The name of the module the function was defined in, or ``None`` if " "unavailable." msgstr "" +"Το όνομα του module στην οποία ορίστηκε η συνάρτηση ή ``None`` εάν δεν είναι " +"διαθέσιμη." -#: reference/datamodel.rst:610 +#: reference/datamodel.rst:604 msgid "" "A :class:`tuple` containing default :term:`parameter` values for those " "parameters that have defaults, or ``None`` if no parameters have a default " "value." msgstr "" +"Ένα :class:`tuple` που περιέχει προεπιλεγμένες τιμές :term:`parameter` για " +"εκείνες τις παραμέτρους που έχουν προεπιλογές ή ``None`` εάν καμία " +"παράμετρος δεν έχει προεπιλεγμένη τιμή." -#: reference/datamodel.rst:615 +#: reference/datamodel.rst:609 msgid "" "The :ref:`code object ` representing the compiled function " "body." msgstr "" +"Το αντικείμενο :ref:`code object ` που αντιπροσωπεύει το " +"μεταγλωττισμένο σώμα συνάρτησης." -#: reference/datamodel.rst:619 +#: reference/datamodel.rst:613 msgid "" "The namespace supporting arbitrary function attributes. See also: :attr:" "`__dict__ attributes `." msgstr "" +"Ο χώρος ονομάτων που υποστηρίζει αυθαίρετα χαρακτηριστικά συνάρτησης. Δείτε " +"επίσης :attr:`__dict__ attributes `." -#: reference/datamodel.rst:623 +#: reference/datamodel.rst:617 msgid "" "A :class:`dictionary ` containing annotations of :term:`parameters " "`. The keys of the dictionary are the parameter names, and " "``'return'`` for the return annotation, if provided. See also: :ref:" "`annotations-howto`." msgstr "" +"Μια :class:`dictionary ` που περιέχει annotations για :term:" +"`parameters `. Τα κλειδιά του λεξικού είναι τα ονόματα των " +"παραμέτρων και ``'return'``, για το annotation επιστροφής, εάν παρέχεται. " +"Δείτε επίσης: :ref:`annotations-howto`." -#: reference/datamodel.rst:630 +#: reference/datamodel.rst:624 msgid "" "A :class:`dictionary ` containing defaults for keyword-only :term:" "`parameters `." msgstr "" +"Μια :class:`dictionary ` που περιέχει προεπιλογές για λέξεις-κλειδιά " +"μόνο :term:`parameters `." -#: reference/datamodel.rst:634 +#: reference/datamodel.rst:628 msgid "" "A :class:`tuple` containing the :ref:`type parameters ` of a :" "ref:`generic function `." msgstr "" +"Μια :class:`tuple` που περιέχει τις παραμέτρους :ref:`type parameters ` μιας :ref:`generic function `." -#: reference/datamodel.rst:639 +#: reference/datamodel.rst:633 msgid "" "Function objects also support getting and setting arbitrary attributes, " "which can be used, for example, to attach metadata to functions. Regular " "attribute dot-notation is used to get and set such attributes." msgstr "" +"Τα αντικείμενα συναρτήσεων υποστηρίζουν επίσης τη λήψη και τον καθορισμό " +"αυθαίρετων χαρακτηριστικών , τα οποία μπορούν να χρησιμοποιηθούν, για " +"παράδειγμα, για την επισύναψη μεταδεδομένων σε συναρτήσεις. Η τυπική " +"σημειογραφία σημείων χαρακτηριστικών χρησιμοποιείται για τη λήψη και τον " +"ορισμό τέτοιων χαρακτηριστικών." -#: reference/datamodel.rst:645 +#: reference/datamodel.rst:639 msgid "" "CPython's current implementation only supports function attributes on user-" "defined functions. Function attributes on :ref:`built-in functions ` may be supported in the future." msgstr "" +"Η τρέχουσα υλοποίηση του CPython υποστηρίζει μόνο χαρακτηριστικά συναρτήσεων " +"σε συναρτήσεις που καθορίζονται από τον χρήστη. Τα χαρακτηριστικά " +"συναρτήσεων σε :ref:`built-in functions ` ενδέχεται να " +"υποστηρίζονται στο μέλλον." -#: reference/datamodel.rst:650 +#: reference/datamodel.rst:644 msgid "" "Additional information about a function's definition can be retrieved from " "its :ref:`code object ` (accessible via the :attr:`~function." "__code__` attribute)." msgstr "" +"Μπορούν να ανακτηθούν πρόσθετες πληροφορίες σχετικά με τον ορισμό μιας " +"συνάρτησης από το αντικείμενο :ref:`code object ` (προσβάσιμο " +"μέσω του χαρακτηριστικού :attr:`~function.__code__`)." -#: reference/datamodel.rst:658 +#: reference/datamodel.rst:652 msgid "Instance methods" -msgstr "" +msgstr "Μέθοδοι Στιγμιοτύπου" -#: reference/datamodel.rst:665 +#: reference/datamodel.rst:659 msgid "" "An instance method object combines a class, a class instance and any " "callable object (normally a user-defined function)." msgstr "" +"Ένα αντικείμενο μεθόδου στιγμιοτύπου συνδυάζει μια κλάση, ένα στιγμιότυπο " +"κλάσης και οποιοδήποτε αντικείμενο που μπορεί να κληθεί (συνήθως μια " +"συνάρτηση που ορίζεται από τον χρήστη.)" -#: reference/datamodel.rst:1690 +#: reference/datamodel.rst:1450 msgid "Special read-only attributes:" -msgstr "" +msgstr "Ειδικά χαρακτηριστικά μόνο για ανάγνωση:" -#: reference/datamodel.rst:680 +#: reference/datamodel.rst:674 msgid "" "Refers to the class instance object to which the method is :ref:`bound " "`" msgstr "" +"Αναφέρεται στο αντικείμενο στιγμιοτύπου κλάσης στο οποίο βρίσκεται η " +"μέθοδος :ref:`bound `" -#: reference/datamodel.rst:684 +#: reference/datamodel.rst:678 msgid "Refers to the original :ref:`function object `" -msgstr "" +msgstr "Αναφέρεται στο αρχικό :ref:`function object `" -#: reference/datamodel.rst:687 +#: reference/datamodel.rst:681 msgid "" "The method's documentation (same as :attr:`method.__func__.__doc__ `). A :class:`string ` if the original function had a " "docstring, else ``None``." msgstr "" +"Η τεκμηρίωση της μεθόδου (ίδια με την :attr:`method.__func__.__doc__ " +"`). Μια :class:`string ` εάν η αρχική συνάρτηση είχε " +"docstring, αλλιώς ``None``." -#: reference/datamodel.rst:693 +#: reference/datamodel.rst:687 msgid "" "The name of the method (same as :attr:`method.__func__.__name__ `)" msgstr "" +"Το όνομα της μεθόδου (ίδιο με το :attr:`method.__func__.__name__ `)" -#: reference/datamodel.rst:697 +#: reference/datamodel.rst:691 msgid "" "The name of the module the method was defined in, or ``None`` if unavailable." msgstr "" +"Το όνομα του module στην οποία ορίστηκε η μέθοδος, ή ``None`` εάν δεν είναι " +"διαθέσιμη." -#: reference/datamodel.rst:700 +#: reference/datamodel.rst:694 msgid "" "Methods also support accessing (but not setting) the arbitrary function " "attributes on the underlying :ref:`function object `." msgstr "" +"Οι μέθοδοι υποστηρίζουν επίσης την πρόσβαση (αλλά όχι τη ρύθμιση) των " +"αυθαίρετων χαρακτηριστικών συνάρτησης στο υποκείμενο αντικείμενο :ref:" +"`function object `." -#: reference/datamodel.rst:703 +#: reference/datamodel.rst:697 msgid "" "User-defined method objects may be created when getting an attribute of a " "class (perhaps via an instance of that class), if that attribute is a user-" "defined :ref:`function object ` or a :class:" "`classmethod` object." msgstr "" +"Τα αντικείμενα μεθόδου που ορίζονται από το χρήστη μπορούν να δημιουργηθούν " +"όταν λαμβάνεται ένα χαρακτηριστικό μιας κλάσης (ίσως μέσω ενός στιγμιοτύπου " +"αυτής της κλάσης), εάν αυτό το χαρακτηριστικό είναι ένα αντικείμενο :ref:" +"`function object ` ή ένα αντικείμενο :class:" +"`classmethod`." -#: reference/datamodel.rst:710 +#: reference/datamodel.rst:704 msgid "" "When an instance method object is created by retrieving a user-defined :ref:" "`function object ` from a class via one of its " @@ -789,16 +1117,27 @@ msgid "" "method object is said to be *bound*. The new method's :attr:`~method." "__func__` attribute is the original function object." msgstr "" +"Όταν δημιουργείται ένα αντικείμενο μεθόδου στιγμιοτύπου ανακτώντας ένα " +"αντικείμενο :ref:`function object ` που ορίζεται από το " +"χρήστη από μια κλάση, το χαρακτηριστικό :attr:`~method.__self__` είναι το " +"στιγμιότυπο και το αντικείμενό της μεθόδου λέγεται ότι είναι *δεσμευμένο*. " +"Το χαρακτηριστικό :attr:`~method.__func__` της νέας μεθόδου είναι το αρχικό " +"αντικείμενο συνάρτησης." -#: reference/datamodel.rst:716 +#: reference/datamodel.rst:710 msgid "" "When an instance method object is created by retrieving a :class:" "`classmethod` object from a class or instance, its :attr:`~method.__self__` " "attribute is the class itself, and its :attr:`~method.__func__` attribute is " "the function object underlying the class method." msgstr "" +"Όταν ένα αντικείμενο μεθόδου παρουσίας δημιουργείται με ανάκτηση ενός " +"αντικειμένου :class:`classmethod` από μια κλάση ή στιγμιότυπο, το " +"χαρακτηριστικό :attr:`~method.__self__` είναι η ίδια κλάση και το " +"χαρακτηριστικό :attr:`~method.__func__` είναι το αντικείμενο συνάρτησης που " +"βρίσκεται κάτω από τη μέθοδο κλάσης." -#: reference/datamodel.rst:721 +#: reference/datamodel.rst:715 msgid "" "When an instance method object is called, the underlying function (:attr:" "`~method.__func__`) is called, inserting the class instance (:attr:`~method." @@ -807,8 +1146,14 @@ msgid "" "an instance of :class:`!C`, calling ``x.f(1)`` is equivalent to calling ``C." "f(x, 1)``." msgstr "" +"Όταν καλείται ένα αντικείμενο μεθόδου στιγμιοτύπου, καλείται η υποκείμενη " +"συνάρτηση (:attr:`~method.__func__`), εισάγοντας το στιγμιότυπο κλάσης (:" +"attr:`~method.__self__`) μπροστά από τη λίστα ορισμάτων. Για παράδειγμα, " +"όταν η :class:`!C` είναι μια κλάση που περιέχει έναν ορισμό για μια " +"συνάρτηση :meth:`!f`, και το ``x`` είναι ένα στιγμιότυπο της :class:`!C`, η " +"κλήση του ``x.f(1)`` ισοδυναμεί με την κλήση του ``C.f(x, 1)``." -#: reference/datamodel.rst:728 +#: reference/datamodel.rst:722 msgid "" "When an instance method object is derived from a :class:`classmethod` " "object, the \"class instance\" stored in :attr:`~method.__self__` will " @@ -816,19 +1161,42 @@ msgid "" "f(1)`` is equivalent to calling ``f(C,1)`` where ``f`` is the underlying " "function." msgstr "" - -#: reference/datamodel.rst:733 -msgid "" -"It is important to note that user-defined functions which are attributes of " -"a class instance are not converted to bound methods; this *only* happens " -"when the function is an attribute of the class." -msgstr "" - -#: reference/datamodel.rst:740 +"Όταν ένα αντικείμενο μεθόδου στιγμιοτύπου προέρχεται από ένα αντικείμενο :" +"class:`classmethod`, το \"στιγμιότυπο κλάσης\" που είναι αποθηκευμένο στη :" +"attr:`~method.__self__` θα είναι στη πραγματικότητα η ίδια η κλάση, έτσι " +"ώστε η κλήση είτε του ``x.f(1)` ή του ``C.f(1)`` ισοδυναμεί με την κλήση του " +"``f(C,1)`` όπου το ``f`` είναι η υποκείμενη συνάρτηση." + +#: reference/datamodel.rst:727 +msgid "" +"Note that the transformation from :ref:`function object ` to instance method object happens each time the attribute is " +"retrieved from the instance. In some cases, a fruitful optimization is to " +"assign the attribute to a local variable and call that local variable. Also " +"notice that this transformation only happens for user-defined functions; " +"other callable objects (and all non-callable objects) are retrieved without " +"transformation. It is also important to note that user-defined functions " +"which are attributes of a class instance are not converted to bound methods; " +"this *only* happens when the function is an attribute of the class." +msgstr "" +"Λάβετε υπόψη ότι μετασχηματισμός από :ref:`function object ` σε αντικείμενο μεθόδου στιγμιοτύπου πραγματοποιείται κάθε φορά που " +"το χαρακτηριστικό ανακτάται από το στιγμιότυπο. Σε ορισμένες περιπτώσεις, " +"μια γόνιμη βελτιστοποίηση είναι να εκχωρήσετε το χαρακτηριστικό σε μια " +"τοπική μεταβλητή και να καλέσετε αυτήν την τοπική μεταβλητή. Σημειώστε " +"επίσης ότι αυτός ο μετασχηματισμός συμβαίνει μόνο για λειτουργίες που " +"ορίζονται από το χρήστη∙ άλλα αντικείμενα που μπορούν να κληθούν (και όλα τα " +"αντικείμενα που δεν μπορούν να κληθούν) ανακτώνται χωρίς μετασχηματισμό. " +"Είναι επίσης σημαντικό να σημειωθεί ότι οι συναρτήσεις που ορίζονται από το " +"χρήστη και είναι χαρακτηριστικά ενός στιγμιοτύπου κλάσης δεν μετατρέπονται " +"σε δεσμευμένες μεθόδους∙ αυτό συμβαίνει *μόνο* όταν η συνάρτηση είναι " +"χαρακτηριστικό κλάσης." + +#: reference/datamodel.rst:741 msgid "Generator functions" -msgstr "" +msgstr "Generator Συναρτήσεις" -#: reference/datamodel.rst:746 +#: reference/datamodel.rst:747 msgid "" "A function or method which uses the :keyword:`yield` statement (see section :" "ref:`yield`) is called a :dfn:`generator function`. Such a function, when " @@ -840,12 +1208,21 @@ msgid "" "exception is raised and the iterator will have reached the end of the set of " "values to be returned." msgstr "" - -#: reference/datamodel.rst:758 +"Μια συνάρτηση ή μέθοδος που χρησιμοποιεί τη δήλωση :keyword:`yield` (βλ. " +"ενότητα :ref:`yield`) ονομάζεται :dfn:`generator function`. Μια τέτοια " +"συνάρτηση, όταν καλείται, επιστρέφει πάντα ένα αντικείμενο :term:`iterator` " +"που μπορεί να χρησιμοποιηθεί για την εκτέλεση του σώματος της συνάρτησης: " +"καλώντας τη μέθοδο :meth:`iterator.__next__` του iterator θα προκαλέσει την " +"εκτέλεση της συνάρτησης έως ότου παρέχει μια τιμή χρησιμοποιώντας τη δήλωση :" +"keyword:`!yield`. Όταν η συνάρτηση εκτελεί μια δήλωση :keyword:`return` ή " +"πέσει στο τέλος, γίνεται raise μια εξαίρεση :exc:`StopIteration` και ο " +"iterator θα έχει φτάσει στο τέλος του συνόλου τιμών που θα επιστραφεί." + +#: reference/datamodel.rst:759 msgid "Coroutine functions" -msgstr "" +msgstr "Coroutine συναρτήσεις" -#: reference/datamodel.rst:763 +#: reference/datamodel.rst:764 msgid "" "A function or method which is defined using :keyword:`async def` is called " "a :dfn:`coroutine function`. Such a function, when called, returns a :term:" @@ -853,12 +1230,17 @@ msgid "" "as :keyword:`async with` and :keyword:`async for` statements. See also the :" "ref:`coroutine-objects` section." msgstr "" +"Μια συνάρτηση ή μέθοδος που ορίζεται χρησιμοποιώντας :keyword:`async def` " +"ονομάζεται μια :dfn:`coroutine function`. Μια τέτοια συνάρτηση, όταν " +"καλείται, επιστρέφει ένα αντικείμενο :term:`coroutine`. Μπορεί να περιέχει " +"εκφράσεις :keyword:`await`, καθώς και :keyword:`async with` και :keyword:" +"`async for`. Δείτε επίσης την ενότητα :ref:`coroutine-objects`." -#: reference/datamodel.rst:771 +#: reference/datamodel.rst:772 msgid "Asynchronous generator functions" -msgstr "" +msgstr "Asynchronous generator συναρτήσεις" -#: reference/datamodel.rst:777 +#: reference/datamodel.rst:778 msgid "" "A function or method which is defined using :keyword:`async def` and which " "uses the :keyword:`yield` statement is called a :dfn:`asynchronous generator " @@ -866,8 +1248,14 @@ msgid "" "iterator` object which can be used in an :keyword:`async for` statement to " "execute the body of the function." msgstr "" +"Μια συνάρτηση ή μέθοδος που ορίζεται χρησιμοποιώντας :keyword:`async def` " +"και που χρησιμοποιεί την πρόταση :keyword:`yield` ονομάζεται :dfn:" +"`asynchronous generator function`. Μια τέτοια συνάρτηση, όταν καλείται, " +"επιστρέφει ένα αντικείμενο :term:`asynchronous iterator` που μπορεί να " +"χρησιμοποιηθεί σε μια δήλωση :keyword:`async for` για την εκτέλεση του " +"σώματος της συνάρτησης." -#: reference/datamodel.rst:783 +#: reference/datamodel.rst:784 msgid "" "Calling the asynchronous iterator's :meth:`aiterator.__anext__ ` method will return an :term:`awaitable` which when awaited will " @@ -877,45 +1265,66 @@ msgid "" "asynchronous iterator will have reached the end of the set of values to be " "yielded." msgstr "" +"Η κλήση της μεθόδου :meth:`aiterator.__anext__ ` του " +"ασύγχρονου iterator θα επιστρέψει ένα :term:`awaitable` το οποίο όταν " +"αναμένεται θα εκτελεστεί έως ότου δώσει μια τιμή χρησιμοποιώντας την " +"έκφραση :keyword:`yield`. Όταν η συνάρτηση εκτελεί μια κενή εντολή :keyword:" +"`return` ή πέφτει στο τέλος, γίνεται raise μια εξαίρεση :exc:" +"`StopAsyncIteration` και ο ασύγχρονος iterator θα έχει φτάσει στο τέλος του " +"συνόλου τιμών που θα αποδοθούν." -#: reference/datamodel.rst:796 +#: reference/datamodel.rst:797 msgid "Built-in functions" -msgstr "" +msgstr "Ενσωματωμένες συναρτήσεις" -#: reference/datamodel.rst:803 +#: reference/datamodel.rst:804 msgid "" "A built-in function object is a wrapper around a C function. Examples of " "built-in functions are :func:`len` and :func:`math.sin` (:mod:`math` is a " "standard built-in module). The number and type of the arguments are " "determined by the C function. Special read-only attributes:" msgstr "" +"Ένα αντικείμενο ενσωματωμένης συνάρτησης είναι ένας wrapper γύρω από μια " +"συνάρτηση C. Παραδείγματα ενσωματωμένων συναρτήσεων είναι οι :func:`len` " +"και :func:`math.sin` (:mod:`math` είναι ένα ενσωματωμένο module). Ο αριθμός " +"και ο τύπος των ορισμάτων καθορίζονται από τη συνάρτηση C. Ειδικά " +"χαρακτηριστικά μόνο για ανάγνωση:" -#: reference/datamodel.rst:808 +#: reference/datamodel.rst:809 msgid "" ":attr:`!__doc__` is the function's documentation string, or ``None`` if " "unavailable. See :attr:`function.__doc__`." msgstr "" +"Η :attr:`!__doc__` είναι η συμβολοσειρά τεκμηρίωσης της συνάρτησης, ή " +"``None`` εάν δεν είναι διαθέσιμη . Δείτε :attr:`function.__doc__`." -#: reference/datamodel.rst:810 +#: reference/datamodel.rst:811 msgid "" ":attr:`!__name__` is the function's name. See :attr:`function.__name__`." msgstr "" +"Η :attr:`!__name__` είναι το όνομα της συνάρτησης. Δείτε :attr:`function." +"__name__`." -#: reference/datamodel.rst:811 +#: reference/datamodel.rst:812 msgid ":attr:`!__self__` is set to ``None`` (but see the next item)." msgstr "" +"Η :attr:`!__self__` έχει οριστεί σε ``None`` (αλλά δείτε το επόμενο " +"στοιχείο)." -#: reference/datamodel.rst:812 +#: reference/datamodel.rst:813 msgid "" ":attr:`!__module__` is the name of the module the function was defined in or " "``None`` if unavailable. See :attr:`function.__module__`." msgstr "" +"Η :attr:`!__module__` είναι το όνομα του module στην οποία ορίστηκε η " +"συνάρτηση ή ``None`` εάν δεν είναι διαθέσιμη. Δείτε :attr:`function." +"__module__`." -#: reference/datamodel.rst:820 +#: reference/datamodel.rst:821 msgid "Built-in methods" -msgstr "" +msgstr "Ενσωματωμένες μεθόδους" -#: reference/datamodel.rst:827 +#: reference/datamodel.rst:828 msgid "" "This is really a different disguise of a built-in function, this time " "containing an object passed to the C function as an implicit extra " @@ -925,12 +1334,20 @@ msgid "" "the same semantics as it does with :attr:`other instance methods `.)" msgstr "" +"Αυτή είναι πραγματικά μια διαφορετική μεταμφίεση μιας ενσωματωμένης " +"συνάρτησης, αυτή τη φορά που περιέχει ένα αντικείμενο που μεταβιβάστηκε στη " +"συνάρτηση C ως ένα έμμεσο επιπλέον όρισμα. Ένα παράδειγμα ενσωματωμένης " +"μεθόδου είναι η ``alist.append()``, υποθέτοντας ότι το *alist* είναι " +"αντικείμενο λίστας. Σε αυτήν την περίπτωση, το ειδικό χαρακτηριστικό μόνο " +"για ανάγνωση :attr:`!__self__` ορίζεται στο αντικείμενο που συμβολίζεται με " +"*alist*. (Το χαρακτηριστικό έχει την ίδια σημασιολογία με το :attr:`other " +"instance methods `.)" -#: reference/datamodel.rst:836 +#: reference/datamodel.rst:837 msgid "Classes" -msgstr "" +msgstr "Κλάσεις" -#: reference/datamodel.rst:838 +#: reference/datamodel.rst:839 msgid "" "Classes are callable. These objects normally act as factories for new " "instances of themselves, but variations are possible for class types that " @@ -938,22 +1355,30 @@ msgid "" "meth:`!__new__` and, in the typical case, to :meth:`~object.__init__` to " "initialize the new instance." msgstr "" +"Οι κλάσεις μπορούν να κληθούν. Αυτά τα αντικείμενα λειτουργούν κανονικά ως " +"εργοστάσια για νέα στιγμιότυπα του εαυτού τους, αλλά είναι δυνατές " +"παραλλαγές για τύπους κλάσεων που παρακάμπτουν το :meth:`~object.__new__`. " +"Τα ορίσματα της κλήσης μεταβιβάζονται στην :meth:`!__new__` και, στην τυπική " +"περίπτωση, στη :meth:`~object.__init__` για να αρχικοποιηθεί το νέο " +"στιγμιότυπο." -#: reference/datamodel.rst:846 +#: reference/datamodel.rst:847 msgid "Class Instances" -msgstr "" +msgstr "Στιγμιότυπα Κλάσης" -#: reference/datamodel.rst:848 +#: reference/datamodel.rst:849 msgid "" "Instances of arbitrary classes can be made callable by defining a :meth:" "`~object.__call__` method in their class." msgstr "" +"Τα στιγμιότυπα αυθαίρετων κλάσεων μπορούν να έχουν την δυνατότητα κλήσης " +"ορίζοντας μια μέθοδο :meth:`~object.__call__` στην κλάση τους." -#: reference/datamodel.rst:855 +#: reference/datamodel.rst:854 msgid "Modules" -msgstr "" +msgstr "Modules" -#: reference/datamodel.rst:861 +#: reference/datamodel.rst:860 msgid "" "Modules are a basic organizational unit of Python code, and are created by " "the :ref:`import system ` as invoked either by the :keyword:" @@ -967,285 +1392,108 @@ msgid "" "initialize the module (since it isn't needed once the initialization is " "done)." msgstr "" - -#: reference/datamodel.rst:874 +"Τα modules είναι μια βασική οργανωτική μονάδα κώδικα Python, και " +"δημιουργούνται από το :ref:`import system ` όπως καλείται είτε " +"από τη δήλωση :keyword:`import` είτε με κλήση συναρτήσεων όπως :func:" +"`importlib.import_module` και το ενσωματωμένο :func:`__import__`. Ένα " +"αντικείμενο module έχει έναν χώρο ονομάτων που υλοποιείται από ένα " +"αντικείμενο :class:`dictionary ` (αυτό είναι το λεξικό που αναφέρεται " +"από τη συνάρτηση :attr:`~function.__globals__` των συναρτήσεων που ορίζονται " +"στο module). Οι αναφορές χαρακτηριστικών μεταφράζονται σε αναζητήσεις σε " +"αυτό το λεξικό, π.χ., το ``m.x`` ισοδυναμεί με ``m.__dict__[\"x\"]``. Ένα " +"αντικείμενο module δεν περιέχει το αντικείμενο κώδικα που χρησιμοποιείται " +"για την προετοιμασία του module (καθώς δεν χρειάζεται μόλις ολοκληρωθεί η " +"προετοιμασία)." + +#: reference/datamodel.rst:873 msgid "" "Attribute assignment updates the module's namespace dictionary, e.g., ``m.x " "= 1`` is equivalent to ``m.__dict__[\"x\"] = 1``." msgstr "" +"Η εκχώρηση χαρακτηριστικών ενημερώνει το λεξικό χώρου ονομάτων του module, π." +"χ., ``m.x = 1`` ισοδυναμεί με ``m.__dict__[\"x\"] = 1``." -#: reference/datamodel.rst:892 -msgid "Import-related attributes on module objects" -msgstr "" - -#: reference/datamodel.rst:894 -msgid "" -"Module objects have the following attributes that relate to the :ref:`import " -"system `. When a module is created using the machinery " -"associated with the import system, these attributes are filled in based on " -"the module's :term:`spec `, before the :term:`loader` executes " -"and loads the module." -msgstr "" - -#: reference/datamodel.rst:900 -msgid "" -"To create a module dynamically rather than using the import system, it's " -"recommended to use :func:`importlib.util.module_from_spec`, which will set " -"the various import-controlled attributes to appropriate values. It's also " -"possible to use the :class:`types.ModuleType` constructor to create modules " -"directly, but this technique is more error-prone, as most attributes must be " -"manually set on the module object after it has been created when using this " -"approach." -msgstr "" - -#: reference/datamodel.rst:910 -msgid "" -"With the exception of :attr:`~module.__name__`, it is **strongly** " -"recommended that you rely on :attr:`~module.__spec__` and its attributes " -"instead of any of the other individual attributes listed in this subsection. " -"Note that updating an attribute on :attr:`!__spec__` will not update the " -"corresponding attribute on the module itself:" -msgstr "" - -#: reference/datamodel.rst:916 -msgid "" -">>> import typing\n" -">>> typing.__name__, typing.__spec__.name\n" -"('typing', 'typing')\n" -">>> typing.__spec__.name = 'spelling'\n" -">>> typing.__name__, typing.__spec__.name\n" -"('typing', 'spelling')\n" -">>> typing.__name__ = 'keyboard_smashing'\n" -">>> typing.__name__, typing.__spec__.name\n" -"('keyboard_smashing', 'spelling')" -msgstr "" - -#: reference/datamodel.rst:930 -msgid "" -"The name used to uniquely identify the module in the import system. For a " -"directly executed module, this will be set to ``\"__main__\"``." -msgstr "" - -#: reference/datamodel.rst:933 -msgid "" -"This attribute must be set to the fully qualified name of the module. It is " -"expected to match the value of :attr:`module.__spec__.name `." -msgstr "" - -#: reference/datamodel.rst:939 -msgid "A record of the module's import-system-related state." -msgstr "" - -#: reference/datamodel.rst:941 -msgid "" -"Set to the :class:`module spec ` that was " -"used when importing the module. See :ref:`module-specs` for more details." -msgstr "" - -#: reference/datamodel.rst:948 -msgid "The :term:`package` a module belongs to." -msgstr "" - -#: reference/datamodel.rst:950 -msgid "" -"If the module is top-level (that is, not a part of any specific package) " -"then the attribute should be set to ``''`` (the empty string). Otherwise, it " -"should be set to the name of the module's package (which can be equal to :" -"attr:`module.__name__` if the module itself is a package). See :pep:`366` " -"for further details." -msgstr "" - -#: reference/datamodel.rst:956 -msgid "" -"This attribute is used instead of :attr:`~module.__name__` to calculate " -"explicit relative imports for main modules. It defaults to ``None`` for " -"modules created dynamically using the :class:`types.ModuleType` constructor; " -"use :func:`importlib.util.module_from_spec` instead to ensure the attribute " -"is set to a :class:`str`." -msgstr "" - -#: reference/datamodel.rst:962 -msgid "" -"It is **strongly** recommended that you use :attr:`module.__spec__.parent " -"` instead of :attr:`!module." -"__package__`. :attr:`__package__` is now only used as a fallback if :attr:`!" -"__spec__.parent` is not set, and this fallback path is deprecated." -msgstr "" - -#: reference/datamodel.rst:1005 -msgid "" -"This attribute now defaults to ``None`` for modules created dynamically " -"using the :class:`types.ModuleType` constructor. Previously the attribute " -"was optional." -msgstr "" - -#: reference/datamodel.rst:973 -msgid "" -"The value of :attr:`!__package__` is expected to be the same as :attr:" -"`__spec__.parent `. :attr:" -"`__package__` is now only used as a fallback during import resolution if :" -"attr:`!__spec__.parent` is not defined." -msgstr "" +#: reference/datamodel.rst:883 +msgid "Predefined (writable) attributes:" +msgstr "Προκαθορισμένα (εγγράψιμα) χαρακτηριστικά:" -#: reference/datamodel.rst:979 -msgid "" -":exc:`ImportWarning` is raised if an import resolution falls back to :attr:`!" -"__package__` instead of :attr:`__spec__.parent `." -msgstr "" +#: reference/datamodel.rst:886 +msgid ":attr:`__name__`" +msgstr ":attr:`__name__`" -#: reference/datamodel.rst:984 -msgid "" -"Raise :exc:`DeprecationWarning` instead of :exc:`ImportWarning` when falling " -"back to :attr:`!__package__` during import resolution." -msgstr "" +#: reference/datamodel.rst:886 +msgid "The module's name." +msgstr "Το όνομα του module." #: reference/datamodel.rst:990 -msgid "" -"The :term:`loader` object that the import machinery used to load the module." -msgstr "" - -#: reference/datamodel.rst:992 -msgid "" -"This attribute is mostly useful for introspection, but can be used for " -"additional loader-specific functionality, for example getting data " -"associated with a loader." -msgstr "" - -#: reference/datamodel.rst:996 -msgid "" -":attr:`!__loader__` defaults to ``None`` for modules created dynamically " -"using the :class:`types.ModuleType` constructor; use :func:`importlib.util." -"module_from_spec` instead to ensure the attribute is set to a :term:`loader` " -"object." -msgstr "" - -#: reference/datamodel.rst:1001 -msgid "" -"It is **strongly** recommended that you use :attr:`module.__spec__.loader " -"` instead of :attr:`!module." -"__loader__`." -msgstr "" - -#: reference/datamodel.rst:1010 -msgid "" -"Setting :attr:`!__loader__` on a module while failing to set :attr:`!" -"__spec__.loader` is deprecated. In Python 3.16, :attr:`!__loader__` will " -"cease to be set or taken into consideration by the import system or the " -"standard library." -msgstr "" - -#: reference/datamodel.rst:1018 -msgid "" -"A (possibly empty) :term:`sequence` of strings enumerating the locations " -"where the package's submodules will be found. Non-package modules should not " -"have a :attr:`!__path__` attribute. See :ref:`package-path-rules` for more " -"details." -msgstr "" - -#: reference/datamodel.rst:1023 -msgid "" -"It is **strongly** recommended that you use :attr:`module.__spec__." -"submodule_search_locations ` instead of :attr:`!module.__path__`." -msgstr "" - -#: reference/datamodel.rst:1030 -msgid "" -":attr:`!__file__` and :attr:`!__cached__` are both optional attributes that " -"may or may not be set. Both attributes should be a :class:`str` when they " -"are available." -msgstr "" - -#: reference/datamodel.rst:1034 -msgid "" -":attr:`!__file__` indicates the pathname of the file from which the module " -"was loaded (if loaded from a file), or the pathname of the shared library " -"file for extension modules loaded dynamically from a shared library. It " -"might be missing for certain types of modules, such as C modules that are " -"statically linked into the interpreter, and the :ref:`import system " -"` may opt to leave it unset if it has no semantic meaning (for " -"example, a module loaded from a database)." -msgstr "" - -#: reference/datamodel.rst:1042 -msgid "" -"If :attr:`!__file__` is set then the :attr:`!__cached__` attribute might " -"also be set, which is the path to any compiled version of the code (for " -"example, a byte-compiled file). The file does not need to exist to set this " -"attribute; the path can simply point to where the compiled file *would* " -"exist (see :pep:`3147`)." -msgstr "" - -#: reference/datamodel.rst:1048 -msgid "" -"Note that :attr:`!__cached__` may be set even if :attr:`!__file__` is not " -"set. However, that scenario is quite atypical. Ultimately, the :term:" -"`loader` is what makes use of the module spec provided by the :term:`finder` " -"(from which :attr:`!__file__` and :attr:`!__cached__` are derived). So if a " -"loader can load from a cached module but otherwise does not load from a " -"file, that atypical scenario may be appropriate." -msgstr "" +msgid ":attr:`__doc__`" +msgstr ":attr:`__doc__`" -#: reference/datamodel.rst:1055 -msgid "" -"It is **strongly** recommended that you use :attr:`module.__spec__.cached " -"` instead of :attr:`!module." -"__cached__`." +#: reference/datamodel.rst:889 +msgid "The module's documentation string, or ``None`` if unavailable." msgstr "" +"Η συμβολοσειρά τεκμηρίωσης του module, ή ``None`` εάν δεν είναι διαθέσιμη." -#: reference/datamodel.rst:1060 -msgid "Other writable attributes on module objects" -msgstr "" +#: reference/datamodel.rst:899 +msgid ":attr:`__file__`" +msgstr ":attr:`__file__`" -#: reference/datamodel.rst:1062 +#: reference/datamodel.rst:893 msgid "" -"As well as the import-related attributes listed above, module objects also " -"have the following writable attributes:" +"The pathname of the file from which the module was loaded, if it was loaded " +"from a file. The :attr:`__file__` attribute may be missing for certain types " +"of modules, such as C modules that are statically linked into the " +"interpreter. For extension modules loaded dynamically from a shared " +"library, it's the pathname of the shared library file." msgstr "" +"Το όνομα διαδρομής του αρχείου από το οποίο φορτώθηκε το module, εάν " +"φορτώθηκε από ένα αρχείο. Το χαρακτηριστικό :attr:`__file__` ενδέχεται να " +"λείπει για ορισμένους τύπους modules, όπως modules C που συνδέονται στατικά " +"με τον διερμηνέα. Για modules επέκτασης που φορτώνονται δυναμικά από μια " +"κοινόχρηστη βιβλιοθήκη, είναι το όνομα αρχείου διαδρομής της κοινόχρηστης " +"βιβλιοθήκης." -#: reference/datamodel.rst:1067 -msgid "" -"The module's documentation string, or ``None`` if unavailable. See also: :" -"attr:`__doc__ attributes `." -msgstr "" +#: reference/datamodel.rst:997 +msgid ":attr:`__annotations__`" +msgstr ":attr:`__annotations__`" -#: reference/datamodel.rst:1072 +#: reference/datamodel.rst:902 msgid "" "A dictionary containing :term:`variable annotations ` " "collected during module body execution. For best practices on working with :" "attr:`__annotations__`, please see :ref:`annotations-howto`." msgstr "" +"Ένα λεξικό που περιέχει :term:`variable annotations ` " +"που συλλέγεται κατά την εκτέλεση του σώματος του module. Για βέλτιστες " +"πρακτικές σχετικά με την εργασία με :attr:`__annotations__`, ανατρέξτε στο :" +"ref:`annotations-howto`." -#: reference/datamodel.rst:1078 -msgid "Module dictionaries" -msgstr "" - -#: reference/datamodel.rst:1080 -msgid "Module objects also have the following special read-only attribute:" -msgstr "" - -#: reference/datamodel.rst:1085 +#: reference/datamodel.rst:909 msgid "" -"The module's namespace as a dictionary object. Uniquely among the attributes " -"listed here, :attr:`!__dict__` cannot be accessed as a global variable from " -"within a module; it can only be accessed as an attribute on module objects." +"Special read-only attribute: :attr:`~object.__dict__` is the module's " +"namespace as a dictionary object." msgstr "" +"Ειδικό χαρακτηριστικό μόνο για ανάγνωση: :attr:`~object.__dict__` είναι ο " +"χώρος ονομάτων του module ως αντικείμενο λεξικού." -#: reference/datamodel.rst:1091 +#: reference/datamodel.rst:914 msgid "" "Because of the way CPython clears module dictionaries, the module dictionary " "will be cleared when the module falls out of scope even if the dictionary " "still has live references. To avoid this, copy the dictionary or keep the " "module around while using its dictionary directly." msgstr "" +"Λόγω του τρόπου με τον οποίο η CPython διαγράφει τα λεξικά των modules το " +"λεξικό του module θα διαγραφεί όταν το module πέσει εκτός πεδίου εφαρμογής, " +"ακόμα κι αν το λεξικό εξακολουθεί να έχει ζωντανές αναφορές. Για να " +"αποφύγετε αυτό, αντιγράψτε το λεξικό ή κρατήστε το module ενώ " +"χρησιμοποιείται απευθείας το λεξικό της." -#: reference/datamodel.rst:1100 +#: reference/datamodel.rst:921 msgid "Custom classes" -msgstr "" +msgstr "Προσαρμοσμένες κλάσεις" -#: reference/datamodel.rst:1102 +#: reference/datamodel.rst:923 msgid "" "Custom class types are typically created by class definitions (see section :" "ref:`class`). A class has a namespace implemented by a dictionary object. " @@ -1257,10 +1505,25 @@ msgid "" "order which behaves correctly even in the presence of 'diamond' inheritance " "structures where there are multiple inheritance paths leading back to a " "common ancestor. Additional details on the C3 MRO used by Python can be " -"found at :ref:`python_2.3_mro`." -msgstr "" - -#: reference/datamodel.rst:1123 +"found in the documentation accompanying the 2.3 release at https://www." +"python.org/download/releases/2.3/mro/." +msgstr "" +"Οι τύποι προσαρμοσμένων κλάσεων δημιουργούνται συνήθως από ορισμούς κλάσεων " +"(βλ. ενότητα :ref:`class`). Μια κλάση έχει έναν χώρο ονομάτων που " +"υλοποιείται από ένα αντικείμενο λεξικού. Οι αναφορές χαρακτηριστικών κλάσης " +"μεταφράζονται σε αναζητήσεις σε αυτό το λεξικό, π.χ., το ``C.x`` " +"μεταφράζεται σε ``C.__dict__[\"x\"]`` (αν και άλλα μέσα για τα οποία " +"επιτρέπεται ο αριθμός των θέσεων υπάρχουν). Όταν το όνομα του " +"χαρακτηριστικού δεν βρίσκεται εκεί, η αναζήτηση χαρακτηριστικών συνεχίζεται " +"στις βασικές κλάσεις. Αυτή η αναζήτηση των βασικών κλάσεων χρησιμοποιεί τη " +"σειρά ανάλυσης της μεθόδου C3 η οποία συμπεριφέρεται σωστά ακόμη και με την " +"παρουσία δομών κληρονομικότητας «διαμάντι» όπου υπάρχουν πολλαπλές διαδρομές " +"κληρονομικότητας που οδηγούν πίσω σε έναν κοινό πρόγονο. Πρόσθετε " +"λεπτομέρειες για το C3 MRO που χρησιμοποιείται από την Python μπορείτε να " +"βρείτε στην τεκμηρίωση που συνοδεύει την έκδοση 2.3 στη διεύθυνση https://" +"www.python.org/download/releases/2.3/mro/." + +#: reference/datamodel.rst:947 msgid "" "When a class attribute reference (for class :class:`!C`, say) would yield a " "class method object, it is transformed into an instance method object whose :" @@ -1270,123 +1533,105 @@ msgid "" "which attributes retrieved from a class may differ from those actually " "contained in its :attr:`~object.__dict__`." msgstr "" +"Όταν μια αναφορά χαρακτηριστικού κλάσης (για την κλάση :class:`!C`, ας " +"πούμε) θα έδινε ένα αντικείμενο μεθόδου κλάσης, μετατρέπεται σε ένα " +"αντικείμενο μεθόδου παρουσίας του οποίου το χαρακτηριστικό :attr:`~method." +"__self__` είναι :class:`!C`. Όταν θα έδινε ένα αντικείμενο :class:" +"`staticmethod`, μετατρέπεται στο αντικείμενο που είναι wrapped από το " +"αντικείμενο στατικής μεθόδου. Δείτε την ενότητα :ref:`descriptors` για έναν " +"άλλο τρόπο με το οποίο τα χαρακτηριστικά που ανακτώνται από μια κλάση μπορεί " +"να διαφέρουν από αυτά που πραγματικά περιέχονται στο :attr:`~object." +"__dict__` της." -#: reference/datamodel.rst:1134 +#: reference/datamodel.rst:958 msgid "" "Class attribute assignments update the class's dictionary, never the " "dictionary of a base class." msgstr "" +"Οι αναθέσεις χαρακτηριστικών κλάσης ενημερώνουν το λεξικό της κλάσης, ποτέ " +"το λεξικό μιας βασικής κλάσης." -#: reference/datamodel.rst:1139 +#: reference/datamodel.rst:963 msgid "" "A class object can be called (see above) to yield a class instance (see " "below)." msgstr "" +"Ένα αντικείμενο κλάσης μπορεί να κληθεί (δείτε παραπάνω) για να δώσει ένα " +"στιγμιότυπο κλάσης (δείτε παρακάτω)." -#: reference/datamodel.rst:1273 -msgid "Special attributes" -msgstr "" - -#: reference/datamodel.rst:1160 -msgid "" -"The class's name. See also: :attr:`__name__ attributes `." -msgstr "" - -#: reference/datamodel.rst:1164 -msgid "" -"The class's :term:`qualified name`. See also: :attr:`__qualname__ attributes " -"`." -msgstr "" +#: reference/datamodel.rst:974 +msgid "Special attributes:" +msgstr "Ειδικά χαρακτηριστικά:" -#: reference/datamodel.rst:1168 -msgid "The name of the module in which the class was defined." -msgstr "" +#: reference/datamodel.rst:977 +msgid ":attr:`~definition.__name__`" +msgstr ":attr:`~definition.__name__`" -#: reference/datamodel.rst:1171 -msgid "" -"A :class:`mapping proxy ` providing a read-only view " -"of the class's namespace. See also: :attr:`__dict__ attributes `." -msgstr "" +#: reference/datamodel.rst:977 +msgid "The class name." +msgstr "Το όνομα της κλάσης." -#: reference/datamodel.rst:1176 -msgid "" -"A :class:`tuple` containing the class's bases. In most cases, for a class " -"defined as ``class X(A, B, C)``, ``X.__bases__`` will be exactly equal to " -"``(A, B, C)``." -msgstr "" +#: reference/datamodel.rst:980 +msgid ":attr:`__module__`" +msgstr ":attr:`__module__`" -#: reference/datamodel.rst:1181 -msgid "" -"The class's documentation string, or ``None`` if undefined. Not inherited by " -"subclasses." -msgstr "" +#: reference/datamodel.rst:980 +msgid "The name of the module in which the class was defined." +msgstr "Το όνομα του module στην οποία ορίστηκε η κλάση." -#: reference/datamodel.rst:1185 -msgid "" -"A dictionary containing :term:`variable annotations ` " -"collected during class body execution. For best practices on working with :" -"attr:`!__annotations__`, please see :ref:`annotations-howto`." -msgstr "" +#: reference/datamodel.rst:983 +msgid ":attr:`~object.__dict__`" +msgstr ":attr:`~object.__dict__`" -#: reference/datamodel.rst:1192 -msgid "" -"Accessing the :attr:`!__annotations__` attribute of a class object directly " -"may yield incorrect results in the presence of metaclasses. In addition, the " -"attribute may not exist for some classes. Use :func:`inspect." -"get_annotations` to retrieve class annotations safely." -msgstr "" +#: reference/datamodel.rst:983 +msgid "The dictionary containing the class's namespace." +msgstr "Το λεξικό που περιέχει τον χώρο ονομάτων της κλάσης." -#: reference/datamodel.rst:1199 -msgid "" -"A :class:`tuple` containing the :ref:`type parameters ` of a :" -"ref:`generic class `." -msgstr "" +#: reference/datamodel.rst:987 +msgid ":attr:`~class.__bases__`" +msgstr ":attr:`~class.__bases__`" -#: reference/datamodel.rst:1205 +#: reference/datamodel.rst:986 msgid "" -"The :class:`tuple` of classes that are considered when looking for base " -"classes during method resolution." -msgstr "" - -#: reference/datamodel.rst:1210 -msgid "Special methods" +"A tuple containing the base classes, in the order of their occurrence in the " +"base class list." msgstr "" +"Μια πλειάδα που περιέχει τις βασικές κλάσεις, με τη σειρά εμφάνισής τους στη " +"λίστα βασικών κλάσεων." -#: reference/datamodel.rst:1212 -msgid "" -"In addition to the special attributes described above, all Python classes " -"also have the following two methods available:" +#: reference/datamodel.rst:990 +msgid "The class's documentation string, or ``None`` if undefined." msgstr "" +"Η συμβολοσειρά τεκμηρίωσης της κλάσης, ή ``None`` εάν δεν έχει οριστεί." -#: reference/datamodel.rst:1217 +#: reference/datamodel.rst:993 msgid "" -"This method can be overridden by a metaclass to customize the method " -"resolution order for its instances. It is called at class instantiation, " -"and its result is stored in :attr:`~type.__mro__`." +"A dictionary containing :term:`variable annotations ` " +"collected during class body execution. For best practices on working with :" +"attr:`__annotations__`, please see :ref:`annotations-howto`." msgstr "" +"Ένα λεξικό που περιέχει :term:`variable annotations ` " +"που συλλέγεται κατά την εκτέλεση του σώματος της κλάσης. Για βέλτιστες " +"πρακτικές σχετικά με την εργασία με :attr:`__annotations__`, ανατρέξτε στο :" +"ref:`annotations-howto`." -#: reference/datamodel.rst:1223 -msgid "" -"Each class keeps a list of weak references to its immediate subclasses. This " -"method returns a list of all those references still alive. The list is in " -"definition order. Example:" -msgstr "" +#: reference/datamodel.rst:1002 +msgid ":attr:`__type_params__`" +msgstr ":attr:`__type_params__`" -#: reference/datamodel.rst:1227 +#: reference/datamodel.rst:1000 msgid "" -">>> class A: pass\n" -">>> class B(A): pass\n" -">>> A.__subclasses__()\n" -"[]" +"A tuple containing the :ref:`type parameters ` of a :ref:" +"`generic class `." msgstr "" +"Μια πλειάδα που περιέχει τις παραμέτρους :ref:`type parameters ` μιας :ref:`generic class `." -#: reference/datamodel.rst:1235 +#: reference/datamodel.rst:1005 msgid "Class instances" -msgstr "" +msgstr "Στιγμιότυπα κλάσης" -#: reference/datamodel.rst:1243 +#: reference/datamodel.rst:1013 msgid "" "A class instance is created by calling a class object (see above). A class " "instance has a namespace implemented as a dictionary which is the first " @@ -1402,37 +1647,58 @@ msgid "" "class attribute is found, and the object's class has a :meth:`~object." "__getattr__` method, that is called to satisfy the lookup." msgstr "" - -#: reference/datamodel.rst:1259 +"Ένα στιγμιότυπο κλάσης δημιουργείται καλώντας ένα αντικείμενο κλάσης (δείτε " +"παραπάνω). Ένα στιγμιότυπο κλάσης έχει έναν χώρο ονομάτων που υλοποιείται " +"ως λεξικό που είναι το πρώτο μέρος στο οποίο αναζητούνται οι αναφορές " +"χαρακτηριστικών. Όταν ένα χαρακτηριστικό δεν βρίσκεται εκεί και η κλάση του " +"στιγμιοτύπου έχει ένα χαρακτηριστικό με αυτό το όνομα, η αναζήτηση " +"συνεχίζεται με τα χαρακτηριστικά κλάσης. Εάν βρεθεί ένα χαρακτηριστικό " +"κλάσης που είναι ένα αντικείμενο συνάρτησης που ορίζεται από το χρήστη, " +"μετατρέπεται σε ένα αντικείμενο μεθόδου στιγμιοτύπου του οποίου το " +"χαρακτηριστικό :attr:`~method.__self__` είναι το στιγμιότυπο. Τα " +"αντικείμενα στατικής μεθόδου και μεθόδου κλάσης μετασχηματίζονται επίσης· " +"δείτε παραπάνω στην ενότητα \"Κλάσεις\". Δείτε την ενότητα :ref:" +"`descriptors` για έναν άλλο τρόπο με τον οποίο τα χαρακτηριστικά μιας κλάσης " +"που ανακτώνται μέσω των στιγμιοτύπων της μπορεί να διαφέρουν από τα " +"αντικείμενα που είναι πραγματικά αποθηκευμένα στο :attr:`~object.__dict__` " +"της κλάσης. Εάν δεν βρεθεί χαρακτηριστικό κλάσης και η κλάση του " +"αντικειμένου έχει μια μέθοδο :meth:`~object.__getattr__`, αυτή καλείται να " +"ικανοποιήσει την αναζήτηση." + +#: reference/datamodel.rst:1029 msgid "" "Attribute assignments and deletions update the instance's dictionary, never " "a class's dictionary. If the class has a :meth:`~object.__setattr__` or :" "meth:`~object.__delattr__` method, this is called instead of updating the " "instance dictionary directly." msgstr "" +"Οι αναθέσεις χαρακτηριστικών ενημερώνουν το λεξικό της παρουσίας και πότε το " +"λεξικό μιας κλάσης. Εάν η κλάση έχει μια μέθοδο :meth:`~object.__setattr__` " +"ή :meth:`~object.__delattr__`, καλείται αντί να ενημερώνεται απευθείας το " +"λεξικό του στιγμιοτύπου." -#: reference/datamodel.rst:1269 +#: reference/datamodel.rst:1039 msgid "" "Class instances can pretend to be numbers, sequences, or mappings if they " "have methods with certain special names. See section :ref:`specialnames`." msgstr "" +"Τα στιγμιότυπα κλάσεων μπορούν να προσποιηθούν ότι είναι αριθμοί, ακολουθίες " +"ή αντιστοιχίσεις εάν έχουν μεθόδους με συγκεκριμένα ειδικά ονόματα. Δείτε " +"την ενότητα :ref:`specialnames`." -#: reference/datamodel.rst:1281 -msgid "The class to which a class instance belongs." -msgstr "" - -#: reference/datamodel.rst:1285 +#: reference/datamodel.rst:1046 msgid "" -"A dictionary or other mapping object used to store an object's (writable) " -"attributes. Not all instances have a :attr:`!__dict__` attribute; see the " -"section on :ref:`slots` for more details." +"Special attributes: :attr:`~object.__dict__` is the attribute dictionary; :" +"attr:`~instance.__class__` is the instance's class." msgstr "" +"Ειδικά χαρακτηριστικά :attr:`~object.__dict__` είναι το λεξικό " +"χαρακτηριστικών· :attr:`~instance.__class__` είναι η κλάση του στιγμιοτύπου." -#: reference/datamodel.rst:1291 +#: reference/datamodel.rst:1051 msgid "I/O objects (also known as file objects)" -msgstr "" +msgstr "Αντικείμενα εισόδου/εξόδου (γνωστά και ως αντικείμενα αρχείου)" -#: reference/datamodel.rst:1306 +#: reference/datamodel.rst:1066 msgid "" "A :term:`file object` represents an open file. Various shortcuts are " "available to create file objects: the :func:`open` built-in function, and " @@ -1440,31 +1706,45 @@ msgid "" "makefile` method of socket objects (and perhaps by other functions or " "methods provided by extension modules)." msgstr "" +"Ένα αντικείμενο :term:`file object` αντιπροσωπεύει ένα ανοιχτό αρχείο. " +"Διάφορες συντομεύσεις είναι διαθέσιμες για τη δημιουργία αντικειμένων " +"αρχείου: η ενσωματωμένη συνάρτηση :func:`open`, και επίσης :func:`os." +"popen`, :func:`os.fdopen`, και τη μέθοδο :meth:`~socket.socket.makefile` των " +"αντικειμένων socket (και ίσως από άλλες συναρτήσεις ή μεθόδους που " +"παρέχονται από modules επέκτασης)." -#: reference/datamodel.rst:1312 +#: reference/datamodel.rst:1072 msgid "" "The objects ``sys.stdin``, ``sys.stdout`` and ``sys.stderr`` are initialized " "to file objects corresponding to the interpreter's standard input, output " "and error streams; they are all open in text mode and therefore follow the " "interface defined by the :class:`io.TextIOBase` abstract class." msgstr "" +"Τα αντικείμενα ``sys.stdin``, ``sys.stdout`` και ``sys.stderr`` " +"αρχικοποιούνται για να αρχειοθετούν αντικείμενα που αντιστοιχούν στις " +"τυπικές ροές εισόδου, εξόδου και σφαλμάτων του διερμηνέα· είναι όλα ανοιχτά " +"σε λειτουργία κειμένου και επομένως ακολουθούν τη διεπαφή που ορίζεται από " +"την αφηρημένη κλάση :class:`io.TextIOBase`." -#: reference/datamodel.rst:1320 +#: reference/datamodel.rst:1080 msgid "Internal types" -msgstr "" +msgstr "Εσωτερικοί τύποι" -#: reference/datamodel.rst:1326 +#: reference/datamodel.rst:1086 msgid "" "A few types used internally by the interpreter are exposed to the user. " "Their definitions may change with future versions of the interpreter, but " "they are mentioned here for completeness." msgstr "" +"Μερικοί τύποι που χρησιμοποιούνται εσωτερικά από τον διερμηνέα εκτίθενται " +"στο χρήστη. Οι ορισμοί τους μπορεί να αλλάξουν με μελλοντικές εκδόσεις του " +"διερμηνέα, αλλά αναφέρονται εδώ για πληρότητα." -#: reference/datamodel.rst:1334 +#: reference/datamodel.rst:1094 msgid "Code objects" -msgstr "" +msgstr "Αντικείμενα κώδικα" -#: reference/datamodel.rst:1338 +#: reference/datamodel.rst:1098 msgid "" "Code objects represent *byte-compiled* executable Python code, or :term:" "`bytecode`. The difference between a code object and a function object is " @@ -1475,104 +1755,142 @@ msgid "" "run-time). Unlike function objects, code objects are immutable and contain " "no references (directly or indirectly) to mutable objects." msgstr "" - -#: reference/datamodel.rst:1372 +"Τα αντικείμενα κώδικα αντιπροσωπεύουν *byte-compiled* εκτελέσιμο κώδικα " +"Python, ή :term:`bytecode`. Η διαφορά μεταξύ ενός αντικειμένου κώδικα και " +"ενός αντικειμένου συνάρτησης είναι ότι το αντικείμενο συνάρτησης περιέχει " +"μια ρητή αναφορά στα καθολικά της συνάρτησης (το module στο οποίο ορίστηκε), " +"ενώ ένα αντικείμενο κώδικα δεν περιέχει πλαίσιο· επίσης, οι προεπιλεγμένες " +"τιμές ορίσματος αποθηκεύονται στο αντικείμενο συνάρτησης, όχι στο " +"αντικείμενο κώδικα (επειδή αντιπροσωπεύουν τιμές που υπολογίζονται κατά τον " +"χρόνο εκτέλεσης). Σε αντίθεση με τα αντικείμενα συνάρτησης, τα αντικείμενα " +"κώδικα είναι αμετάβλητα και δεν περιέχουν αναφορές (άμεσα ή έμμεσα) σε " +"μεταβλητά αντικείμενα." + +#: reference/datamodel.rst:1132 msgid "The function name" -msgstr "" +msgstr "Το όνομα της συνάρτησης" -#: reference/datamodel.rst:1375 +#: reference/datamodel.rst:1135 msgid "The fully qualified function name" -msgstr "" +msgstr "Το πλήρως αναγνωρισμένο όνομα συνάρτησης" -#: reference/datamodel.rst:1380 +#: reference/datamodel.rst:1140 msgid "" "The total number of positional :term:`parameters ` (including " "positional-only parameters and parameters with default values) that the " "function has" msgstr "" +"Ο συνολικός αριθμός των θέσεων :term:`parameters ` " +"(συμπεριλαμβανομένων των παραμέτρων μόνο θέσης και παραμέτρων με " +"προεπιλεγμένες τιμές) που έχει η συνάρτηση" -#: reference/datamodel.rst:1385 +#: reference/datamodel.rst:1145 msgid "" "The number of positional-only :term:`parameters ` (including " "arguments with default values) that the function has" msgstr "" +"Ο αριθμός των :term:`parameters ` θέσεως (συμπεριλαμβανομένων " +"ορισμάτων με προεπιλεγμένες τιμές) που έχει η συνάρτηση" -#: reference/datamodel.rst:1389 +#: reference/datamodel.rst:1149 msgid "" "The number of keyword-only :term:`parameters ` (including " "arguments with default values) that the function has" msgstr "" +"Ο αριθμός των :term:`parameters ` λέξεων κλειδιών " +"(συμπεριλαμβανομένων ορισμάτων με προεπιλεγμένες τιμές) που έχει η συνάρτηση" -#: reference/datamodel.rst:1393 +#: reference/datamodel.rst:1153 msgid "" "The number of :ref:`local variables ` used by the function " "(including parameters)" msgstr "" +"Ο αριθμός των :ref:`local variables ` που χρησιμοποιούνται από τη " +"συνάρτηση (συμπεριλαμβανομένων των παραμέτρων)" -#: reference/datamodel.rst:1397 +#: reference/datamodel.rst:1157 msgid "" "A :class:`tuple` containing the names of the local variables in the function " "(starting with the parameter names)" msgstr "" +"Μια :class:`tuple` που περιέχει τα ονόματα των τοπικών μεταβλητών στη " +"συνάρτηση (ξεκινώντας με τα ονόματα των παραμέτρων)" -#: reference/datamodel.rst:1401 +#: reference/datamodel.rst:1161 msgid "" "A :class:`tuple` containing the names of :ref:`local variables ` " "that are referenced by nested functions inside the function" msgstr "" +"Μια :class:`tuple` που περιέχει τα ονόματα των :ref:`local variables " +"` που αναφέρονται από ένθετες συναρτήσεις μέσα στη συνάρτηση" -#: reference/datamodel.rst:1405 +#: reference/datamodel.rst:1165 msgid "A :class:`tuple` containing the names of free variables in the function" msgstr "" +"Μια :class:`tuple` που περιέχει τα ονόματα των ελεύθερων μεταβλητών στη " +"συνάρτηση" -#: reference/datamodel.rst:1408 +#: reference/datamodel.rst:1168 msgid "" "A string representing the sequence of :term:`bytecode` instructions in the " "function" msgstr "" +"Μια συμβολοσειρά που αντιπροσωπεύει την ακολουθία εντολών :term:`bytecode` " +"στη συνάρτηση" -#: reference/datamodel.rst:1412 +#: reference/datamodel.rst:1172 msgid "" "A :class:`tuple` containing the literals used by the :term:`bytecode` in the " "function" msgstr "" +"Μια :class:`tuple` που περιέχει τα literals που χρησιμοποιούνται από το :" +"term:`bytecode` στη συνάρτηση" -#: reference/datamodel.rst:1416 +#: reference/datamodel.rst:1176 msgid "" "A :class:`tuple` containing the names used by the :term:`bytecode` in the " "function" msgstr "" +"Μια :class:`tuple` που περιέχει τα ονόματα που χρησιμοποιούνται από τον :" +"term:`bytecode` στην συνάρτηση" -#: reference/datamodel.rst:1420 +#: reference/datamodel.rst:1180 msgid "The name of the file from which the code was compiled" -msgstr "" +msgstr "Το όνομα του αρχείου από το οποίο συντάχθηκε ο κώδικας" -#: reference/datamodel.rst:1423 +#: reference/datamodel.rst:1183 msgid "The line number of the first line of the function" -msgstr "" +msgstr "Ο αριθμός γραμμής της πρώτης γραμμής της συνάρτησης" -#: reference/datamodel.rst:1426 +#: reference/datamodel.rst:1186 msgid "" "A string encoding the mapping from :term:`bytecode` offsets to line numbers. " "For details, see the source code of the interpreter." msgstr "" +"Μια συμβολοσειρά που κωδικοποιεί την αντιστοίχιση από τον :term:`bytecode` " +"μετατοπίζεται σε αριθμούς γραμμών. Για λεπτομέρειες, ανατρέξτε στον πηγαίο " +"κώδικα του διερμηνέα." -#: reference/datamodel.rst:1429 +#: reference/datamodel.rst:1189 msgid "" "This attribute of code objects is deprecated, and may be removed in Python " -"3.15." +"3.14." msgstr "" +"Αυτό το χαρακτηριστικό των αντικειμένων κώδικα έχει καταργηθεί, και μπορεί " +"να αφαιρεθεί στην Python 3.14." -#: reference/datamodel.rst:1434 +#: reference/datamodel.rst:1194 msgid "The required stack size of the code object" -msgstr "" +msgstr "Το απαιτούμενο μέγεθος στοίβας του αντικειμένου κώδικα" -#: reference/datamodel.rst:1437 +#: reference/datamodel.rst:1197 msgid "" "An :class:`integer ` encoding a number of flags for the interpreter." msgstr "" +"Μια :class:`integer ` που κωδικοποιεί έναν αριθμό flags για τον " +"διερμηνέα." -#: reference/datamodel.rst:1442 +#: reference/datamodel.rst:1202 msgid "" "The following flag bits are defined for :attr:`~codeobject.co_flags`: bit " "``0x04`` is set if the function uses the ``*arguments`` syntax to accept an " @@ -1582,8 +1900,15 @@ msgid "" "`inspect-module-co-flags` for details on the semantics of each flags that " "might be present." msgstr "" +"Τα ακόλουθα flag bits ορίζονται για :attr:`~codeobject.co_flags`: το bit " +"``0x04`` ορίζεται εάν η συνάρτηση χρησιμοποιεί τη σύνταξη ``*arguments`` για " +"να αποδεχτεί έναν αυθαίρετο αριθμό ορισμάτων θέσης· το bit ``0x08`` ορίζεται " +"εάν η συνάρτηση χρησιμοποιεί τη σύνταξη ``**keywords`` για να δέχεται " +"αυθαίρετα ορίσματα λέξεων-κλειδιών· το bit ``0x20`` ορίζεται εάν η συνάρτηση " +"είναι γεννήτρια. Δείτε το :ref:`inspect-module-co-flags` για λεπτομέρειες " +"σχετικά με τη σημασιολογία κάθε σημαίας που μπορεί να υπάρχει." -#: reference/datamodel.rst:1450 +#: reference/datamodel.rst:1210 msgid "" "Future feature declarations (``from __future__ import division``) also use " "bits in :attr:`~codeobject.co_flags` to indicate whether a code object was " @@ -1591,68 +1916,94 @@ msgid "" "function was compiled with future division enabled; bits ``0x10`` and " "``0x1000`` were used in earlier versions of Python." msgstr "" +"Οι δηλώσεις μελλοντικών χαρακτηριστικών (``from __future__ import " +"division``) χρησιμοποιούν επίσης bit στο :attr:`~codeobject.co_flags` για να " +"υποδείξουν εάν ένα αντικείμενο κώδικα έχει μεταγλωττιστεί με ένα " +"συγκεκριμένο χαρακτηριστικό ενεργοποιημένο: το bit ``0x2000`` ορίζεται εάν η " +"συνάρτηση μεταγλωττίστηκε με ενεργοποιημένη τη μελλοντική διαίρεση· τα bits " +"``0x10`` και ``0x1000`` χρησιμοποιήθηκαν σε προηγούμενες εκδόσεις της Python." -#: reference/datamodel.rst:1456 +#: reference/datamodel.rst:1216 msgid "" "Other bits in :attr:`~codeobject.co_flags` are reserved for internal use." msgstr "" +"Άλλα bits στο :attr:`~codeobject.co_flags` είναι δεσμευμένα για εσωτερική " +"χρήση." -#: reference/datamodel.rst:1460 +#: reference/datamodel.rst:1220 msgid "" "If a code object represents a function, the first item in :attr:`~codeobject." "co_consts` is the documentation string of the function, or ``None`` if " "undefined." msgstr "" +"Εάν ένα αντικείμενο κώδικα αντιπροσωπεύει μια συνάρτηση, το πρώτο στοιχείο " +"στο :attr:`~codeobject.co_consts` είναι η συμβολοσειρά τεκμηρίωσης της " +"συνάρτησης ή ``None`` εάν δεν έχει οριστεί." -#: reference/datamodel.rst:1465 +#: reference/datamodel.rst:1225 msgid "Methods on code objects" -msgstr "" +msgstr "Μέθοδοι σε αντικείμενα κώδικα" -#: reference/datamodel.rst:1469 +#: reference/datamodel.rst:1229 msgid "" "Returns an iterable over the source code positions of each :term:`bytecode` " "instruction in the code object." msgstr "" +"Επιστρέφει έναν iterable πάνω από τις θέσεις του πηγαίου κώδικα κάθε " +"εντολής :term:`bytecode` στο αντικείμενο κώδικα." -#: reference/datamodel.rst:1472 +#: reference/datamodel.rst:1232 msgid "" "The iterator returns :class:`tuple`\\s containing the ``(start_line, " "end_line, start_column, end_column)``. The *i-th* tuple corresponds to the " -"position of the source code that compiled to the *i-th* code unit. Column " +"position of the source code that compiled to the *i-th* instruction. Column " "information is 0-indexed utf-8 byte offsets on the given source line." msgstr "" +"Ο iterator επιστρέφει :class:`tuple`\\s που περιέχει το ``(start_line, " +"end_line, start_column, end_column)``. Η πλειάδα *i-th* αντιστοιχεί στη θέση " +"του πηγαίου κώδικα που μεταγλωττίστηκε στην εντολή *i-th*. Οι πληροφορίες " +"στηλών είναι μετατοπίσεις utf-8 byte με ευρετήριο 0 στη δεδομένη γραμμή " +"πηγής." -#: reference/datamodel.rst:1478 +#: reference/datamodel.rst:1238 msgid "" "This positional information can be missing. A non-exhaustive lists of cases " "where this may happen:" msgstr "" +"Αυτές οι πληροφορίες θέσης μπορεί να λείπουν. Μια μη εξαντλητική λίστα " +"περιπτώσεων όπου αυτό μπορεί να συμβεί:" -#: reference/datamodel.rst:1481 +#: reference/datamodel.rst:1241 msgid "Running the interpreter with :option:`-X` ``no_debug_ranges``." -msgstr "" +msgstr "Εκτέλεση του διερμηνέα με :option:`-X` ``no_debug_ranges``." -#: reference/datamodel.rst:1482 +#: reference/datamodel.rst:1242 msgid "" "Loading a pyc file compiled while using :option:`-X` ``no_debug_ranges``." msgstr "" +"Φόρτωση ενός αρχείου pyc που έχει μεταγλωττιστεί κατά τη χρήση του :option:`-" +"X` ``no_debug_ranges``." -#: reference/datamodel.rst:1483 +#: reference/datamodel.rst:1243 msgid "Position tuples corresponding to artificial instructions." -msgstr "" +msgstr "Τοποθετεί τις πλειάδες που αντιστοιχούν σε τεχνικές οδηγίες." -#: reference/datamodel.rst:1484 +#: reference/datamodel.rst:1244 msgid "" "Line and column numbers that can't be represented due to implementation " "specific limitations." msgstr "" +"Αριθμοί γραμμών και στηλών που δεν μπορούν να αναπαρασταθούν λόγω " +"περιορισμών για την υλοποίηση." -#: reference/datamodel.rst:1487 +#: reference/datamodel.rst:1247 msgid "" "When this occurs, some or all of the tuple elements can be :const:`None`." msgstr "" +"Όταν συμβαίνει αυτό, ορισμένα η όλα τα πολλαπλά στοιχεία μπορεί να είναι :" +"const:`None`." -#: reference/datamodel.rst:1493 +#: reference/datamodel.rst:1253 msgid "" "This feature requires storing column positions in code objects which may " "result in a small increase of disk usage of compiled Python files or " @@ -1661,161 +2012,225 @@ msgid "" "``no_debug_ranges`` command line flag or the :envvar:`PYTHONNODEBUGRANGES` " "environment variable can be used." msgstr "" +"Αυτή η δυνατότητα απαιτεί αποθήκευση θέσεων στηλών σε αντικείμενα κώδικα που " +"μπορεί να οδηγήσει σε μικρή αύξηση της χρήσης δίσκου των μεταγλωττισμένων " +"αρχείων Python ή της χρήσης μνήμης διερμηνέα. Για να αποφύγετε την " +"αποθήκευση των επιπλέον πληροφοριών ή/και να απενεργοποιήσετε την εκτύπωση " +"των επιπλέον πληροφοριών παρακολούθησης, μπορεί να χρησιμοποιηθεί η σημαία " +"γραμμής εντολών :option:`-X` ``no_debug_ranges`` ή η μεταβλητή " +"περιβάλλοντος :envvar:`PYTHONNODEBUGRANGES`." -#: reference/datamodel.rst:1502 +#: reference/datamodel.rst:1262 msgid "" "Returns an iterator that yields information about successive ranges of :term:" "`bytecode`\\s. Each item yielded is a ``(start, end, lineno)`` :class:" "`tuple`:" msgstr "" +"Επιστρέφει έναν iterator που παράγει πληροφορίες σχετικά με διαδοχικά εύρη :" +"term:`bytecode`\\s. Κάθε στοιχείο που αποδίδεται είναι μια ``(start, end, " +"lineno)`` :class:`tuple`:" -#: reference/datamodel.rst:1506 +#: reference/datamodel.rst:1266 msgid "" "``start`` (an :class:`int`) represents the offset (inclusive) of the start " "of the :term:`bytecode` range" msgstr "" +"Το ``start`` (ένα :class:`int`) αναπαριστά τη μετατόπιση " +"(συμπεριλαμβανομένης) της έναρξης του εύρους :term:`bytecode`" -#: reference/datamodel.rst:1508 +#: reference/datamodel.rst:1268 msgid "" "``end`` (an :class:`int`) represents the offset (exclusive) of the end of " "the :term:`bytecode` range" msgstr "" +"Το ``end`` (ένα :class:`int`) αναπαριστά τη μετατόπιση (αποκλειστική) του " +"τέλους του εύρους :term:`bytecode`" -#: reference/datamodel.rst:1510 +#: reference/datamodel.rst:1270 msgid "" "``lineno`` is an :class:`int` representing the line number of the :term:" "`bytecode` range, or ``None`` if the bytecodes in the given range have no " "line number" msgstr "" +"Το ``lineno`` είναι ένα :class:`int` που αναπαριστά τον αριθμό γραμμής του " +"εύρους :term:`bytecode` ή ``None`` εάν τα bytecodes στη δεδομένη περιοχή δεν " +"έχουν αριθμό γραμμής" -#: reference/datamodel.rst:1514 +#: reference/datamodel.rst:1274 msgid "The items yielded will have the following properties:" -msgstr "" +msgstr "Τα στοιχεία που θα προκύψουν θα έχουν τις ακόλουθες ιδιότητες:" -#: reference/datamodel.rst:1516 +#: reference/datamodel.rst:1276 msgid "The first range yielded will have a ``start`` of 0." -msgstr "" +msgstr "Το πρώτο εύρος που θα προκύψει θα έχει ένα ``start`` 0." -#: reference/datamodel.rst:1517 +#: reference/datamodel.rst:1277 msgid "" "The ``(start, end)`` ranges will be non-decreasing and consecutive. That is, " "for any pair of :class:`tuple`\\s, the ``start`` of the second will be equal " "to the ``end`` of the first." msgstr "" +"Τα εύρη ``(start, end)`` θα είναι μη φθίνουσες και διαδοχικές. Δηλαδή, για " +"οποιοδήποτε ζεύγος :class:`tuple`\\s, το ``start`` του δεύτερου θα είναι ίσο " +"με το το ``end`` του πρώτου." -#: reference/datamodel.rst:1520 +#: reference/datamodel.rst:1280 msgid "No range will be backwards: ``end >= start`` for all triples." msgstr "" +"Κανένα εύρος δεν θα είναι προς τα πίσω: ``end >= start`` για όλες τις " +"τριάδες." -#: reference/datamodel.rst:1521 +#: reference/datamodel.rst:1281 msgid "" "The last :class:`tuple` yielded will have ``end`` equal to the size of the :" "term:`bytecode`." msgstr "" +"Το τελευταίο :class:`tuple` που θα αποφέρει θα έχει ``end`` ίσο με το " +"μέγεθος του :term:`bytecode`." -#: reference/datamodel.rst:1524 +#: reference/datamodel.rst:1284 msgid "" "Zero-width ranges, where ``start == end``, are allowed. Zero-width ranges " "are used for lines that are present in the source code, but have been " "eliminated by the :term:`bytecode` compiler." msgstr "" +"Εύρος μηδενικού πλάτους, όπου ``start == end``, επιτρέπονται. Τα εύρη " +"μηδενικού πλάτους χρησιμοποιούνται για γραμμές που υπάρχουν στον πηγαίο " +"κώδικα, αλλά έχουν εξαλειφθεί από τον μεταγλωττιστή :term:`bytecode`." -#: reference/datamodel.rst:1532 +#: reference/datamodel.rst:1292 msgid ":pep:`626` - Precise line numbers for debugging and other tools." msgstr "" +":pep:`626` - Ακριβείς αριθμοί γραμμών για εντοπισμό σφαλμάτων και άλλα " +"εργαλεία." -#: reference/datamodel.rst:1533 +#: reference/datamodel.rst:1293 msgid "The PEP that introduced the :meth:`!co_lines` method." -msgstr "" +msgstr "Το PEP που εισήγαγε τη μέθοδο :meth:`!co_lines`." -#: reference/datamodel.rst:1537 +#: reference/datamodel.rst:1297 msgid "" "Return a copy of the code object with new values for the specified fields." msgstr "" +"Επιστρέφει ένα αντίγραφο του αντικειμένου κώδικα με νέες τιμές για τα " +"καθορισμένα πεδία." -#: reference/datamodel.rst:1545 +#: reference/datamodel.rst:1305 msgid "Frame objects" -msgstr "" +msgstr "Πλαίσιο αντικειμένων" -#: reference/datamodel.rst:1549 +#: reference/datamodel.rst:1309 msgid "" "Frame objects represent execution frames. They may occur in :ref:`traceback " "objects `, and are also passed to registered trace " "functions." msgstr "" +"Τα αντικείμενα πλαισίου αναπαριστούν πλαίσια εκτέλεσης. Μπορούν να " +"εμφανίζονται σε :ref:`traceback objects `, και επίσης " +"μεταβιβάζονται σε καταχωρημένες συναρτήσεις ανίχνευσης." -#: reference/datamodel.rst:1567 +#: reference/datamodel.rst:1327 msgid "" "Points to the previous stack frame (towards the caller), or ``None`` if this " "is the bottom stack frame" msgstr "" +"Δείχνει το προηγούμενο πλαίσιο στοίβας (προς από εκεί που καλείται), ή " +"``None`` αν αυτό είναι το πλαίσιο της κάτω στοίβας" -#: reference/datamodel.rst:1571 +#: reference/datamodel.rst:1331 msgid "" "The :ref:`code object ` being executed in this frame. " "Accessing this attribute raises an :ref:`auditing event ` ``object." "__getattr__`` with arguments ``obj`` and ``\"f_code\"``." msgstr "" +"Το αντικείμενο :ref:`code object ` εκτελείται σε αυτό το " +"πλαίσιο. Η πρόσβαση σε αυτό το χαρακτηριστικό κάνει raise σε ένα συμβάν :ref:" +"`auditing event ` ``object.__getattr__`` με ορίσματα ``obj`` και " +"``\"f_code\"``." -#: reference/datamodel.rst:1576 +#: reference/datamodel.rst:1336 msgid "" "The dictionary used by the frame to look up :ref:`local variables `" msgstr "" +"Το λεξικό που χρησιμοποιείται από το πλαίσιο για την αναζήτηση σε :ref:" +"`local variables `" -#: reference/datamodel.rst:1580 +#: reference/datamodel.rst:1340 msgid "" "The dictionary used by the frame to look up :ref:`global variables `" msgstr "" +"Το λεξικό που χρησιμοποιείται από το πλαίσιο για την αναζήτηση :ref:`global " +"variables `" -#: reference/datamodel.rst:1584 +#: reference/datamodel.rst:1344 msgid "" "The dictionary used by the frame to look up :ref:`built-in (intrinsic) names " "`" msgstr "" +"Το λεξικό που χρησιμοποιείται από το πλαίσιο για την αναζήτηση :ref:`built-" +"in (intrinsic) names `" -#: reference/datamodel.rst:1588 +#: reference/datamodel.rst:1348 msgid "" "The \"precise instruction\" of the frame object (this is an index into the :" "term:`bytecode` string of the :ref:`code object `)" msgstr "" +"Η \"ακριβής εντολή\" του αντικειμένου πλαισίου (αυτό είναι ένα ευρετήριο στη " +"συμβολοσειρά :term:`bytecode` του αντικειμένου :ref:`code object `)" -#: reference/datamodel.rst:1604 +#: reference/datamodel.rst:1364 msgid "" "If not ``None``, this is a function called for various events during code " "execution (this is used by debuggers). Normally an event is triggered for " "each new source line (see :attr:`~frame.f_trace_lines`)." msgstr "" +"Εάν όχι ``None``, αυτή είναι μια συνάρτηση που καλείται για διάφορα συμβάντα " +"κατά την εκτέλεση κώδικα (αυτό χρησιμοποιείται από προγράμματα εντοπισμού " +"σφαλμάτων). Κανονικά ένα συμβάν ενεργοποιείται για κάθε νέα γραμμή πηγαίου " +"κώδικα (δείτε :attr:`~frame.f_trace_lines`)." -#: reference/datamodel.rst:1609 +#: reference/datamodel.rst:1369 msgid "" "Set this attribute to :const:`False` to disable triggering a tracing event " "for each source line." msgstr "" +"Ορίστε αυτό το χαρακτηριστικό σε :const:`False` για να απενεργοποιήσετε την " +"ενεργοποίηση ενός συμβάντος ανίχνευσης για κάθε γραμμή πηγαίου κώδικα." -#: reference/datamodel.rst:1613 +#: reference/datamodel.rst:1373 msgid "" "Set this attribute to :const:`True` to allow per-opcode events to be " "requested. Note that this may lead to undefined interpreter behaviour if " "exceptions raised by the trace function escape to the function being traced." msgstr "" +"Ορίζει αυτό το χαρακτηριστικό σε :const:`True` για να επιτρέψετε να ζητηθούν " +"συμβάντα ανά opcode. Σημειώστε ότι αυτό μπορεί να οδηγήσει σε απροσδιόριστη " +"συμπεριφορά διερμηνέα εάν οι εξαιρέσεις που προκύπτουν από τη συνάρτηση " +"ανίχνευσης διαφεύγουν στη συνάρτηση που παρακολουθείται." -#: reference/datamodel.rst:1619 +#: reference/datamodel.rst:1379 msgid "" "The current line number of the frame -- writing to this from within a trace " "function jumps to the given line (only for the bottom-most frame). A " "debugger can implement a Jump command (aka Set Next Statement) by writing to " "this attribute." msgstr "" +"Ο τρέχων αριθμός γραμμής του πλαισίου -- η εγγραφή σε αυτό μέσα από μια " +"συνάρτηση ανίχνευσης μεταβαίνει στη δεδομένη γραμμή (μόνο για το πιο κάτω " +"πλαίσιο). Ένας εντοπισμός σφαλμάτων μπορεί να εφαρμόσει μια εντολή " +"Μετάβασης (γνωστή και ως Ορισμός Επόμενης Δήλωσης) γράφοντας σε αυτό το " +"χαρακτηριστικό." -#: reference/datamodel.rst:1625 +#: reference/datamodel.rst:1385 msgid "Frame object methods" -msgstr "" +msgstr "Μέθοδοι αντικειμένων πλαισίου" -#: reference/datamodel.rst:1627 +#: reference/datamodel.rst:1387 msgid "Frame objects support one method:" -msgstr "" +msgstr "Τα αντικείμενα πλαισίου υποστηρίζουν μια μέθοδο:" -#: reference/datamodel.rst:1631 +#: reference/datamodel.rst:1391 msgid "" "This method clears all references to :ref:`local variables ` held by " "the frame. Also, if the frame belonged to a :term:`generator`, the " @@ -1823,27 +2238,41 @@ msgid "" "objects (for example when catching an :ref:`exception ` " "and storing its :ref:`traceback ` for later use)." msgstr "" +"Αυτή η μέθοδος διαγράφει όλες τις αναφορές σε :ref:`local variables " +"` που τηρούνται από το πλαίσιο. Επίσης, εάν το πλαίσιο ανήκε σε " +"ένα :term:`generator`, η γεννήτρια έχει οριστικοποιηθεί. Αυτό βοηθά στη " +"διακοπή των κύκλων αναφοράς που περιλαμβάνουν αντικείμενα πλαισίου (για " +"παράδειγμα, όταν γίνεται catch μια :ref:`exception ` και " +"αποθηκεύετε το :ref:`traceback ` για μετέπειτα χρήση)." -#: reference/datamodel.rst:1637 +#: reference/datamodel.rst:1397 msgid ":exc:`RuntimeError` is raised if the frame is currently executing." msgstr "" +"Το :exc:`RuntimeError` γίνεται raise εάν το πλαίσιο εκτελείται αυτή την " +"στιγμή." -#: reference/datamodel.rst:1645 +#: reference/datamodel.rst:1405 msgid "Traceback objects" -msgstr "" +msgstr "Αντικείμενα ανίχνευσης" -#: reference/datamodel.rst:1658 +#: reference/datamodel.rst:1418 msgid "" "Traceback objects represent the stack trace of an :ref:`exception `. A traceback object is implicitly created when an exception occurs, " "and may also be explicitly created by calling :class:`types.TracebackType`." msgstr "" +"Τα αντικείμενα ανίχνευσης αντιπροσωπεύουν το ίχνος στοίβας μιας :ref:" +"`exception `. Ένα αντικείμενο traceback δημιουργείται σιωπηρά " +"όταν εμφανίζεται μια εξαίρεση και μπορεί επίσης να δημιουργηθεί ρητά " +"καλώντας το :class:`types.TracebackType`." -#: reference/datamodel.rst:1663 +#: reference/datamodel.rst:1423 msgid "Traceback objects can now be explicitly instantiated from Python code." msgstr "" +"Τα αντικείμενα Traceback μπορούν τώρα να δημιουργηθούν ρητά από τον κώδικα " +"Python." -#: reference/datamodel.rst:1666 +#: reference/datamodel.rst:1426 msgid "" "For implicitly created tracebacks, when the search for an exception handler " "unwinds the execution stack, at each unwound level a traceback object is " @@ -1853,82 +2282,114 @@ msgid "" "`sys.exc_info`, and as the :attr:`~BaseException.__traceback__` attribute of " "the caught exception." msgstr "" +"Για σιωπηρά δημιουργημένα tracebacks, όταν η αναζήτηση για έναν χειριστή " +"εξαιρέσεων ξετυλίγει τη στοίβα εκτέλεσης, σε κάθε επίπεδο ξετυλίγματος " +"εισάγεται ένα αντικείμενο traceback μπροστά από το τρέχον traceback. Όταν " +"εισάγεται ένα χειριστής εξαίρεσης, το ίχνος στοίβας διατίθεται στο " +"πρόγραμμα. (Δείτε την ενότητα :ref:`try`.) Είναι προσβάσιμο ως το τρίτο " +"στοιχείο της πλειάδα που επιστρέφεται από το :func:`sys.exc_info` και έχει " +"ως το χαρακτηριστικό :attr:`~BaseException.__traceback__` της εξαίρεσης που " +"έχει εντοπιστεί." -#: reference/datamodel.rst:1675 +#: reference/datamodel.rst:1435 msgid "" "When the program contains no suitable handler, the stack trace is written " "(nicely formatted) to the standard error stream; if the interpreter is " "interactive, it is also made available to the user as :data:`sys." "last_traceback`." msgstr "" +"Όταν το πρόγραμμα δεν περιέχει ον κατάλληλο χειριστή, το ίχνος στοίβας " +"γράφεται (όμορφα μορφοποιημένο) στην τυπική ροή σφαλμάτων· εάν ο διερμηνέα " +"είναι διαδραστικός, διατίθεται επίσης στον χρήστη ως :data:`sys." +"last_traceback`." -#: reference/datamodel.rst:1680 +#: reference/datamodel.rst:1440 msgid "" "For explicitly created tracebacks, it is up to the creator of the traceback " "to determine how the :attr:`~traceback.tb_next` attributes should be linked " "to form a full stack trace." msgstr "" +"Για ρητά δημιουργημένα tracebacks, εναπόκειται στον δημιουργό του traceback " +"να καθορίσει πως θα πρέπει να συνδεθούν, τα χαρακτηριστικά :attr:`~traceback." +"tb_next` για να σχηματίσουν ένα ίχνος πλήρους στοίβας." -#: reference/datamodel.rst:1695 +#: reference/datamodel.rst:1455 msgid "" "Points to the execution :ref:`frame ` of the current level." msgstr "" +"Δείχνει την εκτέλεση :ref:`frame ` του τρέχοντος επιπέδου." -#: reference/datamodel.rst:1698 +#: reference/datamodel.rst:1458 msgid "" "Accessing this attribute raises an :ref:`auditing event ` ``object." "__getattr__`` with arguments ``obj`` and ``\"tb_frame\"``." msgstr "" +"Η πρόσβαση σε αυτό το χαρακτηριστικό κάνει raise ένα :ref:`auditing event " +"` ``object.__getattr__`` με ορίσματα ``obj`` και ``\"tb_frame\"``." -#: reference/datamodel.rst:1703 +#: reference/datamodel.rst:1463 msgid "Gives the line number where the exception occurred" -msgstr "" +msgstr "Δίνει τον αριθμό γραμμής όπου προέκυψε η εξαίρεση" -#: reference/datamodel.rst:1706 +#: reference/datamodel.rst:1466 msgid "Indicates the \"precise instruction\"." -msgstr "" +msgstr "Δηλώνει την \"ακριβή οδηγία\"." -#: reference/datamodel.rst:1708 +#: reference/datamodel.rst:1468 msgid "" "The line number and last instruction in the traceback may differ from the " "line number of its :ref:`frame object ` if the exception " "occurred in a :keyword:`try` statement with no matching except clause or " "with a :keyword:`finally` clause." msgstr "" +"Ο αριθμός γραμμής και η τελευταία εντολή στο traceback μπορεί να διαφέρουν " +"από τον αριθμό γραμμής του αντικειμένου :ref:`frame object ` " +"εάν η εξαίρεση εμφανίστηκε σε μια πρόταση :keyword:`try` χωρίς αντιστοίχιση " +"εκτός από τον όρο ή με έναν όρο :keyword:`finally`." -#: reference/datamodel.rst:1719 +#: reference/datamodel.rst:1479 msgid "" "The special writable attribute :attr:`!tb_next` is the next level in the " "stack trace (towards the frame where the exception occurred), or ``None`` if " "there is no next level." msgstr "" +"Το ειδικό εγγράψιμο χαρακτηριστικό :attr:`!tb_next` είναι το επόμενο επίπεδο " +"στο ίχνος στοίβας (προς το πλαίσιο όπου σημειώθηκε η εξαίρεση), ή ``None`` " +"εάν δεν υπάρχει επόμενο επίπεδο." -#: reference/datamodel.rst:1723 +#: reference/datamodel.rst:1483 msgid "This attribute is now writable" -msgstr "" +msgstr "Αυτό το χαρακτηριστικό είναι τώρα εγγράψιμο" -#: reference/datamodel.rst:1728 +#: reference/datamodel.rst:1488 msgid "Slice objects" -msgstr "" +msgstr "Αντικείμενα τμηματοποίησης" -#: reference/datamodel.rst:1732 +#: reference/datamodel.rst:1492 msgid "" "Slice objects are used to represent slices for :meth:`~object.__getitem__` " "methods. They are also created by the built-in :func:`slice` function." msgstr "" +"Τα αντικείμενα τμηματοποίησης χρησιμοποιούνται για να αναπαραστήσουν τμήματα " +"για μεθόδους :meth:`~object.__getitem__`. Δημιουργούνται επίσης από την " +"ενσωματωμένη συνάρτηση :func:`slice`." -#: reference/datamodel.rst:1741 +#: reference/datamodel.rst:1501 msgid "" "Special read-only attributes: :attr:`~slice.start` is the lower bound; :attr:" "`~slice.stop` is the upper bound; :attr:`~slice.step` is the step value; " "each is ``None`` if omitted. These attributes can have any type." msgstr "" +"Ειδικά χαρακτηριστικά μόνο για ανάγνωση: το :attr:`~slice.start` είναι το " +"κάτω όριο∙ το :attr:`~slice.stop` είναι το άνω όριο∙ και το :attr:`~slice." +"step` είναι το βήμα∙ κάθε ένα είναι ``None`` αν παραλειφθεί. Τα " +"χαρακτηριστικά μπορούν να έχουν οποιονδήποτε τύπο." -#: reference/datamodel.rst:1745 +#: reference/datamodel.rst:1505 msgid "Slice objects support one method:" -msgstr "" +msgstr "Τα αντικείμενα splice υποστηρίζουν μια μέθοδο:" -#: reference/datamodel.rst:1749 +#: reference/datamodel.rst:1509 msgid "" "This method takes a single integer argument *length* and computes " "information about the slice that the slice object would describe if applied " @@ -1937,12 +2398,19 @@ msgid "" "stride length of the slice. Missing or out-of-bounds indices are handled in " "a manner consistent with regular slices." msgstr "" +"Αυτή η μέθοδος παίρνει ένα μόνο ακέραιο όρισμα *length* και υπολογίζει " +"πληροφορίες σχετικά το slice που θα περιέγραφε το αντικείμενο slice εάν " +"εφαρμοστεί σε μια ακολουθία στοιχείων *length*. Επιστρέφει μια πλειάδα " +"τριών ακεραίων αριθμών∙ αντίστοιχα αυτοί είναι δείκτες *start* και *stop* " +"και το *step* ή το μήκος του βήματος του τμήματος. Οι δείκτες που λείπουν ή " +"είναι εκτός ορίων αντιμετωπίζονται με τρόπο που συνάδει με τα κανονικά " +"slices." -#: reference/datamodel.rst:1758 +#: reference/datamodel.rst:1518 msgid "Static method objects" -msgstr "" +msgstr "Αντικείμενα στατικών μεθόδων" -#: reference/datamodel.rst:1760 +#: reference/datamodel.rst:1520 msgid "" "Static method objects provide a way of defeating the transformation of " "function objects to method objects described above. A static method object " @@ -1952,12 +2420,22 @@ msgid "" "any further transformation. Static method objects are also callable. Static " "method objects are created by the built-in :func:`staticmethod` constructor." msgstr "" - -#: reference/datamodel.rst:1770 +"Τα αντικείμενα στατικής μεθόδου παρέχουν έναν τρόπο εξουδετέρωσης του " +"μετασχηματισμού αντικειμένων συνάρτησης σε αντικείμενα μεθόδου που " +"περιγράφονται παραπάνω. Ένα αντικείμενο στατικής μεθόδου είναι ένα " +"περιτύλιγμα γύρω από οποιοδήποτε άλλο αντικείμενο , συνήθως ένα αντικείμενο " +"μεθόδου που ορίζεται από το χρήστη. Όταν ένα αντικείμενο στατικής μεθόδου " +"ανακτάται από μια κλάση ή ένα στιγμιότυπο κλάσης, το αντικείμενο που " +"επιστρέφεται στην πραγματικότητα είναι το τυλιγμένο αντικείμενο, το οποίο " +"δεν υπόκειται σε περαιτέρω μετασχηματισμό. Τα αντικείμενα στατικής μεθόδου " +"μπορούν επίσης να κληθούν. Τα αντικείμενα στατικής μεθόδου δημιουργούνται " +"από τον ενσωματωμένο κατασκευαστή :func:`staticmethod`." + +#: reference/datamodel.rst:1530 msgid "Class method objects" -msgstr "" +msgstr "Αντικείμενα μεθόδων κλάσεων" -#: reference/datamodel.rst:1772 +#: reference/datamodel.rst:1532 msgid "" "A class method object, like a static method object, is a wrapper around " "another object that alters the way in which that object is retrieved from " @@ -1966,12 +2444,19 @@ msgid "" "methods>`. Class method objects are created by the built-in :func:" "`classmethod` constructor." msgstr "" +"Ένα αντικείμενο μεθόδου κλάσης, όπως ένα αντικείμενο στατικής μεθόδου, είναι " +"ένα περιτύλιγμα γύρω από ένα άλλο αντικείμενο που αλλάζει τον τρόπο με τον " +"οποίο ανακτάται αυτό το αντικείμενο από κλάσεις και στιγμιότυπα κλάσεων. Η " +"συμπεριφορά των αντικειμένων της μεθόδου κλάσης κατά την ανάκτηση αυτή " +"περιγράφεται παραπάνω, στην ενότητα :ref:`\"instance methods\" `. Τα αντικείμενα της μεθόδου κλάσης δημιουργούνται από τον " +"ενσωματωμένο κατασκευαστή :func:`classmethod`." -#: reference/datamodel.rst:1782 +#: reference/datamodel.rst:1542 msgid "Special method names" -msgstr "" +msgstr "Ειδικά ονόματα μεθόδων" -#: reference/datamodel.rst:1788 +#: reference/datamodel.rst:1548 msgid "" "A class can implement certain operations that are invoked by special syntax " "(such as arithmetic operations or subscripting and slicing) by defining " @@ -1984,8 +2469,19 @@ msgid "" "appropriate method is defined (typically :exc:`AttributeError` or :exc:" "`TypeError`)." msgstr "" +"Μια κλάση μπορεί να εφαρμόσει ορισμένες πράξεις που καλούνται από ειδική " +"σύνταξη (όπως αριθμητικές πράξεις ή εγγραφή και κοπή) ορίζονται μεθόδους με " +"ειδικά ονόματα. Αυτή είναι η προσέγγιση της Python για το :dfn:`operator " +"overloading`, επιτρέποντας στις κλάσεις να ορίσουν τη δική τους συμπεριφορά " +"σε σχέση με τους τελεστές γλώσσας. Για παράδειγμα, εάν μια κλάση ορίζει μια " +"μέθοδο με το όνομα :meth:`~object.__getitem__`, και το ``x`` είναι ένα " +"στιγμιότυπο αυτής της κλάσης, τότε το ``x[i]`` είναι περίπου ισοδύναμο με το " +"``type(x).__getitem__(x, i)``. Εκτός από τις περιπτώσεις που αναφέρονται, οι " +"προσπάθειες εκτέλεσης μιας λειτουργίας δημιουργούν εξαίρεση όταν δεν " +"ορίζεται κατάλληλη μέθοδος (συνήθως :exc:`AttributeError` ή :exc:" +"`TypeError`)." -#: reference/datamodel.rst:1799 +#: reference/datamodel.rst:1559 msgid "" "Setting a special method to ``None`` indicates that the corresponding " "operation is not available. For example, if a class sets :meth:`~object." @@ -1993,8 +2489,13 @@ msgid "" "its instances will raise a :exc:`TypeError` (without falling back to :meth:" "`~object.__getitem__`). [#]_" msgstr "" +"Ο ορισμός μιας ειδική μεθόδου σε ``None`` σημαίνει ότι η αντίστοιχη " +"λειτουργία δεν είναι διαθέσιμη. Για παράδειγμα, εάν μια κλάση ορίσει την :" +"meth:`~object.__iter__` σε ``None`` η κλάση δεν είναι iterable, επομένως η " +"κλήση :func:`iter` στα στιγμιότυπα της θα κάνει raise μια :exc:`TypeError` " +"(χωρίς να επιστρέψουμε στο :meth:`~object.__getitem__`). [#]_" -#: reference/datamodel.rst:1805 +#: reference/datamodel.rst:1565 msgid "" "When implementing a class that emulates any built-in type, it is important " "that the emulation only be implemented to the degree that it makes sense for " @@ -2003,12 +2504,19 @@ msgid "" "sense. (One example of this is the :class:`~xml.dom.NodeList` interface in " "the W3C's Document Object Model.)" msgstr "" +"Κατά την υλοποίηση μιας κλάσης που προσομοιώνει οποιονδήποτε ενσωματωμένο " +"τύπο, είναι σημαντικό η εξομοίωση να υλοποιείται μόνο στο βαθμό που έχει " +"νόημα για το αντικείμενο που μοντελοποιείται. Για παράδειγμα, ορισμένες " +"ακολουθίες μπορεί να λειτουργούν καλά με την ανάκτηση μεμονωμένων στοιχείων, " +"αλλά η εξαγωγή ενός τμήματος μπορεί να μην έχει νόημα. (Ένα παράδειγμα " +"αυτού είναι η διεπαφή :class:`~xml.dom.NodeList` στο Μοντέλο Αντικειμένου " +"Εγγράφου του W3C.)" -#: reference/datamodel.rst:1816 +#: reference/datamodel.rst:1576 msgid "Basic customization" -msgstr "" +msgstr "Βασική προσαρμογή" -#: reference/datamodel.rst:1822 +#: reference/datamodel.rst:1582 msgid "" "Called to create a new instance of class *cls*. :meth:`__new__` is a static " "method (special-cased so you need not declare it as such) that takes the " @@ -2017,16 +2525,27 @@ msgid "" "(the call to the class). The return value of :meth:`__new__` should be the " "new object instance (usually an instance of *cls*)." msgstr "" +"Καλείται για τη δημιουργία ενός νέου στιγμιοτύπου κλάσης *cls*. Η :meth:" +"`__new__` είναι μια στατική μέθοδος (ειδική περίπτωση, επομένως δεν " +"χρειάζεται να τη δηλώνετε ως τέτοια) που παίρνει την κλάση της οποίας " +"ζητήθηκε ένα στιγμιότυπο ως πρώτο όρισμα. Τα υπόλοιπα ορίσματα είναι αυτά " +"που μεταβιβάζονται στην έκφραση του κατασκευαστή αντικειμένου (η κλήση στην " +"κλάση). Η επιστρεφόμενη τιμή του :meth:`__new__` θα πρέπει να είναι το νέο " +"στιγμιότυπο αντικειμένου (συνήθως ένα στιγμιότυπο του *cls*)." -#: reference/datamodel.rst:1829 +#: reference/datamodel.rst:1589 msgid "" "Typical implementations create a new instance of the class by invoking the " "superclass's :meth:`__new__` method using ``super().__new__(cls[, ...])`` " "with appropriate arguments and then modifying the newly created instance as " "necessary before returning it." msgstr "" +"Οι τυπικές υλοποιήσεις δημιουργούν ένα νέο στιγμιότυπο κλάσης επικαλώντας τη " +"μέθοδο :meth:`__new__` της υπερκλάσης χρησιμοποιώντας ``super()." +"__new__(cls[, ...])`` με κατάλληλα ορίσματα και στη συνέχεια τροποποιώντας " +"τη νεο-δημιουργηθείσα παρουσία όπως απαιτείται πριν την επιστρέψει." -#: reference/datamodel.rst:1834 +#: reference/datamodel.rst:1594 msgid "" "If :meth:`__new__` is invoked during object construction and it returns an " "instance of *cls*, then the new instance’s :meth:`__init__` method will be " @@ -2034,22 +2553,33 @@ msgid "" "the remaining arguments are the same as were passed to the object " "constructor." msgstr "" +"Εάν το :meth:`__new__` καλείται κατά την κατασκευή αντικειμένου και " +"επιστρέφει ένα στιγμιότυπο του *cls*, τότε η μέθοδος :meth:`__init__` του " +"νέου στιγμιοτύπου θα κληθεί όπως ``__init__(self[, ...])``, όπου το *self* " +"είναι το νέο στιγμιότυπο και τα υπόλοιπα ορίσματα είναι τα ίδια με αυτά που " +"διαβιβάστηκαν στον κατασκευαστή του αντικειμένου." -#: reference/datamodel.rst:1839 +#: reference/datamodel.rst:1599 msgid "" "If :meth:`__new__` does not return an instance of *cls*, then the new " "instance's :meth:`__init__` method will not be invoked." msgstr "" +"Εάν το :meth:`__new__` δεν επιστρέφει ένα στιγμιότυπο του *cls*, τότε η " +"μέθοδος :meth:`__init__` του νέου στιγμιοτύπου δεν θα κληθεί." -#: reference/datamodel.rst:1842 +#: reference/datamodel.rst:1602 msgid "" ":meth:`__new__` is intended mainly to allow subclasses of immutable types " "(like int, str, or tuple) to customize instance creation. It is also " "commonly overridden in custom metaclasses in order to customize class " "creation." msgstr "" +"Το :meth:`__new__` προορίζεται κυρίως για να επιτρέψει σε υποκλάσεις " +"αμετάβλητων τύπων (όπως int, str, ή tuple) να προσαρμόσουν τη δημιουργία " +"στιγμιοτύπων. Επίσης συνήθως παρακάμπτεται σε προσαρμοσμένες μετακλάσεις " +"προκειμένου να προσαρμόσουν τη δημιουργία κλάσεων." -#: reference/datamodel.rst:1851 +#: reference/datamodel.rst:1611 msgid "" "Called after the instance has been created (by :meth:`__new__`), but before " "it is returned to the caller. The arguments are those passed to the class " @@ -2058,16 +2588,28 @@ msgid "" "ensure proper initialization of the base class part of the instance; for " "example: ``super().__init__([args...])``." msgstr "" +"Καλείται μετά τη δημιουργία του στιγμιοτύπου (από :meth:`__new__`), αλλά " +"πριν επιστραφεί εκεί που καλέστηκε. Τα ορίσματα είναι αυτά που " +"μεταβιβάζονται στην έκφραση του κατασκευαστή κλάσης. Εάν μια κλάση βάσης " +"έχει μια μέθοδο :meth:`__init__`, η μέθοδος :meth:`__init__` της παραγόμενης " +"κλάσης, εάν υπάρχει πρέπει να την καλέσει ρητά για να διασφαλιστεί η σωστή " +"προετοιμασία του τμήματος της βασικής κλάσης του στιγμιοτύπου∙ για " +"παράδειγμα: ``super().__init__([args...])``." -#: reference/datamodel.rst:1858 +#: reference/datamodel.rst:1618 msgid "" "Because :meth:`__new__` and :meth:`__init__` work together in constructing " "objects (:meth:`__new__` to create it, and :meth:`__init__` to customize " "it), no non-``None`` value may be returned by :meth:`__init__`; doing so " "will cause a :exc:`TypeError` to be raised at runtime." msgstr "" +"Επειδή τα :meth:`__new__` και :meth:`__init__` συνεργάζονται για την " +"κατασκευή αντικειμένων (:meth:`__new__` για να το δημιουργήσετε, και :meth:" +"`__init__` για να το προσαρμόσετε), δεν επιτρέπεται να επιστραφεί καμία τιμή " +"μη-``None`` από το :meth:`__init__` ∙ αν το κάνετε αυτό, θα εμφανιστεί ένα :" +"exc:`TypeError` κατά το χρόνο εκτέλεσης." -#: reference/datamodel.rst:1871 +#: reference/datamodel.rst:1631 msgid "" "Called when the instance is about to be destroyed. This is also called a " "finalizer or (improperly) a destructor. If a base class has a :meth:" @@ -2075,8 +2617,13 @@ msgid "" "explicitly call it to ensure proper deletion of the base class part of the " "instance." msgstr "" +"Καλείται όταν το παράδειγμα πρόκειται να καταστραφεί. Αυτό ονομάζεται " +"επίσης τελικό ή (κακώς) καταστροφέας. Εάν μια βασική κλάση έχει μια μέθοδο :" +"meth:`__del__`, η μέθοδος :meth:`__del__` της παράγωγης κλάσης, εάν υπάρχει, " +"πρέπει να την καλέσει ρητά για να διασφαλιστεί η σωστή διαγραφή του τμήματος " +"της βασικής κλάσης του στιγμιοτύπου." -#: reference/datamodel.rst:1877 +#: reference/datamodel.rst:1637 msgid "" "It is possible (though not recommended!) for the :meth:`__del__` method to " "postpone destruction of the instance by creating a new reference to it. " @@ -2085,23 +2632,32 @@ msgid "" "about to be destroyed; the current :term:`CPython` implementation only calls " "it once." msgstr "" +"Είναι δυνατό (αν και δεν συνίσταται!) η μέθοδος :meth:`__del__` να αναβάλει " +"την καταστροφή του στιγμιότυπου δημιουργώντας μια νέα αναφορά σε αυτό. Αυτό " +"ονομάζεται αντικείμενο *ανάσταση (resurrection)*. Εξαρτάται από την " +"υλοποίηση εάν το :meth:`__del__` καλείται δεύτερη φορά όταν ένα αναστημένο " +"αντικείμενο πρόκειται να καταστραφεί εξαρτάται από την υλοποίηση∙ η τρέχουσα " +"υλοποίηση του :term:`CPython` την καλεί μόνο μία φορά." -#: reference/datamodel.rst:1884 +#: reference/datamodel.rst:1644 msgid "" "It is not guaranteed that :meth:`__del__` methods are called for objects " -"that still exist when the interpreter exits. :class:`weakref.finalize` " -"provides a straightforward way to register a cleanup function to be called " -"when an object is garbage collected." +"that still exist when the interpreter exits." msgstr "" +"Δεν είναι εγγυημένο ότι οι μέθοδοι :meth:`__del__` καλούνται για αντικείμενα " +"που εξακολουθούν να υπάρχουν κατά την έξοδο του διερμηνέα." -#: reference/datamodel.rst:1891 +#: reference/datamodel.rst:1649 msgid "" "``del x`` doesn't directly call ``x.__del__()`` --- the former decrements " "the reference count for ``x`` by one, and the latter is only called when " "``x``'s reference count reaches zero." msgstr "" +"Το ``del x`` δεν καλεί απευθείας το ``x.__del__()`` --- το πρώτο μειώνει το " +"πλήθος αναφοράς για το ``x`` κατά ένα και το δεύτερο καλείται μόνο όταν το " +"πλήθος αναφοράς του ``x`` φτάσει στο μηδέν." -#: reference/datamodel.rst:1896 +#: reference/datamodel.rst:1654 msgid "" "It is possible for a reference cycle to prevent the reference count of an " "object from going to zero. In this case, the cycle will be later detected " @@ -2111,19 +2667,29 @@ msgid "" "references its own traceback, which references the locals of all frames " "caught in the traceback." msgstr "" +"Είναι δυνατό για έναν κύκλο αναφοράς να εμποδίσει το πλήθος αναφοράς ενός να " +"μηδενιστεί. Σε αυτήν την περίπτωσης, ο κύκλος θα εντοπιστεί αργότερα και θα " +"διαγραφεί από τον :term:`cyclic garbage collector `. Μια " +"κοινή αιτία κύκλων αναφοράς είναι όταν μια εξαίρεση έχει εντοπιστεί σε μια " +"τοπική μεταβλητή. Στη συνέχεια, τα τοπικά του πλαισίου αναφέρονται στην " +"εξαίρεση, η οποία αναφέρεται στο δικό του traceback, το οποίο αναφέρεται " +"στους τοπικούς αριθμούς όλων των καρέ που έχουν εντοπιστεί στο traceback." -#: reference/datamodel.rst:1906 +#: reference/datamodel.rst:1664 msgid "Documentation for the :mod:`gc` module." -msgstr "" +msgstr "Τεκμηρίωση για το module :mod:`gc`." -#: reference/datamodel.rst:1910 +#: reference/datamodel.rst:1668 msgid "" "Due to the precarious circumstances under which :meth:`__del__` methods are " "invoked, exceptions that occur during their execution are ignored, and a " "warning is printed to ``sys.stderr`` instead. In particular:" msgstr "" +"Λόγω των επισφαλών συνθηκών υπό τις οποίες καλούνται οι μέθοδοι :meth:" +"`__del__`, οι εξαιρέσεις που προκύπτουν κατά την εκτέλεση τους αγνοούνται " +"και αντ' αυτού εκτυπώνεται μια προειδοποίηση στο ``sys.stderr``. Ειδικότερα:" -#: reference/datamodel.rst:1914 +#: reference/datamodel.rst:1672 msgid "" ":meth:`__del__` can be invoked when arbitrary code is being executed, " "including from any arbitrary thread. If :meth:`__del__` needs to take a " @@ -2131,8 +2697,13 @@ msgid "" "may already be taken by the code that gets interrupted to execute :meth:" "`__del__`." msgstr "" +"Η :meth:`__del__` μπορεί να καλεστεί, όταν καλείται αυθαίρετος κώδικα, " +"συμπεριλαμβανομένου οποιουδήποτε αυθαίρετου νήματος. Εάν η :meth:`__del__` " +"χρειάζεται να κλειδώσει ή να επικαλεστεί οποιονδήποτε άλλο πόρο αποκλεισμού, " +"μπορεί να είναι αδιέξοδο καθώς ο πόρος μπορεί να έχει ήδη ληφθεί από τον " +"κώδικα που διακόπτεται για να εκτελεστεί :meth:`__del__`." -#: reference/datamodel.rst:1920 +#: reference/datamodel.rst:1678 msgid "" ":meth:`__del__` can be executed during interpreter shutdown. As a " "consequence, the global variables it needs to access (including other " @@ -2142,8 +2713,17 @@ msgid "" "such globals exist, this may help in assuring that imported modules are " "still available at the time when the :meth:`__del__` method is called." msgstr "" +"Η :meth:`__del__` μπορεί να εκτελεστεί κατά τη διάρκεια του τερματισμού " +"λειτουργίας του διερμηνέα. Κατά συνέπεια, οι καθολικές μεταβλητές στις " +"οποίες χρειάζεται πρόσβαση (συμπεριλαμβανομένων άλλως modules) μπορεί να " +"έχουν ήδη διαγραφεί ή να έχουν οριστεί σε ``None``. Η Python εγγυάται ότι τα " +"καθολικά των οποίων το όνομα αρχίζει με μία μόνο υπογράμμιση διαγράφονται " +"από το module τους πριν διαγραφούν άλλα καθολικά∙ εάν δεν υπάρχουν άλλες " +"αναφορές σε τέτοια καθολικά, αυτό μπορεί να βοηθήσει στη διασφάλιση ότι τα " +"εισαγόμενα modules εξακολουθούν να είναι διαθέσιμες τη στιγμή που καλείται η " +"μέθοδος :meth:`__del__`." -#: reference/datamodel.rst:1935 +#: reference/datamodel.rst:1693 msgid "" "Called by the :func:`repr` built-in function to compute the \"official\" " "string representation of an object. If at all possible, this should look " @@ -2154,43 +2734,65 @@ msgid "" "`__repr__` but not :meth:`__str__`, then :meth:`__repr__` is also used when " "an \"informal\" string representation of instances of that class is required." msgstr "" +"Καλείται από την ενσωματωμένη συνάρτηση :func:`repr` για τον υπολογισμό της " +"\"official\" αναπαράστασης συμβολοσειράς ενός αντικειμένου. Εάν είναι " +"δυνατόν, αυτό θα πρέπει να μοιάζει με μια έγκυρη έκφραση Python που θα " +"μπορούσε να χρησιμοποιηθεί για την αναδημιουργία ενός αντικειμένου με την " +"ίδια τιμή (δεδομένου ενός κατάλληλου περιβάλλοντος). Εάν αυτό δεν είναι " +"δυνατό, θα πρέπει να επιστραφεί μια συμβολοσειρά της μορφής ``<...κάποια " +"χρήσιμη περιγραφή...>``. Η τιμή επιστροφής πρέπει να είναι αντικείμενο " +"συμβολοσειράς. Εάν μια κλάση ορίζει :meth:`__repr__` αλλά όχι :meth:" +"`__str__`, τότε η :meth:`__repr__` χρησιμοποιείται επίσης όταν απαιτείται " +"μια \"ανεπίσημη\" αναπαράσταση συμβολοσειράς στιγμιοτύπων αυτής της κλάσης." -#: reference/datamodel.rst:1944 +#: reference/datamodel.rst:1702 msgid "" "This is typically used for debugging, so it is important that the " -"representation is information-rich and unambiguous. A default implementation " -"is provided by the :class:`object` class itself." +"representation is information-rich and unambiguous." msgstr "" +"Αυτό χρησιμοποιείται συνήθως για εντοπισμός σφαλμάτων, επομένως είναι " +"σημαντικό η αναπαράσταση να είναι πλούσια σε πληροφορίες και ξεκάθαρη." -#: reference/datamodel.rst:1956 +#: reference/datamodel.rst:1713 msgid "" -"Called by :func:`str(object) `, the default :meth:`__format__` " -"implementation, and the built-in function :func:`print`, to compute the " -"\"informal\" or nicely printable string representation of an object. The " -"return value must be a :ref:`str ` object." +"Called by :func:`str(object) ` and the built-in functions :func:" +"`format` and :func:`print` to compute the \"informal\" or nicely printable " +"string representation of an object. The return value must be a :ref:`string " +"` object." msgstr "" +"Καλείται από :func:`str(object) ` και τις ενσωματωμένες συναρτήσεις :" +"func:`format` και :func:`print` για τον υπολογισμό της \"ανεπίσημης\" ή " +"ωραίας εκτύπωσης συμβολοσειράς ενός αντικειμένου. Η τιμή που επιστρέφεται " +"πρέπει να είναι ένα αντικείμενο :ref:`string `." -#: reference/datamodel.rst:1961 +#: reference/datamodel.rst:1718 msgid "" "This method differs from :meth:`object.__repr__` in that there is no " "expectation that :meth:`__str__` return a valid Python expression: a more " "convenient or concise representation can be used." msgstr "" +"Αυτή η μέθοδος διαφέρει από τη :meth:`object.__repr__` στο ότι δεν υπάρχει " +"καμία προσδοκία ότι η :meth:`__str__` θα επιστρέψει μια έγκυρη έκφραση " +"Python: μπορεί να χρησιμοποιηθεί μια πιο βολική ή συνοπτική αναπαράσταση." -#: reference/datamodel.rst:1965 +#: reference/datamodel.rst:1722 msgid "" "The default implementation defined by the built-in type :class:`object` " "calls :meth:`object.__repr__`." msgstr "" +"Η προεπιλεγμένη υλοποίηση που ορίζεται από τον ενσωματωμένο τύπο :class:" +"`object` καλεί την :meth:`object.__repr__`." -#: reference/datamodel.rst:1975 +#: reference/datamodel.rst:1732 msgid "" "Called by :ref:`bytes ` to compute a byte-string representation " -"of an object. This should return a :class:`bytes` object. The :class:" -"`object` class itself does not provide this method." +"of an object. This should return a :class:`bytes` object." msgstr "" +"Καλείται από :ref:`bytes ` για να υπολογιστεί μια παράσταση " +"συμβολοσειράς byte ενός αντικειμένου. Αυτό θα πρέπει να επιστρέψει ένα :" +"class:`bytes` αντικείμενο." -#: reference/datamodel.rst:1987 +#: reference/datamodel.rst:1743 msgid "" "Called by the :func:`format` built-in function, and by extension, evaluation " "of :ref:`formatted string literals ` and the :meth:`str.format` " @@ -2201,35 +2803,44 @@ msgid "" "either delegate formatting to one of the built-in types, or use a similar " "formatting option syntax." msgstr "" +"Καλείται από την ενσωματωμένη συνάρτηση :func:`format` και κατ' επέκταση, " +"αξιολόγηση των :ref:`formatted string literals ` και της μεθόδου :" +"meth:`str.format`, για την παραγωγή μιας \"μορφοποιημένης\" συμβολοσειράς " +"αναπαράστασης ενός αντικειμένου. Το όρισμα *format_spec* είναι μια " +"συμβολοσειρά που περιέχει μια περιγραφή των επιλογών μορφοποίησης που " +"επιθυμείτε. Η ερμηνεία του ορίσματος *format_spec* εξαρτάται από τον τύπο " +"που υλοποιεί τη :meth:`__format__`, ωστόσο οι περισσότερες κλάσεις είτε θα " +"αναθέσουν τη μορφοποίηση σε έναν από τους ενσωματωμένους τύπους είτε θα " +"χρησιμοποιήσουν παρόμοια σύνταξη επιλογής μορφοποίησης." -#: reference/datamodel.rst:1997 +#: reference/datamodel.rst:1753 msgid "" "See :ref:`formatspec` for a description of the standard formatting syntax." msgstr "" +"Δείτε το :ref:`formatspec` για μια περιγραφή της τυπικής σύνταξης " +"μορφοποίησης." -#: reference/datamodel.rst:1999 +#: reference/datamodel.rst:1755 msgid "The return value must be a string object." -msgstr "" - -#: reference/datamodel.rst:2001 -msgid "" -"The default implementation by the :class:`object` class should be given an " -"empty *format_spec* string. It delegates to :meth:`__str__`." -msgstr "" +msgstr "Η τιμή επιστροφής πρέπει να είναι αντικείμενο συμβολοσειράς." -#: reference/datamodel.rst:2004 +#: reference/datamodel.rst:1757 msgid "" "The __format__ method of ``object`` itself raises a :exc:`TypeError` if " "passed any non-empty string." msgstr "" +"Η ίδια μέθοδος __format__ του ``object`` κάνει raise μια :exc:`TypeError` " +"εάν περάσει οποιαδήποτε μη κενή συμβολοσειρά." -#: reference/datamodel.rst:2008 +#: reference/datamodel.rst:1761 msgid "" "``object.__format__(x, '')`` is now equivalent to ``str(x)`` rather than " "``format(str(x), '')``." msgstr "" +"Το ``object.__format__(x, '')`` είναι πλέον ισοδύναμο με το ``str(x)`` αντί " +"για το ``format(str(x), '')``." -#: reference/datamodel.rst:2024 +#: reference/datamodel.rst:1777 msgid "" "These are the so-called \"rich comparison\" methods. The correspondence " "between operator symbols and method names is as follows: ``xy`` calls ``x.__gt__(y)``, and ``x>=y`` " "calls ``x.__ge__(y)``." msgstr "" +"Αυτές είναι οι λεγόμενες μέθοδοι \"πλούσιας σύγκρισης (rich comparison)\". Η " +"αντιστοιχία μεταξύ των συμβόλων των τελεστών και των ονομάτων των μεθόδων " +"έχει ως εξής: ``xy`` " +"καλεί ``x.__gt__(y)``, και ``x>=y`` καλεί ``x.__ge__(y)``." -#: reference/datamodel.rst:2030 +#: reference/datamodel.rst:1783 msgid "" "A rich comparison method may return the singleton :data:`NotImplemented` if " "it does not implement the operation for a given pair of arguments. By " @@ -2248,8 +2864,16 @@ msgid "" "statement), Python will call :func:`bool` on the value to determine if the " "result is true or false." msgstr "" +"Μια μέθοδος πλούσια σύγκρισης μπορεί να επιστρέψει το singleton :data:" +"`NotImplemented` εάν δεν υλοποιήσει τη λειτουργία για ένα δεδομένο ζεύγος " +"ορισμάτων. Σύμφωνα με τη σύμβαση, επιστρέφονται οι τιμές ``False`` και " +"``True`` για μια επιτυχημένη σύγκριση. Ωστόσο, αυτές οι μέθοδοι μπορούν αν " +"επιστρέψουν οποιαδήποτε τιμή, επομένως εάν ο τελεστής σύγκρισης " +"χρησιμοποιείται σε ένα Boolean περιβάλλον (π.χ., στη συνθήκη μιας πρότασης " +"``if``), η Python θα καλέσει τη συνάρτηση :func:`bool` στην τιμή για να " +"προσδιορίσει εάν το αποτέλεσμα είναι αληθές ή ψευδές." -#: reference/datamodel.rst:2037 +#: reference/datamodel.rst:1790 msgid "" "By default, ``object`` implements :meth:`__eq__` by using ``is``, returning :" "data:`NotImplemented` in the case of a false comparison: ``True if x is y " @@ -2260,24 +2884,28 @@ msgid "" "``x<=y``. To automatically generate ordering operations from a single root " "operation, see :func:`functools.total_ordering`." msgstr "" +"Από προεπιλογή, το ``object`` υλοποιεί την :meth:`__eq__` χρησιμοποιώντας " +"την ``is``, επιστρέφοντας :data:`NotImplemented` σε περίπτωση ψευδούς " +"σύγκρισης: ``True if x is y else NotImplemented``. Για την :meth:`__ne__`, " +"από προεπιλογή αναθέτει σε :meth:`__eq__` και αντιστρέφει το αποτέλεσμα " +"εκτός αν είναι :data:`!NotImplemented`. Δεν υπάρχουν άλλες σιωπηρές σχέσεις " +"μεταξύ των τελεστών σύγκρισης ή των προεπιλεγμένων υλοποιήσεων∙ για " +"παράδειγμα, το αληθές του ``(x.__hash__``." msgstr "" +"Εάν μια κλάση που παρακάμπτει την :meth:`__eq__` χρειάζεται να διατηρήσει " +"την υλοποίηση της :meth:`__hash__` από μια γονική κλάση, ο διερμηνέας πρέπει " +"να ενημερωθεί ρητά για αυτό ορίζονται την ``__hash__ = ." +"__hash__``." -#: reference/datamodel.rst:2122 +#: reference/datamodel.rst:1869 msgid "" "If a class that does not override :meth:`__eq__` wishes to suppress hash " "support, it should include ``__hash__ = None`` in the class definition. A " @@ -2370,71 +3045,103 @@ msgid "" "`TypeError` would be incorrectly identified as hashable by an " "``isinstance(obj, collections.abc.Hashable)`` call." msgstr "" +"Εάν μια κλάση που δεν παρακάμπτει τη :meth:`__eq__` επιθυμεί να καταστείλει " +"την υποστήριξη κατακερματισμού, θα πρέπει να συμπεριλάβει το ``__hash__ = " +"None`` στον ορισμός της κλάσης. Μια κλάση που ορίζει τη δικιά της :meth:" +"`__hash__` που κάνει raise μια :exc:`TypeError` θα αναγνωριστεί εσφαλμένα ως " +"μια κλάση που μπορεί να κατακερματιστεί από μια κλήση ``isinstance(obj, " +"collections.abc.Hashable)``." -#: reference/datamodel.rst:2131 +#: reference/datamodel.rst:1878 msgid "" "By default, the :meth:`__hash__` values of str and bytes objects are " "\"salted\" with an unpredictable random value. Although they remain " "constant within an individual Python process, they are not predictable " "between repeated invocations of Python." msgstr "" +"Από προεπιλογή, οι τιμές :meth:`__hash__` των αντικειμένων str και bytes " +"είναι \"salted\" με μια απρόβλεπτη τυχαία τιμή. Παρόλο που παραμένουν " +"σταθερές μέσα σε μια μεμονωμένη διεργασία Python, δεν είναι προβλέψιμες " +"μεταξύ επαναλαμβανόμενων κλήσεων της Python." -#: reference/datamodel.rst:2136 +#: reference/datamodel.rst:1883 msgid "" "This is intended to provide protection against a denial-of-service caused by " "carefully chosen inputs that exploit the worst case performance of a dict " "insertion, *O*\\ (*n*\\ :sup:`2`) complexity. See http://ocert.org/" "advisories/ocert-2011-003.html for details." msgstr "" +"Αυτό έχει ως στόχο να παρέχει προστασία από άρνηση υπηρεσίας που προκαλείται " +"από προσεκτικά επιλεγμένες εισόδους που εκμεταλλεύονται τη χειρότερη " +"περίπτωση απόδοσης μιας εισαγωγής ψηφίου, πολυπλοκότητας *O*\\ (*n*\\ :sup:" +"`2`). Δείτε http://ocert.org/advisories/ocert-2011-003.html για " +"λεπτομέρειες." -#: reference/datamodel.rst:2141 +#: reference/datamodel.rst:1888 msgid "" "Changing hash values affects the iteration order of sets. Python has never " "made guarantees about this ordering (and it typically varies between 32-bit " "and 64-bit builds)." msgstr "" +"Η αλλαγή των τιμών κατακερματισμού επηρεάζει τη σειρά επανάληψης των " +"συνόλων. Η Python δεν έχει δώσει ποτέ εγγυήσεις σχετικά με αυτήν τη σειρά " +"(και συνήθως ποικίλει μεταξύ εκδόσεων 32-bit και 64-bit)." -#: reference/datamodel.rst:2145 +#: reference/datamodel.rst:1892 msgid "See also :envvar:`PYTHONHASHSEED`." -msgstr "" +msgstr "Δείτε επίσης :envvar:`PYTHONHASHSEED`." -#: reference/datamodel.rst:2147 +#: reference/datamodel.rst:1894 msgid "Hash randomization is enabled by default." -msgstr "" +msgstr "Η τυχαιοποίηση κατακερματισμού είναι ενεργοποιημένη από προεπιλογή." -#: reference/datamodel.rst:2155 +#: reference/datamodel.rst:1902 msgid "" "Called to implement truth value testing and the built-in operation " "``bool()``; should return ``False`` or ``True``. When this method is not " "defined, :meth:`~object.__len__` is called, if it is defined, and the object " "is considered true if its result is nonzero. If a class defines neither :" -"meth:`!__len__` nor :meth:`!__bool__` (which is true of the :class:`object` " -"class itself), all its instances are considered true." +"meth:`!__len__` nor :meth:`!__bool__`, all its instances are considered true." msgstr "" +"Καλείται για την υλοποίηση ελέγχου τιμών αλήθειας και την ενσωματωμένη " +"λειτουργία ``bool()`` ∙ θα πρέπει να επιστρέφει ``False`` ή ``True``. Όταν " +"αυτή η μέθοδος δεν έχει οριστεί, καλείται η :meth:`~object.__len__`, εάν " +"έχει οριστεί, και το αντικείμενο θεωρείται αληθές εάν το αποτέλεσμα του " +"είναι μη μηδενικό. Εάν μια κλάση δεν ορίζει ούτε :meth:`!__len__` ούτε :" +"meth:`!__bool__`, όλα τα στιγμιότυπα της θεωρούνται αληθείς." -#: reference/datamodel.rst:2166 +#: reference/datamodel.rst:1913 msgid "Customizing attribute access" -msgstr "" +msgstr "Προσαρμογή πρόσβασης χαρακτηριστικών" -#: reference/datamodel.rst:2168 +#: reference/datamodel.rst:1915 msgid "" "The following methods can be defined to customize the meaning of attribute " "access (use of, assignment to, or deletion of ``x.name``) for class " "instances." msgstr "" +"Οι ακόλουθες μέθοδοι μπορούν αν οριστούν για την προσαρμογή της έννοιας της " +"πρόσβασης χαρακτηριστικών (χρήση, ανάθεση ή διαγραφή του ``x.name``) για " +"στιγμιότυπα κλάσης." -#: reference/datamodel.rst:2176 +#: reference/datamodel.rst:1923 msgid "" "Called when the default attribute access fails with an :exc:`AttributeError` " "(either :meth:`__getattribute__` raises an :exc:`AttributeError` because " "*name* is not an instance attribute or an attribute in the class tree for " "``self``; or :meth:`__get__` of a *name* property raises :exc:" "`AttributeError`). This method should either return the (computed) " -"attribute value or raise an :exc:`AttributeError` exception. The :class:" -"`object` class itself does not provide this method." +"attribute value or raise an :exc:`AttributeError` exception." msgstr "" +"Καλείται όταν η πρόσβαση προεπιλεγμένου χαρακτηριστικού αποτυγχάνει με μια :" +"exc:`AttributeError` (είτε η :meth:`__getattribute__` κάνει raise μια :exc:" +"`AttributeError` επειδή το *name* δεν είναι χαρακτηριστικό στιγμιοτύπου ή " +"χαρακτηριστικό στο δέντρο κλάσης για το ``self`` ∙ ή η :meth:`__get__` μια " +"ιδιότητας *name* κάνει raise μια :exc:`AttributeError`). Αυτή η μέθοδος θα " +"πρέπει είτε να επιστρέψει την (υπολογισμένη) τιμή του χαρακτηριστικού είτε " +"να κάνει raise μια εξαίρεση :exc:`AttributeError`." -#: reference/datamodel.rst:2184 +#: reference/datamodel.rst:1930 msgid "" "Note that if the attribute is found through the normal mechanism, :meth:" "`__getattr__` is not called. (This is an intentional asymmetry between :" @@ -2446,8 +3153,19 @@ msgid "" "object). See the :meth:`__getattribute__` method below for a way to " "actually get total control over attribute access." msgstr "" +"Σημειώστε ότι αν το χαρακτηριστικό βρεθεί μέσω του κανονικού μηχανισμού, η " +"μέθοδος :meth:`__getattr__` δεν καλείται. (Αυτή είναι μια σκόπιμη ασυμμετρία " +"μεταξύ των :meth:`__getattr__` και :meth:`__setattr__`.) Αυτό γίνεται τόσο " +"για λόγους απόδοσης όσο και επειδή διαφορετικά η :meth:`__getattr__` δεν θα " +"είχε τρόπο να αποκτήσει πρόσβαση σε όλα τα χαρακτηριστικά του στιγμιοτύπου. " +"Σημειώστε ότι, τουλάχιστον για μεταβλητές στιγμιοτύπου, μπορείτε να " +"προσομοιώσετε πλήρη έλεγχο χωρίς να εισάγετε τιμές στο λεξικό " +"χαρακτηριστικών του στιγμιοτύπου (αλλά αντί αυτού να τις εισάγετε σε κάποιο " +"άλλο αντικείμενο). Δείτε τη μέθοδο :meth:`__getattribute__` παρακάτω για " +"έναν τρόπο να αποκτήσετε πραγματικό πλήρη έλεγχο στην πρόσβαση των " +"χαρακτηριστικών." -#: reference/datamodel.rst:2197 +#: reference/datamodel.rst:1943 msgid "" "Called unconditionally to implement attribute accesses for instances of the " "class. If the class also defines :meth:`__getattr__`, the latter will not be " @@ -2458,65 +3176,124 @@ msgid "" "base class method with the same name to access any attributes it needs, for " "example, ``object.__getattribute__(self, name)``." msgstr "" +"Καλείται χωρίς προϋποθέσεις για την υλοποίηση της πρόσβασης σε " +"χαρακτηριστικά για στιγμιότυπα κλάσης. Αν η κλάση ορίζει επίσης τη μέθοδο :" +"meth:`__getattr__`, αυτή δεν θα κληθεί εκτός αν η :meth:`__getattribute__` " +"την καλέσει ρητά ή κάνει raise μια εξαίρεση :exc:`AttributeError`. Αυτή η " +"μέθοδος πρέπει να επιστρέφει την (υπολογισμένη) τιμή του χαρακτηριστικού ή " +"να κάνει raise μια εξαίρεση :exc:`AttributeError`. Για να αποφευχθεί η " +"άπειρη αναδρομή μέσα σε αυτή τη μέθοδο, η υλοποίηση της πρέπει πάντα να " +"καλεί τη μέθοδο της βασικής κλάσης με το ίδιο όνομα για να έχει πρόσβαση σε " +"οποιαδήποτε ιδιότητα χρειάζεται, για παράδειγμα ``object." +"__getattribute__(self, name)``." -#: reference/datamodel.rst:2208 +#: reference/datamodel.rst:1954 msgid "" "This method may still be bypassed when looking up special methods as the " "result of implicit invocation via language syntax or :ref:`built-in " "functions `. See :ref:`special-lookup`." msgstr "" +"Αυτή η μέθοδος μπορεί ακόμα να παρακαμφθεί κατά την αναζήτηση ειδικών " +"μεθόδων ως αποτέλεσμα σιωπηρής επίκλησης μέσω σύνταξης γλώσσας ή :ref:`built-" +"in functions `. Βλ. :ref:`special-lookup`." + +#: reference/datamodel.rst:1959 +msgid "" +"Raises an :ref:`auditing event ` ``object.__getattr__`` with " +"arguments ``obj``, ``name``." +msgstr "" +"Κάνει raise ένα :ref:`auditing event ` ``object.__getattr__`` με " +"ορίσματα ``obj``, ``name``." -#: reference/datamodel.rst:2215 +#: reference/datamodel.rst:1961 msgid "" "For certain sensitive attribute accesses, raises an :ref:`auditing event " "` ``object.__getattr__`` with arguments ``obj`` and ``name``." msgstr "" +"Για συγκεκριμένες προσβάσεις ευαίσθητων χαρακτηριστικών, δημιουργεί ένα :ref:" +"`auditing event ` ``object.__getattr__`` με ορίσματα ``obj`` και " +"``name``." -#: reference/datamodel.rst:2222 +#: reference/datamodel.rst:1968 msgid "" "Called when an attribute assignment is attempted. This is called instead of " "the normal mechanism (i.e. store the value in the instance dictionary). " "*name* is the attribute name, *value* is the value to be assigned to it." msgstr "" +"Καλείται όταν επιχειρείται εκχώρηση χαρακτηριστικού. Αυτό καλείται αντί για " +"τον κανονικό μηχανισμό (δηλαδή αποθήκευση της τιμής στο λεξικό " +"στιγμιοτύπου). Το *name* είναι το όνομα του χαρακτηριστικού, *value* είναι η " +"τιμή που θα του εκχωρηθεί." -#: reference/datamodel.rst:2226 +#: reference/datamodel.rst:1972 msgid "" "If :meth:`__setattr__` wants to assign to an instance attribute, it should " "call the base class method with the same name, for example, ``object." "__setattr__(self, name, value)``." msgstr "" +"Εάν η :meth:`__setattr__` θέλει να εκχωρήσει σε ένα χαρακτηριστικό " +"στιγμιοτύπου, θα πρέπει να καλέσει τη μέθοδο της βασικής κλάσης με το ίδιο " +"όνομα, για παράδειγμα, ``object.__setattr__(self, name, value)``." + +#: reference/datamodel.rst:1976 +msgid "" +"Raises an :ref:`auditing event ` ``object.__setattr__`` with " +"arguments ``obj``, ``name``, ``value``." +msgstr "" +"Κάνει raise ένα :ref:`auditing event ` ``object.__setattr__`` με " +"ορίσματα ``obj``, ``name``, ``value``." -#: reference/datamodel.rst:2232 +#: reference/datamodel.rst:1978 msgid "" "For certain sensitive attribute assignments, raises an :ref:`auditing event " "` ``object.__setattr__`` with arguments ``obj``, ``name``, " "``value``." msgstr "" +"Για ορισμένες εκχωρήσεις ευαίσθητων χαρακτηριστικών, γίνεται raise μια :ref:" +"`auditing event ` ``object.__setattr__`` με ορίσματα ``obj``, " +"``name``, ``value``." -#: reference/datamodel.rst:2239 +#: reference/datamodel.rst:1985 msgid "" "Like :meth:`__setattr__` but for attribute deletion instead of assignment. " "This should only be implemented if ``del obj.name`` is meaningful for the " "object." msgstr "" +"Όπως η :meth:`__setattr__` αλλά για διαγραφή χαρακτηριστικών αντί για " +"ανάθεση. Αυτό θα πρέπει να εφαρμοστεί μόνο εάν το ``del obj.name`` έχει " +"νόημα για το αντικείμενο." + +#: reference/datamodel.rst:1988 +msgid "" +"Raises an :ref:`auditing event ` ``object.__delattr__`` with " +"arguments ``obj``, ``name``." +msgstr "" +"Κάνει raise ένα :ref:`auditing event ` ``object.__delattr__`` με " +"ορίσματα ``obj``, ``name``." -#: reference/datamodel.rst:2244 +#: reference/datamodel.rst:1990 msgid "" "For certain sensitive attribute deletions, raises an :ref:`auditing event " "` ``object.__delattr__`` with arguments ``obj`` and ``name``." msgstr "" +"Για ορισμένες διαγραφές ευαίσθητων χαρακτηριστικών, κάνει raise ένα :ref:" +"`auditing event ` ``object.__delattr__`` με ορίσματα ``obj`` και " +"``name``." -#: reference/datamodel.rst:2251 +#: reference/datamodel.rst:1997 msgid "" "Called when :func:`dir` is called on the object. An iterable must be " "returned. :func:`dir` converts the returned iterable to a list and sorts it." msgstr "" +"Καλείται όταν η :func:`dir` καλείται στο αντικείμενο. Πρέπει να επιστραφεί " +"ένα iterable. Η :func:`dir` μετατρέπει το iterable που επιστρέφεται σε λίστα " +"και τον ταξινομεί." -#: reference/datamodel.rst:2256 +#: reference/datamodel.rst:2002 msgid "Customizing module attribute access" -msgstr "" +msgstr "Προσαρμογή πρόσβασης χαρακτηριστικών module" -#: reference/datamodel.rst:2263 +#: reference/datamodel.rst:2009 msgid "" "Special names ``__getattr__`` and ``__dir__`` can be also used to customize " "access to module attributes. The ``__getattr__`` function at the module " @@ -2527,77 +3304,90 @@ msgid "" "``__dict__`` before raising an :exc:`AttributeError`. If found, it is called " "with the attribute name and the result is returned." msgstr "" +"Οι ειδικές ονομασίες ``__getattr__`` και ``__dir__`` μπορούν επίσης να " +"χρησιμοποιηθούν για την προσαρμογή της πρόσβασης στα χαρακτηριστικά του " +"module. Η συνάρτηση ``__getattr__`` στο επίπεδο του module πρέπει να δέχεται " +"ένα όρισμα, το οποίο είναι το όνομα ενός χαρακτηριστικού, και να επιστρέφει " +"την υπολογισμένη τιμή ή να κάνει raise μια εξαίρεση :exc:`AttributeError`. " +"Εάν ένα χαρακτηριστικό δεν βρεθεί σε ένα αντικείμενο module μέσω της " +"κανονικής αναζήτησης, δηλαδή με τη μέθοδο :meth:`object.__getattribute__`, " +"τότε η μέθοδος ``__getattr__`` αναζητείται στο λεξικό ``__dict__`` του " +"module πριν γίνει raise η εξαίρεση :exc:`AttributeError`. Αν βρεθεί, " +"καλείται με το όνομα της ιδιότητας και το αποτέλεσμα επιστρέφεται." -#: reference/datamodel.rst:2272 +#: reference/datamodel.rst:2018 msgid "" "The ``__dir__`` function should accept no arguments, and return an iterable " "of strings that represents the names accessible on module. If present, this " "function overrides the standard :func:`dir` search on a module." msgstr "" +"Η συνάρτηση ``__dir__`` δεν πρέπει να δέχεται ορίσματα και να επιστρέφει μια " +"επαναλαμβανόμενη σειρά συμβολοσειρών που αντιπροσωπεύει τα ονόματα που είναι " +"προσβάσιμα στο module. Εάν υπάρχει, αυτή η συνάρτηση παρακάμπτει την τυπική " +"αναζήτηση :func:`dir` σε ένα module." -#: reference/datamodel.rst:2276 +#: reference/datamodel.rst:2022 msgid "" "For a more fine grained customization of the module behavior (setting " "attributes, properties, etc.), one can set the ``__class__`` attribute of a " "module object to a subclass of :class:`types.ModuleType`. For example::" msgstr "" +"Για μια πιο λεπτομερή προσαρμογή της συμπεριφοράς του module (ρύθμιση " +"χαρακτηριστικών, ιδιοτήτων κλπ.), μπορεί κανείς να ορίσει το χαρακτηριστικό " +"``__class__`` ενός αντικειμένου module σε μια υποκλάση :class:`types." +"ModuleType`. Για παράδειγμα::" -#: reference/datamodel.rst:2280 -msgid "" -"import sys\n" -"from types import ModuleType\n" -"\n" -"class VerboseModule(ModuleType):\n" -" def __repr__(self):\n" -" return f'Verbose {self.__name__}'\n" -"\n" -" def __setattr__(self, attr, value):\n" -" print(f'Setting {attr}...')\n" -" super().__setattr__(attr, value)\n" -"\n" -"sys.modules[__name__].__class__ = VerboseModule" -msgstr "" - -#: reference/datamodel.rst:2294 +#: reference/datamodel.rst:2040 msgid "" "Defining module ``__getattr__`` and setting module ``__class__`` only affect " "lookups made using the attribute access syntax -- directly accessing the " "module globals (whether by code within the module, or via a reference to the " "module's globals dictionary) is unaffected." msgstr "" +"Ο καθορισμός του module ``__getattr__`` και η ρύθμιση του module " +"``__class__`` επηρεάζουν μόνο τις αναζητήσεις που πραγματοποιούνται με χρήση " +"της σύνταξης πρόσβασης χαρακτηριστικών -- η απευθείας πρόσβαση στα καθολικά " +"του module (είτε μέσω κώδικας εντός του module, είτε μέσω αναφοράς στο " +"λεξικό καθολικών του module) δεν επηρεάζεται." -#: reference/datamodel.rst:2299 +#: reference/datamodel.rst:2045 msgid "``__class__`` module attribute is now writable." -msgstr "" +msgstr "Το χαρακτηριστικό ``__class__`` του module είναι πλέον εγγράψιμο." -#: reference/datamodel.rst:2302 +#: reference/datamodel.rst:2048 msgid "``__getattr__`` and ``__dir__`` module attributes." -msgstr "" +msgstr "Τα χαρακτηριστικά ``__getattr__`` και ``__dir__`` του module." -#: reference/datamodel.rst:2307 +#: reference/datamodel.rst:2053 msgid ":pep:`562` - Module __getattr__ and __dir__" -msgstr "" +msgstr ":pep:`562` - Module __getattr__ και __dir__" -#: reference/datamodel.rst:2308 +#: reference/datamodel.rst:2054 msgid "Describes the ``__getattr__`` and ``__dir__`` functions on modules." -msgstr "" +msgstr "Περιγράφει τις συναρτήσεις ``__getattr__`` και ``__dir__`` σε modules." -#: reference/datamodel.rst:2314 +#: reference/datamodel.rst:2060 msgid "Implementing Descriptors" -msgstr "" +msgstr "Υλοποίηση Περιγραφέων" -#: reference/datamodel.rst:2316 +#: reference/datamodel.rst:2062 msgid "" "The following methods only apply when an instance of the class containing " "the method (a so-called *descriptor* class) appears in an *owner* class (the " "descriptor must be in either the owner's class dictionary or in the class " "dictionary for one of its parents). In the examples below, \"the " "attribute\" refers to the attribute whose name is the key of the property in " -"the owner class' :attr:`~object.__dict__`. The :class:`object` class itself " -"does not implement any of these protocols." +"the owner class' :attr:`~object.__dict__`." msgstr "" +"Οι παρακάτω μέθοδοι ισχύουν μόνο όταν ένα στιγμιότυπο της κλάσης που " +"περιέχει τη μέθοδο (μια λεγόμενη κλάση *περιγραφέα*) εμφανίζεται μια " +"*ιδιοκτήτρια* κλάση (ο περιγραφέας πρέπει να βρίσκεται είτε στο λεξικό της " +"κλάσης της ιδιοκτήτριας είτε στο λεξικό κλάσης κάποιου από τους γονείς " +"της). Στα παρακάτω παραδείγματα, \"το χαρακτηριστικό\" αναφέρεται στο " +"χαρακτηριστικό του οποίου το όνομα είναι το κλειδί της ιδιότητας στο :attr:" +"`~object.__dict__` της ιδιοκτήτριας κλάσης." -#: reference/datamodel.rst:2326 +#: reference/datamodel.rst:2072 msgid "" "Called to get the attribute of the owner class (class attribute access) or " "of an instance of that class (instance attribute access). The optional " @@ -2605,14 +3395,22 @@ msgid "" "the attribute was accessed through, or ``None`` when the attribute is " "accessed through the *owner*." msgstr "" +"Καλείται για να ληφθεί η ιδιότητα της ιδιοκτήτρια κλάσης (πρόσβαση σε " +"χαρακτηριστικό κλάσης) ή ενός στιγμιοτύπου αυτή της κλάση (πρόσβαση σε " +"χαρακτηριστικό στιγμιοτύπου). Η προαιρετική παράμετρος *owner* είναι η " +"ιδιοκτήτρια κλάση, ενώ η *instance* είναι το στιγμιότυπο μέσω της οποίας " +"έγινε πρόσβαση στο χαρακτηριστικό, ή ``None`` όταν η πρόσβαση στο " +"χαρακτηριστικό έγινε μέσω της *owner*." -#: reference/datamodel.rst:2332 +#: reference/datamodel.rst:2078 msgid "" "This method should return the computed attribute value or raise an :exc:" "`AttributeError` exception." msgstr "" +"Αυτή η μέθοδος πρέπει να επιστρέφει την υπολογισμένη τιμή του " +"χαρακτηριστικού ή να κάνει raise μια :exc:`AttributeError` εξαίρεση." -#: reference/datamodel.rst:2335 +#: reference/datamodel.rst:2081 msgid "" ":PEP:`252` specifies that :meth:`__get__` is callable with one or two " "arguments. Python's own built-in descriptors support this specification; " @@ -2621,32 +3419,47 @@ msgid "" "implementation always passes in both arguments whether they are required or " "not." msgstr "" +"Το :PEP:`252` ορίζει ότι η μέθοδος :meth:`__get__` μπορεί να καλείται με ένα " +"ή δύο ορίσματα. Οι ενσωματωμένοι περιγραφείς της Python υποστηρίζουν αυτή " +"την προδιαγραφή∙ ωστόσο, είναι πιθανό κάποια εργαλεία τρίτων να έχουν " +"περιγραφείς που απαιτούν και τα δύο ορίσματα. Η ενσωματωμένη υλοποίηση της " +"Python για τη μέθοδο :meth:`__getattribute__` περνάει πάντα και τα δύο " +"ορίσματα, είτε είναι απαραίτητα είτε όχι." -#: reference/datamodel.rst:2344 +#: reference/datamodel.rst:2090 msgid "" "Called to set the attribute on an instance *instance* of the owner class to " "a new value, *value*." msgstr "" +"Καλείται για να οριστεί το χαρακτηριστικό σε ένα στιγμιότυπο *instance* της " +"ιδιοκτήτρια κλάσης σε μια νέα τιμή, *value*." -#: reference/datamodel.rst:2347 +#: reference/datamodel.rst:2093 msgid "" "Note, adding :meth:`__set__` or :meth:`__delete__` changes the kind of " "descriptor to a \"data descriptor\". See :ref:`descriptor-invocation` for " "more details." msgstr "" +"Σημείωση, η προσθήκη της :meth:`__set__` ή :meth:`__delete__` αλλάζει το " +"είδος του περιγραφέα σε έναν \"περιγραφέα δεδομένων\". Δείτε το :ref:" +"`descriptor-invocation` για περισσότερες λεπτομέρειες." -#: reference/datamodel.rst:2353 +#: reference/datamodel.rst:2099 msgid "" "Called to delete the attribute on an instance *instance* of the owner class." msgstr "" +"Καλείται για να διαγραφεί το χαρακτηριστικό σε ένα στιγμιότυπο *instance* " +"της ιδιοκτήτρια κλάσης." -#: reference/datamodel.rst:2355 +#: reference/datamodel.rst:2101 msgid "" "Instances of descriptors may also have the :attr:`!__objclass__` attribute " "present:" msgstr "" +"Τα στιγμιότυπα περιγραφέων μπορείς επίσης να έχουν διαθέσιμο το " +"χαρακτηριστικό :attr:`!__objclass__`:" -#: reference/datamodel.rst:2360 +#: reference/datamodel.rst:2106 msgid "" "The attribute :attr:`!__objclass__` is interpreted by the :mod:`inspect` " "module as specifying the class where this object was defined (setting this " @@ -2656,12 +3469,20 @@ msgid "" "argument (for example, CPython sets this attribute for unbound methods that " "are implemented in C)." msgstr "" +"Το χαρακτηριστικό :attr:`!__objclass__` ερμηνεύεται από το module :mod:" +"`inspect` ως ένδειξη κλάσης στην οποία ορίστηκε το αντικείμενο (η κατάλληλη " +"ρύθμιση αυτής μπορεί να βοηθήσει στην ανάκτηση πληροφοριών κατά την εκτέλεση " +"για δυναμικά χαρακτηριστικά κλάσεων). Για αυτά που μπορούν να κληθούν, " +"μπορεί να υποδεικνύει ότι ένα στιγμιότυπο του δεδομένου τύπου (ή μιας " +"υποκλάσης του) αναμένεται ή απαιτείται ως το πρώτο όρισμα θέσεως (για " +"παράδειγμα, η CPython θέτει αυτήν την ιδιότητα για μη δεσμευμένες μεθόδους " +"που έχουν υλοποιηθεί σε C)." -#: reference/datamodel.rst:2371 +#: reference/datamodel.rst:2117 msgid "Invoking Descriptors" -msgstr "" +msgstr "Κλήση Περιγραφέων" -#: reference/datamodel.rst:2373 +#: reference/datamodel.rst:2119 msgid "" "In general, a descriptor is an object attribute with \"binding behavior\", " "one whose attribute access has been overridden by methods in the descriptor " @@ -2669,71 +3490,100 @@ msgid "" "`~object.__delete__`. If any of those methods are defined for an object, it " "is said to be a descriptor." msgstr "" +"Γενικά, ένας περιγραφέας είναι ένα χαρακτηριστικό αντικειμένου με " +"\"συμπεριφορά δέσμευσης\", δηλαδή μια ιδιότητα της οποίας η πρόσβαση έχει " +"παρακαμφθεί μέσω μεθόδων του πρωτοκόλλου περιγραφέα :meth:`~object." +"__get__`, :meth:`~object.__set__`, και :meth:`~object.__delete__`. Αν " +"οποιαδήποτε από αυτές τις μεθόδους έχει οριστεί για ένα αντικείμενο, τότε το " +"αντικείμενο αυτό θεωρείται περιγραφέας." -#: reference/datamodel.rst:2379 +#: reference/datamodel.rst:2125 msgid "" "The default behavior for attribute access is to get, set, or delete the " "attribute from an object's dictionary. For instance, ``a.x`` has a lookup " "chain starting with ``a.__dict__['x']``, then ``type(a).__dict__['x']``, and " "continuing through the base classes of ``type(a)`` excluding metaclasses." msgstr "" +"Η προεπιλεγμένη συμπεριφορά για την πρόσβαση χαρακτηριστικών είναι η " +"ανάκτηση, ο ορισμός, ή η διαγραφή του χαρακτηριστικού από το λεξικό ενός " +"αντικειμένου. Για παράδειγμα, το ``a.x`` έχει μια αλυσίδα αναζήτησης που " +"ξεκινά με ``a.__dict__['x']``, στη συνέχεια με ``type(a).__dict__['x']`` και " +"συνεχίζει στις βασικές κατηγορίες του ``type(a)`` εξαιρουμένων των " +"μετακλάσεων." -#: reference/datamodel.rst:2384 +#: reference/datamodel.rst:2130 msgid "" "However, if the looked-up value is an object defining one of the descriptor " "methods, then Python may override the default behavior and invoke the " "descriptor method instead. Where this occurs in the precedence chain " "depends on which descriptor methods were defined and how they were called." msgstr "" +"Ωστόσο, εάν η τιμή αναζήτησης είναι ένα αντικείμενο που ορίζει μία από τις " +"μεθόδους περιγραφής, τότε η Python μπορεί να παρακάμψει την προεπιλεγμένη " +"συμπεριφορά και να επικαλεστεί τη μέθοδο περιγραφής. Το πού συμβαίνει αυτό " +"στην αλυσίδα προτεραιότητας εξαρτάται από το ποιες μέθοδοι περιγραφής " +"ορίστηκαν και πώς ονομάστηκαν." -#: reference/datamodel.rst:2389 +#: reference/datamodel.rst:2135 msgid "" "The starting point for descriptor invocation is a binding, ``a.x``. How the " "arguments are assembled depends on ``a``:" msgstr "" +"Το σημείο εκκίνηση για την επίκληση του περιγραφέα είναι ένα δεσμευτικό, ``a." +"x``. Ο τρόπος συναρμολόγησης των ορισμάτων εξαρτάται από το ``a``:" -#: reference/datamodel.rst:2392 +#: reference/datamodel.rst:2140 msgid "Direct Call" -msgstr "" +msgstr "Απευθείας Κλήση" -#: reference/datamodel.rst:2393 +#: reference/datamodel.rst:2139 msgid "" "The simplest and least common call is when user code directly invokes a " "descriptor method: ``x.__get__(a)``." msgstr "" +"Η απλούστερη και λιγότερο συνηθισμένη κλήση είναι όταν ο κωδικός χρήστη " +"καλεί απευθείας μια μέθοδο περιγραφής: ``x.__get__(a)``." -#: reference/datamodel.rst:2396 +#: reference/datamodel.rst:2144 msgid "Instance Binding" -msgstr "" +msgstr "Δέσμευση Στιγμιοτύπου" -#: reference/datamodel.rst:2397 +#: reference/datamodel.rst:2143 msgid "" "If binding to an object instance, ``a.x`` is transformed into the call: " "``type(a).__dict__['x'].__get__(a, type(a))``." msgstr "" +"Εάν δεσμεύεται σε ένα στιγμιότυπο αντικειμένου, το ``a.x`` μετατρέπεται στην " +"κλήση: ``type(a).__dict__['x'].__get__(a, type(a))``." -#: reference/datamodel.rst:2400 +#: reference/datamodel.rst:2148 msgid "Class Binding" -msgstr "" +msgstr "Δέσμευση Κλάσης" -#: reference/datamodel.rst:2401 +#: reference/datamodel.rst:2147 msgid "" "If binding to a class, ``A.x`` is transformed into the call: ``A." "__dict__['x'].__get__(None, A)``." msgstr "" +"Εάν δεσμεύεται σε μια κλάση, το ``A.x`` μετατρέπεται στην κλήση: ``A." +"__dict__['x'].__get__(None, A)``." -#: reference/datamodel.rst:2404 +#: reference/datamodel.rst:2154 msgid "Super Binding" -msgstr "" +msgstr "Υπερ-Δέσμευση" -#: reference/datamodel.rst:2405 +#: reference/datamodel.rst:2151 msgid "" "A dotted lookup such as ``super(A, a).x`` searches ``a.__class__.__mro__`` " "for a base class ``B`` following ``A`` and then returns ``B.__dict__['x']." "__get__(a, A)``. If not a descriptor, ``x`` is returned unchanged." msgstr "" +"Μια διακεκομμένη αναζήτηση όπως ``super(A, a).x`` αναζητά το ``a.__class__." +"__mro__`` για μια βασική κλάση ``B`` μετά το ``A`` και, στη συνέχεια, " +"επιστρέφει το ``B.__dict__['x'].__get__(a, A)``. Εάν δεν είναι περιγραφέας, " +"το ``x`` επιστρέφεται αμετάβλητο." -#: reference/datamodel.rst:2442 +#: reference/datamodel.rst:2188 msgid "" "For instance bindings, the precedence of descriptor invocation depends on " "which descriptor methods are defined. A descriptor can define any " @@ -2750,8 +3600,23 @@ msgid "" "dictionary. In contrast, non-data descriptors can be overridden by " "instances." msgstr "" - -#: reference/datamodel.rst:2457 +"Για δεσμεύσεις στιγμιοτύπου, η προτεραιότητα της κλήση του περιγραφέα " +"εξαρτάται από το ποιες μέθοδοι περιγραφέα έχουν οριστεί. Ένα περιγραφέας " +"μπορεί να ορίσει οποιονδήποτε συνδυασμό των :meth:`~object.__get__`, :meth:" +"`~object.__set__` και :meth:`~object.__delete__`. Αν δεν ορίσει τη μέθοδο :" +"meth:`!__get__`, τότε η πρόσβαση στην ιδιότητα θα επιστρέψει το ίδιο το " +"αντικείμενο του περιγραφέα, εκτός αν υπάρχει τιμή στο λεξικό στιγμιοτύπου " +"του αντικειμένου. Αν ο περιγραφέας ορίζει τη μέθοδο :meth:`!__set__` και/ή :" +"meth:`!__delete__`, θεωρείται περιγραφέας δεδομένων∙ αν δεν ορίζει καμία από " +"τις δύο, είναι μη-περιγραφέας δεδομένων. Συνήθως, οι περιγραφείς δεδομένων " +"ορίζουν και τις δύο :meth:`!__get__` και :meth:`!__set__`, ενώ οι μη-" +"περιγραφείς δεδομένων έχουν μόνο τη μέθοδο :meth:`!__get__`. Οι περιγραφείς " +"δεδομένων που έχουν ορίσει :meth:`!__get__` και :meth:`!__set__` (και/ή :" +"meth:`!__delete__`) υπερισχύουν πάντα από έναν επαναπροσδιορισμό στο λεξικό " +"στιγμιοτύπου. Αντίθετα, οι μη περιγραφείς δεδομένων μπορούν να παρακαμφθούν " +"από στιγμιότυπα." + +#: reference/datamodel.rst:2203 msgid "" "Python methods (including those decorated with :func:`@staticmethod " "` and :func:`@classmethod `) are implemented as " @@ -2759,50 +3624,73 @@ msgid "" "methods. This allows individual instances to acquire behaviors that differ " "from other instances of the same class." msgstr "" +"Οι μέθοδοι Python (συμπεριλαμβανομένων εκείνων που είναι διακοσμημένες με :" +"func:`@staticmethod ` και :func:`@classmethod `) " +"υλοποιούνται ως περιγραφέα χωρίς δεδομένα. Αντίστοιχα, τα στιγμιότυπα " +"μπορούν να επαναπροσδιορίσουν και να παρακάμψουν μεθόδους. Αυτό επιτρέπει σε " +"μεμονωμένα στιγμιότυπα να αποκτήσουν συμπεριφορές που διαφέρουν από άλλα " +"στιγμιότυπα της ίδιας κλάσης." -#: reference/datamodel.rst:2463 +#: reference/datamodel.rst:2209 msgid "" "The :func:`property` function is implemented as a data descriptor. " "Accordingly, instances cannot override the behavior of a property." msgstr "" +"Η συνάρτηση :func:`property` υλοποιείται ως περιγραφέας δεδομένων. Συνεπώς, " +"οι περιπτώσεις δεν μπορούν να παρακάμψουν τη συμπεριφορά μιας ιδιότητας." -#: reference/datamodel.rst:2470 +#: reference/datamodel.rst:2216 msgid "__slots__" -msgstr "" +msgstr "__slots__" -#: reference/datamodel.rst:2472 +#: reference/datamodel.rst:2218 msgid "" "*__slots__* allow us to explicitly declare data members (like properties) " "and deny the creation of :attr:`~object.__dict__` and *__weakref__* (unless " "explicitly declared in *__slots__* or available in a parent.)" msgstr "" +"Το *__slots__* μας επιτρέπει να δηλώνουμε ρητά τα μέλη δεδομένων (όπως " +"ιδιότητες) και να αρνηθούμε τη δημιουργία των :attr:`~object.__dict__` και " +"*__weakref__* (εκτός εάν δηλώνεται ρητά στο *__slots__* ή είναι διαθέσιμο σε " +"έναν γονέα.)" -#: reference/datamodel.rst:2476 +#: reference/datamodel.rst:2222 msgid "" "The space saved over using :attr:`~object.__dict__` can be significant. " "Attribute lookup speed can be significantly improved as well." msgstr "" +"Ο χώρος που εξοικονομείται χρησιμοποιώντας :attr:`~object.__dict__` μπορεί " +"να είναι σημαντικός. Η ταχύτητα αναζήτησης χαρακτηριστικών μπορεί επίσης να " +"βελτιωθεί σημαντικά." -#: reference/datamodel.rst:2481 +#: reference/datamodel.rst:2227 msgid "" "This class variable can be assigned a string, iterable, or sequence of " "strings with variable names used by instances. *__slots__* reserves space " "for the declared variables and prevents the automatic creation of :attr:" "`~object.__dict__` and *__weakref__* for each instance." msgstr "" +"Σε αυτήν την μεταβλητή κλάσης μπορεί να εκχωρηθεί μια συμβολοσειρά, iterable " +"ή ακολουθία συμβολοσειρών με ονόματα μεταβλητών που χρησιμοποιούνται από " +"στιγμιότυπα. Το *__slots__* διατηρεί χώρο για τις δηλωμένες μεταβλητές και " +"αποτρέπει την αυτόματη δημιουργία των :attr:`~object.__dict__` και " +"*__weakref__* για κάθε περίπτωση." -#: reference/datamodel.rst:2490 +#: reference/datamodel.rst:2236 msgid "Notes on using *__slots__*:" -msgstr "" +msgstr "Σημειώσεις σχετικά με τη χρήση *__slots__*:" -#: reference/datamodel.rst:2492 +#: reference/datamodel.rst:2238 msgid "" "When inheriting from a class without *__slots__*, the :attr:`~object." "__dict__` and *__weakref__* attribute of the instances will always be " "accessible." msgstr "" +"Όταν γίνεται κληρονομιά από μια κλάση χωρίς *__slots__*, το χαρακτηριστικό :" +"attr:`~object.__dict__` και *__weakref__* των στιγμιοτύπων θα είναι πάντα " +"προσβάσιμο." -#: reference/datamodel.rst:2496 +#: reference/datamodel.rst:2242 msgid "" "Without a :attr:`~object.__dict__` variable, instances cannot be assigned " "new variables not listed in the *__slots__* definition. Attempts to assign " @@ -2810,33 +3698,56 @@ msgid "" "assignment of new variables is desired, then add ``'__dict__'`` to the " "sequence of strings in the *__slots__* declaration." msgstr "" +"Χωρίς μια μεταβλητή :attr:`~object.__dict__`, τα στιγμιότυπα δεν μπορούν να " +"αντιστοιχιστούν σε νέες μεταβλητές που δεν αναφέρονται στον ορισμό " +"*__slots__*. Οι προσπάθειες αντιστοίχισης σε ένα όνομα μεταβλητής εκτός " +"λίστας κάνουν raise τη :exc:`AttributeError`. Εάν είναι επιθυμητή η δυναμική " +"αντιστοίχιση νέων μεταβλητών, τότε προσθέστε το ``'__dict__'`` στην " +"ακολουθία συμβολοσειρών στη δήλωση *__slots__*." -#: reference/datamodel.rst:2503 +#: reference/datamodel.rst:2249 msgid "" "Without a *__weakref__* variable for each instance, classes defining " "*__slots__* do not support :mod:`weak references ` to its " "instances. If weak reference support is needed, then add ``'__weakref__'`` " "to the sequence of strings in the *__slots__* declaration." msgstr "" +"Χωρίς μια μεταβλητή *__weakref__* για κάθε στιγμιότυπο, οι κλάσεις που " +"ορίζουν *__slots__* δεν υποστηρίζουν :mod:`weak references ` στα " +"στιγμιότυπα τους. Εάν απαιτείται αδύναμη υποστήριξη για αδύναμες αναφορές, " +"τότε προσθέστε το ``'__weakref__'`` στην ακολουθία των συμβολοσειρών στη " +"δήλωση των *__slots__*." -#: reference/datamodel.rst:2509 +#: reference/datamodel.rst:2255 msgid "" "*__slots__* are implemented at the class level by creating :ref:`descriptors " "` for each variable name. As a result, class attributes cannot " "be used to set default values for instance variables defined by *__slots__*; " "otherwise, the class attribute would overwrite the descriptor assignment." msgstr "" +"Τα *__slots__* υλοποιούνται σε επίπεδα κλάσης με τη δημιουργία :ref:" +"`descriptors ` για κάθε όνομα μεταβλητής. Ως ένα αποτέλεσμα, " +"οι ιδιότητες της κλάσης δεν μπορούν να χρησιμοποιηθούν για να ορίσουν " +"προεπιλεγμένες τιμές για μεταβλητές στιγμιοτύπων που έχουν δηλωθεί μέσω " +"*__slots__*∙ διαφορετικά, το χαρακτηριστικό της κλάσης θα αντικαθιστούσε την " +"ανάθεση του descriptor." -#: reference/datamodel.rst:2515 +#: reference/datamodel.rst:2261 msgid "" "The action of a *__slots__* declaration is not limited to the class where it " "is defined. *__slots__* declared in parents are available in child classes. " -"However, instances of a child subclass will get a :attr:`~object.__dict__` " -"and *__weakref__* unless the subclass also defines *__slots__* (which should " -"only contain names of any *additional* slots)." +"However, child subclasses will get a :attr:`~object.__dict__` and " +"*__weakref__* unless they also define *__slots__* (which should only contain " +"names of any *additional* slots)." msgstr "" +"Η ενέργεια μιας δήλωσης *__slots__* δεν περιορίζεται μόνο στην κλάση όπου " +"ορίζεται. Τα *__slots__* που δηλώνονται σε γονικές κλάσεις είναι διαθέσιμα " +"και στις θυγατρικές κλάσεις. Ωστόσο, οι θυγατρικές κλάσεις θα αποκτήσουν " +"ένα :attr:`~object.__dict__` και *__weakref__*, εκτός αν δηλώσουν και οι " +"ίδιες *__slots__* (τα οποία θα πρέπει να περιέχουν μόνο τα *επιπλέον* " +"ονόματα slots)." -#: reference/datamodel.rst:2521 +#: reference/datamodel.rst:2267 msgid "" "If a class defines a slot also defined in a base class, the instance " "variable defined by the base class slot is inaccessible (except by " @@ -2844,53 +3755,80 @@ msgid "" "meaning of the program undefined. In the future, a check may be added to " "prevent this." msgstr "" +"Αν μια κλάση ορίσει ένα slot που έχει ήδη οριστεί σε μια γονική κλάση, τότε " +"η μεταβλητή στιγμιοτύπου που ορίζεται από το slot της γονικής κλάσης γίνεται " +"μη προσβάσιμη (εκτός αν ανακτηθεί απευθείας ο descriptor της από τη γονική " +"κλάση). Αυτό καθιστά το νόημα του προγράμματος ασαφές. Στο μέλλον, μπορεί " +"να προστεθεί έλεγχος που να αποτρέπει κάτι τέτοιο." -#: reference/datamodel.rst:2526 +#: reference/datamodel.rst:2272 msgid "" ":exc:`TypeError` will be raised if nonempty *__slots__* are defined for a " "class derived from a :c:member:`\"variable-length\" built-in type " "` such as :class:`int`, :class:`bytes`, and :class:" "`tuple`." msgstr "" +"Θα γίνει raise :exc:`TypeError` αν οριστούν μη κενά *__slots__* σε μια κλάση " +"που προέρχεται από έναν :c:member:`\"variable-length\" ενσωματωμένο τύπο " +"`, όπως οι :class:`int`, :class:`bytes`, και :" +"class:`tuple`." -#: reference/datamodel.rst:2531 +#: reference/datamodel.rst:2277 msgid "Any non-string :term:`iterable` may be assigned to *__slots__*." msgstr "" +"Οποιαδήποτε μη συμβολοσειρά :term:`iterable` μπορεί να εκχωρηθεί σε " +"*__slots__*." -#: reference/datamodel.rst:2533 +#: reference/datamodel.rst:2279 msgid "" "If a :class:`dictionary ` is used to assign *__slots__*, the " "dictionary keys will be used as the slot names. The values of the dictionary " "can be used to provide per-attribute docstrings that will be recognised by :" "func:`inspect.getdoc` and displayed in the output of :func:`help`." msgstr "" +"Αν χρησιμοποιηθεί μια :class:`dictionary ` για την ανάθεση των " +"*__slots__*, τα κλειδιά του λεξικού θα χρησιμοποιηθούν ως ονόματα των slots. " +"Οι τιμές του λεξικού μπορούν να χρησιμοποιηθούν για να παρέχουν τεκμηρίωση " +"(docstrings) για κάθε ιδιότητα ξεχωριστά, η οποία θα αναγνωρίζεται από τη " +"συνάρτηση :func:`inspect.getdoc` και θα εμφανίζεται στην έξοδο της :func:" +"`help`." -#: reference/datamodel.rst:2538 +#: reference/datamodel.rst:2284 msgid "" -":attr:`~object.__class__` assignment works only if both classes have the " +":attr:`~instance.__class__` assignment works only if both classes have the " "same *__slots__*." msgstr "" +"Η ανάθεση στη :attr:`~instance.__class__` λειτουργεί μόνο αν και οι δύο " +"κλάσεις έχουν τα ίδια *__slots__*." -#: reference/datamodel.rst:2541 +#: reference/datamodel.rst:2287 msgid "" ":ref:`Multiple inheritance ` with multiple slotted parent " "classes can be used, but only one parent is allowed to have attributes " "created by slots (the other bases must have empty slot layouts) - violations " "raise :exc:`TypeError`." msgstr "" +"Το :ref:`Multiple inheritance ` με πολλαπλές γονικές κλάσεις " +"που χρησιμοποιούν __slots__ μπορεί να χρησιμοποιηθεί, αλλά επιτρέπεται μόνο " +"ένας γονέας να έχει ορίσει ιδιότητες μέσω των slots (οι υπόλοιπες γονικές " +"κλάσεις πρέπει να έχουν κενή διάταξη slots) - παραβιάσεις αυτού κάνουν " +"raise :exc:`TypeError`." -#: reference/datamodel.rst:2547 +#: reference/datamodel.rst:2293 msgid "" "If an :term:`iterator` is used for *__slots__* then a :term:`descriptor` is " "created for each of the iterator's values. However, the *__slots__* " "attribute will be an empty iterator." msgstr "" +"Εάν χρησιμοποιείται ένας :term:`iterator` για *__slots__* τότε δημιουργείται " +"ένας :term:`descriptor` για κάθε μία από τις τιμές του iterator. Ωστόσο, το " +"χαρακτηριστικό *__slots__* θα είναι ένας κενός iterator." -#: reference/datamodel.rst:2555 +#: reference/datamodel.rst:2301 msgid "Customizing class creation" -msgstr "" +msgstr "Προσαρμογή δημιουργίας κλάσης" -#: reference/datamodel.rst:2557 +#: reference/datamodel.rst:2303 msgid "" "Whenever a class inherits from another class, :meth:`~object." "__init_subclass__` is called on the parent class. This way, it is possible " @@ -2899,152 +3837,151 @@ msgid "" "specific class they're applied to, ``__init_subclass__`` solely applies to " "future subclasses of the class defining the method." msgstr "" +"Όποτε μια κλάση κληρονομεί από μια άλλη κλάση, τη :meth:`~object." +"__init_subclass__` καλείται μια γονική κλάση. Με αυτόν τον τρόπο, είναι " +"δυνατόν να γραφτούν κλάσεις που αλλάζουν τη συμπεριφορά των υποκλάσεων. Αυτό " +"σχετίζεται στενά με τους decorators των κλάσεων, αλλά όπου οι decorators " +"κλάσεων επηρεάζουν μόνο τη συγκεκριμένη κλάση στην οποία εφαρμόζονται, το " +"``__init_subclass__`` ισχύει αποκλειστικά για μελλοντικές υποκλάσεις της " +"κλάσης που ορίζουν τη μέθοδο." -#: reference/datamodel.rst:2566 +#: reference/datamodel.rst:2312 msgid "" "This method is called whenever the containing class is subclassed. *cls* is " "then the new subclass. If defined as a normal instance method, this method " "is implicitly converted to a class method." msgstr "" +"Αυτή η μέθοδος καλείται κάθε φορά που η κλάση περιέχει υποκλάση. Το *cls* " +"είναι τότε η νέα υποκλάση. Εάν οριστεί ως μια κανονική μέθοδος στιγμιοτύπου, " +"αυτή η μέθοδος μετατρέπεται σιωπηρά σε μέθοδο κλάσης." -#: reference/datamodel.rst:2570 +#: reference/datamodel.rst:2316 msgid "" "Keyword arguments which are given to a new class are passed to the parent " "class's ``__init_subclass__``. For compatibility with other classes using " "``__init_subclass__``, one should take out the needed keyword arguments and " "pass the others over to the base class, as in::" msgstr "" +"Τα ορίσματα λέξεων-κλειδιών που δίνονται σε μια νέα κλάση μεταβιβάζονται στη " +"``__init_subclass__``. Για συμβατότητα με άλλες κλάσεις που χρησιμοποιούν " +"``__init_subclass__``, θα πρέπει να αφαιρεθούν τα απαραίτητα ορίσματα λέξεων-" +"κλειδιών και να περάσουν τα άλλα στη βασική κλάση, όπως στο::" -#: reference/datamodel.rst:2576 -msgid "" -"class Philosopher:\n" -" def __init_subclass__(cls, /, default_name, **kwargs):\n" -" super().__init_subclass__(**kwargs)\n" -" cls.default_name = default_name\n" -"\n" -"class AustralianPhilosopher(Philosopher, default_name=\"Bruce\"):\n" -" pass" -msgstr "" - -#: reference/datamodel.rst:2584 +#: reference/datamodel.rst:2330 msgid "" "The default implementation ``object.__init_subclass__`` does nothing, but " "raises an error if it is called with any arguments." msgstr "" +"Η προεπιλεγμένη υλοποίηση ``object.__init_subclass__`` δεν κάνει τίποτα, " +"αλλά δημιουργεί ένα σφάλμα εάν καλείται με οποιαδήποτε ορίσματα." -#: reference/datamodel.rst:2589 +#: reference/datamodel.rst:2335 msgid "" "The metaclass hint ``metaclass`` is consumed by the rest of the type " "machinery, and is never passed to ``__init_subclass__`` implementations. The " "actual metaclass (rather than the explicit hint) can be accessed as " "``type(cls)``." msgstr "" +"Η υπόδειξη μετακλάσης ``metaclass`` καταναλώνεται από τα υπόλοιπα μηχανήματα " +"τύπου και δεν μεταβιβάζεται ποτέ στις υλοποιήσεις ``__init_subclass__``. Η " +"πραγματική μετακλάση (και όχι η ρητή υπόδειξη) μπορεί να προσπελαστεί ως " +"``type(cls)``." -#: reference/datamodel.rst:2597 +#: reference/datamodel.rst:2343 msgid "" "When a class is created, :meth:`type.__new__` scans the class variables and " "makes callbacks to those with a :meth:`~object.__set_name__` hook." msgstr "" +"Όταν δημιουργείται μια κλάση, η :meth:`type.__new__` σαρώνει τις μεταβλητές " +"κλάσης και πραγματοποιεί επανάκληση σε εκείνες με ένα :meth:`~object." +"__set_name__` hook." -#: reference/datamodel.rst:2602 +#: reference/datamodel.rst:2348 msgid "" "Automatically called at the time the owning class *owner* is created. The " "object has been assigned to *name* in that class::" msgstr "" +"Καλείται αυτόματα τη στιγμή που δημιουργείται η ιδιοκτήτρια κλάση *owner*. " +"Το αντικείμενο έχει εκχωρηθεί στο *name* σε αυτήν την κλάση::" -#: reference/datamodel.rst:2605 -msgid "" -"class A:\n" -" x = C() # Automatically calls: x.__set_name__(A, 'x')" -msgstr "" - -#: reference/datamodel.rst:2608 +#: reference/datamodel.rst:2354 msgid "" "If the class variable is assigned after the class is created, :meth:" "`__set_name__` will not be called automatically. If needed, :meth:" "`__set_name__` can be called directly::" msgstr "" +"Εάν η μεταβλητή κλάσης εκχωρηθεί μετά τη δημιουργία της κλάσης, η :meth:" +"`__set_name__` δεν θα κληθεί αυτόματα. Εάν χρειάζεται, η :meth:" +"`__set_name__` μπορεί να κληθεί απευθείας::" -#: reference/datamodel.rst:2612 -msgid "" -"class A:\n" -" pass\n" -"\n" -"c = C()\n" -"A.x = c # The hook is not called\n" -"c.__set_name__(A, 'x') # Manually invoke the hook" -msgstr "" - -#: reference/datamodel.rst:2619 +#: reference/datamodel.rst:2365 msgid "See :ref:`class-object-creation` for more details." -msgstr "" +msgstr "Δείτε το :ref:`class-object-creation` για περισσότερες λεπτομέρειες." -#: reference/datamodel.rst:2627 +#: reference/datamodel.rst:2373 msgid "Metaclasses" -msgstr "" +msgstr "Μετα-κλάσεις" -#: reference/datamodel.rst:2634 +#: reference/datamodel.rst:2380 msgid "" "By default, classes are constructed using :func:`type`. The class body is " "executed in a new namespace and the class name is bound locally to the " "result of ``type(name, bases, namespace)``." msgstr "" +"Από προεπιλογή, οι κλάσεις κατασκευάζονται χρησιμοποιώντας :func:`type`. Το " +"σώμα κλάσης εκτελείται σε νέο χώρο ονομάτων και το όνομα της κλάσης " +"συνδέεται τοπικά με το αποτέλεσμα του ``type(name, bases, namespace)``." -#: reference/datamodel.rst:2638 +#: reference/datamodel.rst:2384 msgid "" "The class creation process can be customized by passing the ``metaclass`` " "keyword argument in the class definition line, or by inheriting from an " "existing class that included such an argument. In the following example, " "both ``MyClass`` and ``MySubclass`` are instances of ``Meta``::" msgstr "" +"Η διαδικασία δημιουργία κλάσης μπορεί να προσαρμοστεί μεταβιβάζοντας το " +"όρισμα λέξης-κλειδιού ``metaclass`` στη γραμμή ορισμού κλάσης ή " +"κληρονομώντας από μια υπάρχουσα κλάση που περιλάμβανε ένα τέτοιο όρισμα. Στο " +"παρακάτω παράδειγμα, τόσο το ``MyClass`` και ``MySubclass`` είναι " +"περιπτώσεις του ``Meta``::" -#: reference/datamodel.rst:2643 -msgid "" -"class Meta(type):\n" -" pass\n" -"\n" -"class MyClass(metaclass=Meta):\n" -" pass\n" -"\n" -"class MySubclass(MyClass):\n" -" pass" -msgstr "" - -#: reference/datamodel.rst:2652 +#: reference/datamodel.rst:2398 msgid "" "Any other keyword arguments that are specified in the class definition are " "passed through to all metaclass operations described below." msgstr "" +"Οποιαδήποτε άλλα ορίσματα λέξης-κλειδιού που καθορίζονται στον ορισμό κλάσης " +"μεταβιβάζονται σε όλες τις λειτουργίες μετακλάσης που περιγράφονται παρακάτω." -#: reference/datamodel.rst:2655 +#: reference/datamodel.rst:2401 msgid "When a class definition is executed, the following steps occur:" -msgstr "" +msgstr "Όταν εκτελείται ένας ορισμός κλάσης, εμφανίζονται τα ακόλουθα βήματα:" -#: reference/datamodel.rst:2657 +#: reference/datamodel.rst:2403 msgid "MRO entries are resolved;" -msgstr "" +msgstr "Οι εγγραφές MRO επιλύονται∙" -#: reference/datamodel.rst:2658 +#: reference/datamodel.rst:2404 msgid "the appropriate metaclass is determined;" -msgstr "" +msgstr "καθορίζεται η κατάλληλη μετακλάση∙" -#: reference/datamodel.rst:2659 +#: reference/datamodel.rst:2405 msgid "the class namespace is prepared;" -msgstr "" +msgstr "προετοιμάζεται ο χώρος ονομάτων της κλάσης∙" -#: reference/datamodel.rst:2660 +#: reference/datamodel.rst:2406 msgid "the class body is executed;" -msgstr "" +msgstr "εκτελείται το σώμα της κλάσης∙" -#: reference/datamodel.rst:2661 +#: reference/datamodel.rst:2407 msgid "the class object is created." -msgstr "" +msgstr "δημιουργείται το αντικείμενο της κλάσης." -#: reference/datamodel.rst:2665 +#: reference/datamodel.rst:2411 msgid "Resolving MRO entries" -msgstr "" +msgstr "Επίλυση εγγραφών MRO" -#: reference/datamodel.rst:2669 +#: reference/datamodel.rst:2415 msgid "" "If a base that appears in a class definition is not an instance of :class:" "`type`, then an :meth:`!__mro_entries__` method is searched on the base. If " @@ -3055,60 +3992,77 @@ msgid "" "the base. The returned tuple may be empty: in these cases, the original base " "is ignored." msgstr "" - -#: reference/datamodel.rst:2680 +"Εάν μια βάση που εμφανίζεται σε ένα ορισμό κλάσης δεν είναι ένα στιγμιότυπο " +"της :class:`type`, τότε γίνεται αναζήτηση στη βάση μιας :meth:`!" +"__mro_entries__` μεθόδου. Εάν βρεθεί μια μέθοδος :meth:`!__mro_entries__`, η " +"βάση αντικαθίσταται με το αποτέλεσμα μιας κλήσης στο :meth:`!" +"__mro_entries__` κατά τη δημιουργία της κλάσης. Η μέθοδος καλείται με την " +"αρχική πλειάδα βάσεων μεταβιβασμένη στην παράμετρο *bases* και πρέπει να " +"επιστρέψει μια πλειάδα κλάσεων που θα χρησιμοποιηθούν αντί για τη βάση. Η " +"πλειάδα που επιστράφηκε μπορεί να είναι κενή: σε αυτές τις περιπτώσεις, η " +"αρχική βάση αγνοείται." + +#: reference/datamodel.rst:2427 msgid ":func:`types.resolve_bases`" -msgstr "" +msgstr ":func:`types.resolve_bases`" -#: reference/datamodel.rst:2681 +#: reference/datamodel.rst:2427 msgid "Dynamically resolve bases that are not instances of :class:`type`." -msgstr "" +msgstr "Επιλύστε δυναμικά βάσεις που δεν είναι στιγμιότυπα του :class:`type`." -#: reference/datamodel.rst:2683 +#: reference/datamodel.rst:2431 msgid ":func:`types.get_original_bases`" -msgstr "" +msgstr ":func:`types.get_original_bases`" -#: reference/datamodel.rst:2684 +#: reference/datamodel.rst:2430 msgid "" "Retrieve a class's \"original bases\" prior to modifications by :meth:" "`~object.__mro_entries__`." msgstr "" +"Ανακτήσετε τις \"αρχικές βάσεις\" μιας κλάσης πριν από τις τροποποιήσεις " +"από :meth:`~object.__mro_entries__`." -#: reference/datamodel.rst:2687 +#: reference/datamodel.rst:2433 msgid ":pep:`560`" -msgstr "" +msgstr ":pep:`560`" -#: reference/datamodel.rst:2688 +#: reference/datamodel.rst:2434 msgid "Core support for typing module and generic types." -msgstr "" +msgstr "Βασική υποστήριξη για modules τύπων και γενικούς τύπους." -#: reference/datamodel.rst:2692 +#: reference/datamodel.rst:2438 msgid "Determining the appropriate metaclass" -msgstr "" +msgstr "Προσδιορισμός της κατάλληλης μετακλάσης" -#: reference/datamodel.rst:2696 +#: reference/datamodel.rst:2442 msgid "" "The appropriate metaclass for a class definition is determined as follows:" -msgstr "" +msgstr "Η κατάλληλη μετακλάση για έναν ορισμό κλάσης καθορίζεται ως εξής: " -#: reference/datamodel.rst:2698 +#: reference/datamodel.rst:2444 msgid "" "if no bases and no explicit metaclass are given, then :func:`type` is used;" msgstr "" +"εάν δεν δίνονται βάσεις και καμία ρητή μετακλάση, τότε χρησιμοποιείται η :" +"func:`type` ∙" -#: reference/datamodel.rst:2699 +#: reference/datamodel.rst:2445 msgid "" "if an explicit metaclass is given and it is *not* an instance of :func:" "`type`, then it is used directly as the metaclass;" msgstr "" +"εάν δοθεί μια ρητή μετακλάση και *δεν* είναι ένα στιγμιότυπο της :func:" +"`type`, τότε χρησιμοποιείται απευθείας ως μετακλάση∙" -#: reference/datamodel.rst:2701 +#: reference/datamodel.rst:2447 msgid "" "if an instance of :func:`type` is given as the explicit metaclass, or bases " "are defined, then the most derived metaclass is used." msgstr "" +"εάν ένα στιγμιότυπο της :func:`type` δίνεται ως ρητή μετακλάση ή ορίζονται " +"βάσεις, τότε χρησιμοποιείται η πιο παραγόμενη μετακλάση." -#: reference/datamodel.rst:2704 +#: reference/datamodel.rst:2450 msgid "" "The most derived metaclass is selected from the explicitly specified " "metaclass (if any) and the metaclasses (i.e. ``type(cls)``) of all specified " @@ -3116,12 +4070,18 @@ msgid "" "of these candidate metaclasses. If none of the candidate metaclasses meets " "that criterion, then the class definition will fail with ``TypeError``." msgstr "" +"Η πιο παραγόμενη μετακλάση επιλέγεται από τη ρητά καθορισμένη μετακλάση (εάν " +"υπάρχει) και τις μετακλάσεις (δηλαδή ``type(cls)``) όλων των καθορισμένων " +"βασικών κλάσεων. Η πιο παραγόμενη μετακλάση είναι αυτή που είναι υπο-τύπος " +"*όλων* αυτών των υποψήφιων μετακλάσεων. Εάν καμία από τις υποψήφιες " +"μετακλάσεις δεν πληροί αυτό το κριτήριο, τότε ο ορισμός της κλάσης θα " +"αποτύχει με ``TypeError``." -#: reference/datamodel.rst:2714 +#: reference/datamodel.rst:2460 msgid "Preparing the class namespace" -msgstr "" +msgstr "Προετοιμασία του χώρου ονομάτων της κλάσης" -#: reference/datamodel.rst:2719 +#: reference/datamodel.rst:2465 msgid "" "Once the appropriate metaclass has been identified, then the class namespace " "is prepared. If the metaclass has a ``__prepare__`` attribute, it is called " @@ -3132,26 +4092,37 @@ msgid "" "``__new__``, but when the final class object is created the namespace is " "copied into a new ``dict``." msgstr "" +"Μόλις εντοπιστεί η κατάλληλη μετακλάση, τότε προετοιμάζεται ο χώρος ονομάτων " +"της κλάσης. Εάν η μετακλάση έχει ένα χαρακτηριστικό ``__prepare__``, " +"ονομάζεται ``namespace = metaclass.__prepare__(name, bases, **kwds)`` (όπου " +"τα πρόσθετα ορίσματα λέξης-κλειδιού, εάν υπάρχουν, προέρχονται από τον " +"ορισμό της κλάσης). Η μέθοδος ``__prepare__`` θα πρέπει να υλοποιηθεί ως " +"μέθοδος :func:`classmethod `. Ο χώρος ονομάτων που επιστρέφεται " +"από το ``__prepare__`` μεταβιβάζεται στο ``__new__``, αλλά όταν " +"δημιουργείται το τελικό αντικείμενο κλάσης, ο χώρος ονομάτων αντιγράφεται σε " +"ένα νέο ``dict``." -#: reference/datamodel.rst:2728 +#: reference/datamodel.rst:2474 msgid "" "If the metaclass has no ``__prepare__`` attribute, then the class namespace " "is initialised as an empty ordered mapping." msgstr "" +"Εάν η μετακλάση δεν έχει χαρακτηριστικό ``__prepare__``, τότε ο χώρος " +"ονομάτων κλάσης αρχικοποιείται ως κενή ταξινομημένη αντιστοίχιση." -#: reference/datamodel.rst:2733 +#: reference/datamodel.rst:2479 msgid ":pep:`3115` - Metaclasses in Python 3000" -msgstr "" +msgstr ":pep:`3115` - Μετακλάσεις στην Python 3000" -#: reference/datamodel.rst:2734 +#: reference/datamodel.rst:2480 msgid "Introduced the ``__prepare__`` namespace hook" -msgstr "" +msgstr "Παρουσιάστηκε το άγκιστρο χώρου ονομάτων ``__prepare__``" -#: reference/datamodel.rst:2738 +#: reference/datamodel.rst:2484 msgid "Executing the class body" -msgstr "" +msgstr "Εκτέλεση του σώματος της κλάσης" -#: reference/datamodel.rst:2743 +#: reference/datamodel.rst:2489 msgid "" "The class body is executed (approximately) as ``exec(body, globals(), " "namespace)``. The key difference from a normal call to :func:`exec` is that " @@ -3159,8 +4130,14 @@ msgid "" "names from the current and outer scopes when the class definition occurs " "inside a function." msgstr "" +"Το σώμα της κλάσης εκτελείται (περίπου) ως ``exec(body, globals(), " +"namespace)``. Η βασική διαφορά από μια κανονική κλήση στην :func:`exec` " +"είναι ότι το λεξικό πεδίο εφαρμογής επιτρέπει στο σώμα της κλάσης " +"(συμπεριλαμβανομένων οποιωνδήποτε μεθόδων) να παραπέμπει σε ονόματα από το " +"τρέχον και το εξωτερικό πεδίο εφαρμογής όταν ο ορισμός κλάσης εμφανίζεται " +"μέσα σε μια συνάρτηση." -#: reference/datamodel.rst:2749 +#: reference/datamodel.rst:2495 msgid "" "However, even when the class definition occurs inside the function, methods " "defined inside the class still cannot see names defined at the class scope. " @@ -3168,20 +4145,30 @@ msgid "" "class methods, or through the implicit lexically scoped ``__class__`` " "reference described in the next section." msgstr "" +"Ωστόσο, ακόμα και όταν ο ορισμός της κλάσης εμφανίζεται μέσα στη συνάρτηση, " +"οι μέθοδοι που ορίζονται μέσα στην κλάση εξακολουθούν να μην μπορούν να δουν " +"ονόματα που ορίζονται στο πεδίο της κλάσης. Οι μεταβλητές κλάσης πρέπει να " +"είναι προσβάσιμες μέσω της πρώτης παραμέτρου των μεθόδων στιγμιοτύπου ή " +"κλάσης ή μέσω της σιωπηρής αναφοράς ``__class__`` με λεξικό που περιγράφεται " +"στην επόμενη ενότητα." -#: reference/datamodel.rst:2758 +#: reference/datamodel.rst:2504 msgid "Creating the class object" -msgstr "" +msgstr "Δημιουργία αντικειμένου κλάσης" -#: reference/datamodel.rst:2765 +#: reference/datamodel.rst:2511 msgid "" "Once the class namespace has been populated by executing the class body, the " "class object is created by calling ``metaclass(name, bases, namespace, " "**kwds)`` (the additional keywords passed here are the same as those passed " "to ``__prepare__``)." msgstr "" +"Μόλις ο χώρος ονομάτων της κλάσης έχει συμπληρωθεί εκτελώντας το σώμα της " +"κλάσης, το αντικείμενο της κλάσης δημιουργείται καλώντας ``metaclass(name, " +"bases, namespace, **kwds)`` (οι πρόσθετε λέξεις-κλειδιά που μεταβιβάζονται " +"εδώ είναι οι ίδιες με αυτές που διαβιβάζονται στο ``__prepare__``)." -#: reference/datamodel.rst:2770 +#: reference/datamodel.rst:2516 msgid "" "This class object is the one that will be referenced by the zero-argument " "form of :func:`super`. ``__class__`` is an implicit closure reference " @@ -3191,8 +4178,17 @@ msgid "" "scoping, while the class or instance that was used to make the current call " "is identified based on the first argument passed to the method." msgstr "" +"Αυτό το αντικείμενο κλάσης είναι αυτό που θα αναφέρεται με τη μορφή " +"μηδενικού ορίσματος του :func:`super`. Το ``__class__`` είναι μια σιωπηρή " +"αναφορά κλεισίματος που δημιουργείται από τον μεταγλωττιστή εάν οποιεσδήποτε " +"μέθοδοι σε ένα σώμα κλάσης αναφέρονται είτε σε ``__class__`` είτε σε " +"``super``. Αυτό επιτρέπει στη μορφή μηδενικού ορίσματος του :func:`super` να " +"προσδιορίζει σωστά την κλάση που ορίζεται με βάση το λεξικό πεδίο εφαρμογής, " +"ενώ η κλάση ή το παράδειγμα που χρησιμοποιήθηκε για την πραγματοποίηση της " +"τρέχουσας κλήσης προσδιορίζεται με βάση το πρώτο όρισμα που μεταβιβάστηκε " +"στη μέθοδο." -#: reference/datamodel.rst:2780 +#: reference/datamodel.rst:2526 msgid "" "In CPython 3.6 and later, the ``__class__`` cell is passed to the metaclass " "as a ``__classcell__`` entry in the class namespace. If present, this must " @@ -3200,191 +4196,266 @@ msgid "" "initialised correctly. Failing to do so will result in a :exc:`RuntimeError` " "in Python 3.8." msgstr "" +"Στη CPython 3.6 και μεταγενέστερα, το κελί ``__class__`` μεταβιβάζεται στην " +"μετακλάση ως μια καταχώρηση ``__classcell__`` στον χώρο ονομάτων της κλάσης. " +"Εάν υπάρχει, αυτό πρέπει να διαδοθεί μέχρι την κλήση ``type.__new__``, " +"προκειμένου η κλάση να έχει ως αποτέλεσμα να αρχικοποιηθεί σωστά ώστε να " +"γίνει σωστά. Αν δεν το κάνετε αυτό θα έχει ως αποτέλεσμα μια :exc:" +"`RuntimeError` στην Python 3.8." -#: reference/datamodel.rst:2786 +#: reference/datamodel.rst:2532 msgid "" "When using the default metaclass :class:`type`, or any metaclass that " "ultimately calls ``type.__new__``, the following additional customization " "steps are invoked after creating the class object:" msgstr "" +"Κατά τη χρήση της προεπιλεγμένης μετακλάσης :class:`type` ή οποιασδήποτε " +"μετακλάσης που τελικά καλεί ``type.__new__``, τα ακόλουθα πρόσθετα βήματα " +"προσαρμογής καλούνται μετά τη δημιουργία του αντικείμενου κλάσης:" -#: reference/datamodel.rst:2790 +#: reference/datamodel.rst:2536 msgid "" "The ``type.__new__`` method collects all of the attributes in the class " "namespace that define a :meth:`~object.__set_name__` method;" msgstr "" +"Η μέθοδος ``type.__new__`` συλλέγει όλα τα χαρακτηριστικά στον χώρο ονομάτων " +"της κλάσης που ορίζουν μια μέθοδο :meth:`~object.__set_name__` ∙" -#: reference/datamodel.rst:2792 +#: reference/datamodel.rst:2538 msgid "" "Those ``__set_name__`` methods are called with the class being defined and " "the assigned name of that particular attribute;" msgstr "" +"Αυτές οι μέθοδοι ``__set_name__`` καλούνται με την κλάση που ορίζεται και το " +"εκχωρημένο όνομα του συγκεκριμένου χαρακτηριστικού∙" -#: reference/datamodel.rst:2794 +#: reference/datamodel.rst:2540 msgid "" "The :meth:`~object.__init_subclass__` hook is called on the immediate parent " "of the new class in its method resolution order." msgstr "" +"Το άγκιστρο :meth:`~object.__init_subclass__` καλείται στον άμεσο γονέα της " +"νέας κλάσης στη σειρά ανάλυσης της μεθόδου." -#: reference/datamodel.rst:2797 +#: reference/datamodel.rst:2543 msgid "" "After the class object is created, it is passed to the class decorators " "included in the class definition (if any) and the resulting object is bound " "in the local namespace as the defined class." msgstr "" +"Αφού δημιουργηθεί το αντικείμενο κλάσης, μεταβιβάζεται στους decorators " +"κλάσης που περιλαμβάνονται στον ορισμό της κλάσης (εάν υπάρχει) και το " +"αντικείμενο που προκύπτει δεσμεύεται στον τοπικό χώρο ονομάτων ως η " +"καθορισμένη κλάση." -#: reference/datamodel.rst:2801 +#: reference/datamodel.rst:2547 msgid "" "When a new class is created by ``type.__new__``, the object provided as the " "namespace parameter is copied to a new ordered mapping and the original " "object is discarded. The new copy is wrapped in a read-only proxy, which " -"becomes the :attr:`~type.__dict__` attribute of the class object." +"becomes the :attr:`~object.__dict__` attribute of the class object." msgstr "" +"Όταν δημιουργείται μια νέα κλάση από ``type.__new__``, το αντικείμενο που " +"παρέχεται ως παράμετρος στο χώρο ονομάτων αντιγράφεται σε μια νέα " +"ταξινομημένη αντιστοίχιση και το αρχικό αντικείμενο απορρίπτεται. Το νέο " +"αντίγραφο τυλίγεται σε έναν διακομιστή μεσολάβησης μόνο για ανάγνωση, ο " +"οποίος γίνεται το χαρακτηριστικό :attr:`~object.__dict__` του αντικειμένου " +"κλάσης." -#: reference/datamodel.rst:2808 +#: reference/datamodel.rst:2554 msgid ":pep:`3135` - New super" -msgstr "" +msgstr ":pep:`3135` - Νέο super" -#: reference/datamodel.rst:2809 +#: reference/datamodel.rst:2555 msgid "Describes the implicit ``__class__`` closure reference" -msgstr "" +msgstr "Περιγράφει την σιωπηρή αναφορά κλεισίματος ``__class__``" -#: reference/datamodel.rst:2813 +#: reference/datamodel.rst:2559 msgid "Uses for metaclasses" -msgstr "" +msgstr "Χρήσεις για μετακλάσεις" -#: reference/datamodel.rst:2815 +#: reference/datamodel.rst:2561 msgid "" "The potential uses for metaclasses are boundless. Some ideas that have been " "explored include enum, logging, interface checking, automatic delegation, " "automatic property creation, proxies, frameworks, and automatic resource " "locking/synchronization." msgstr "" +"Οι πιθανές χρήσεις για μετακλάσεις είναι απεριόριστες. Ορισμένες ιδέες που " +"έχουν διερευνηθεί περιλαμβάνουν το enum, την καταγραφή, τον έλεγχο διεπαφής, " +"την αυτόματα ανάθεση την αυτόματη δημιουργία ιδιοτήτων, τους διακομιστές " +"μεσολάβησης, τα πλαίσια και το αυτόματο κλείδωμα/συγχρονισμό πόρων." -#: reference/datamodel.rst:2822 +#: reference/datamodel.rst:2568 msgid "Customizing instance and subclass checks" -msgstr "" +msgstr "Προσαρμογή ελέγχων παρουσίας και υποκλάσης" -#: reference/datamodel.rst:2824 +#: reference/datamodel.rst:2570 msgid "" "The following methods are used to override the default behavior of the :func:" "`isinstance` and :func:`issubclass` built-in functions." msgstr "" +"Οι ακόλουθες μέθοδοι χρησιμοποιούνται για την παράκαμψη της προεπιλεγμένης " +"συμπεριφοράς των ενσωματωμένων συναρτήσεων :func:`isinstance` και :func:" +"`issubclass`." -#: reference/datamodel.rst:2827 +#: reference/datamodel.rst:2573 msgid "" "In particular, the metaclass :class:`abc.ABCMeta` implements these methods " "in order to allow the addition of Abstract Base Classes (ABCs) as \"virtual " "base classes\" to any class or type (including built-in types), including " "other ABCs." msgstr "" +"Συγκεκριμένα, η μετακλάση :class:`abc.ABCMeta` υλοποιεί αυτές τις μεθόδους " +"προκειμένου να επιτρέψει την προσθήκη Αφηρημένων Βασικών Κλάσεων (ABCs) ως " +"\"εικονικές βασικές κλάσεις\" σε οποιαδήποτε κλάση ή τύπο " +"(συμπεριλαμβανομένων των ενσωματωμένων τύπων), συμπεριλαμβανομένων άλλων " +"ABCs." -#: reference/datamodel.rst:2834 +#: reference/datamodel.rst:2580 msgid "" "Return true if *instance* should be considered a (direct or indirect) " "instance of *class*. If defined, called to implement ``isinstance(instance, " "class)``." msgstr "" +"Επιστρέφετε true εάν το *instance* θα πρέπει να θεωρείται ένα (άμεσο ή " +"έμμεσο) στιγμιότυπο της *class*. Εάν ορίζεται, καλείται να υλοποιήσει " +"``isinstance(instance, class)``." -#: reference/datamodel.rst:2841 +#: reference/datamodel.rst:2587 msgid "" "Return true if *subclass* should be considered a (direct or indirect) " "subclass of *class*. If defined, called to implement ``issubclass(subclass, " "class)``." msgstr "" +"Επιστρέφετε true εάν η *subclass* πρέπει να θεωρείται μια (άμεση ή έμμεση) " +"υποκλάση της *class*. Εάν ορίζεται, καλείται να υλοποιήσει " +"``issubclass(subclass, class)``." -#: reference/datamodel.rst:2846 +#: reference/datamodel.rst:2592 msgid "" "Note that these methods are looked up on the type (metaclass) of a class. " "They cannot be defined as class methods in the actual class. This is " "consistent with the lookup of special methods that are called on instances, " "only in this case the instance is itself a class." msgstr "" +"Λάβετε υπόψη ότι αυτές οι μέθοδοι αναζητούνται στον τύπο (μετακλάση) μιας " +"κλάσης. Δεν μπορούν να οριστούν ως μέθοδοι κλάσης στην πραγματική κλάση. " +"Αυτό είναι σύμφωνο με την αναζήτηση ειδικών μεθόδων που καλούνται σε " +"στιγμιότυπα, μόνο σε αυτήν την περίπτωση το ίδιο στιγμιότυπο είναι μια κλάση." -#: reference/datamodel.rst:2853 +#: reference/datamodel.rst:2603 msgid ":pep:`3119` - Introducing Abstract Base Classes" -msgstr "" +msgstr ":pep:`3119` - Εισάγοντας τις Αφηρημένες Βασικές Κλάσεις" -#: reference/datamodel.rst:2854 +#: reference/datamodel.rst:2600 msgid "" "Includes the specification for customizing :func:`isinstance` and :func:" -"`issubclass` behavior through :meth:`~type.__instancecheck__` and :meth:" -"`~type.__subclasscheck__`, with motivation for this functionality in the " +"`issubclass` behavior through :meth:`~class.__instancecheck__` and :meth:" +"`~class.__subclasscheck__`, with motivation for this functionality in the " "context of adding Abstract Base Classes (see the :mod:`abc` module) to the " "language." msgstr "" +"Περιλαμβάνει την προδιαγραφή για την προσαρμογή της συμπεριφορά της :func:" +"`isinstance` και της :func:`issubclass` μέσω των :meth:`~class." +"__instancecheck__` και :meth:`~class.__subclasscheck__`, με κίνητρο για " +"αυτήν τη λειτουργικότητα στο πλαίσιο της προσθήκης Αφηρημένης Βασικής Κλάσης " +"(δείτε το module :mod:`abc`) στη γλώσσα." -#: reference/datamodel.rst:2862 +#: reference/datamodel.rst:2608 msgid "Emulating generic types" -msgstr "" +msgstr "Εξομοίωση γενικών τύπων" -#: reference/datamodel.rst:2864 +#: reference/datamodel.rst:2610 msgid "" "When using :term:`type annotations`, it is often useful to " "*parameterize* a :term:`generic type` using Python's square-brackets " "notation. For example, the annotation ``list[int]`` might be used to signify " "a :class:`list` in which all the elements are of type :class:`int`." msgstr "" +"Όταν χρησιμοποιείτε το :term:`type annotations`, είναι συχνά " +"χρήσιμο να *παραμετροποιήσετε* έναν :term:`generic type` χρησιμοποιώντας τον " +"συμβολισμό σε αγκύλες της Python. Για παράδειγμα, το annotation " +"``list[int]`` μπορεί να χρησιμοποιηθεί για να υποδηλώσει μια :class:`list` " +"στην οποία όλα τα στοιχεία της κλάσης είναι τύπου :class:`int`." -#: reference/datamodel.rst:2871 +#: reference/datamodel.rst:2618 msgid ":pep:`484` - Type Hints" -msgstr "" +msgstr ":pep:`484` - Τύπος Hints" -#: reference/datamodel.rst:2872 +#: reference/datamodel.rst:2618 msgid "Introducing Python's framework for type annotations" -msgstr "" +msgstr "Εισάγοντας το πλαίσιο της Python για τύπους annotations" -#: reference/datamodel.rst:2874 +#: reference/datamodel.rst:2621 msgid ":ref:`Generic Alias Types`" -msgstr "" +msgstr ":ref:`Generic Alias Types`" -#: reference/datamodel.rst:2875 +#: reference/datamodel.rst:2621 msgid "Documentation for objects representing parameterized generic classes" msgstr "" +"Τεκμηρίωση για αντικείμενα που αντιπροσωπεύουν παραμετροποιημένες γενικές " +"κλάσεις" -#: reference/datamodel.rst:2877 +#: reference/datamodel.rst:2624 msgid "" ":ref:`Generics`, :ref:`user-defined generics` and :" "class:`typing.Generic`" msgstr "" +":ref:`Generics`, :ref:`user-defined generics` και :" +"class:`typing.Generic`" -#: reference/datamodel.rst:2878 +#: reference/datamodel.rst:2624 msgid "" "Documentation on how to implement generic classes that can be parameterized " "at runtime and understood by static type-checkers." msgstr "" +"Τεκμηρίωση για τον τρόπο υλοποίησης γενικών κλάσεων που μπορούν να " +"παραμετροποιηθούν κατά το χρόνο εκτέλεσης και να κατανοηθούν από στατικούς " +"ελεγκτές τύπων." -#: reference/datamodel.rst:2881 +#: reference/datamodel.rst:2627 msgid "" "A class can *generally* only be parameterized if it defines the special " "class method ``__class_getitem__()``." msgstr "" +"Μια κλάση *γενικά* μπορεί να παραμετροποιηθεί μόνο εάν ορίζει την ειδική " +"μέθοδο κλάσης ``__class_getitem__()``." -#: reference/datamodel.rst:2886 +#: reference/datamodel.rst:2632 msgid "" "Return an object representing the specialization of a generic class by type " "arguments found in *key*." msgstr "" +"Επιστρέφετε ένα αντικείμενο που αντιπροσωπεύει την εξειδίκευση μιας γενικής " +"κλάσης κατά ορίσματα τύπου που βρίσκονται στο *key*." -#: reference/datamodel.rst:2889 +#: reference/datamodel.rst:2635 msgid "" "When defined on a class, ``__class_getitem__()`` is automatically a class " "method. As such, there is no need for it to be decorated with :func:" "`@classmethod` when it is defined." msgstr "" +"Όταν ορίζεται σε μια κλάση, το ``__class_getitem__()`` είναι αυτόματα " +"μέθοδος κλάσης. Ως εκ τούτου, δεν χρειάζεται να γίνει decorated με :func:" +"`@classmethod` όταν ορίζεται." -#: reference/datamodel.rst:2895 +#: reference/datamodel.rst:2641 msgid "The purpose of *__class_getitem__*" -msgstr "" +msgstr "Ο σκοπός του *__class_getitem__*" -#: reference/datamodel.rst:2897 +#: reference/datamodel.rst:2643 msgid "" "The purpose of :meth:`~object.__class_getitem__` is to allow runtime " "parameterization of standard-library generic classes in order to more easily " "apply :term:`type hints` to these classes." msgstr "" +"Ο σκοπός της :meth:`~object.__class_getitem__` είναι να επιτρέψει την " +"παραμετροποίηση χρόνου εκτέλεσης των γενικών κλάσεων τυπικής βιβλιοθήκης " +"προκειμένου να εφαρμοστούν πιο εύκολα :term:`type hints` σε αυτές " +"τις κλάσεις." -#: reference/datamodel.rst:2901 +#: reference/datamodel.rst:2647 msgid "" "To implement custom generic classes that can be parameterized at runtime and " "understood by static type-checkers, users should either inherit from a " @@ -3392,20 +4463,31 @@ msgid "" "__class_getitem__`, or inherit from :class:`typing.Generic`, which has its " "own implementation of ``__class_getitem__()``." msgstr "" +"Για να εφαρμόσουν προσαρμοσμένες γενικές κλάσεις που μπορούν να " +"παραμετροποιηθούν κατά το χρόνο εκτέλεσης και να κατανοηθούν από στατικούς " +"ελεγκτές τύπων, οι χρήστες θα πρέπει είτε να κληρονομήσουν από μια τυπική " +"κλάση βιβλιοθήκης που ήδη υλοποιεί τη :meth:`~object.__class_getitem__`, " +"είτε να κληρονομήσουν από την :class:`typing.Generic`, η οποία έχει τη δική " +"της υλοποίηση του ``__class_getitem__()``." -#: reference/datamodel.rst:2907 +#: reference/datamodel.rst:2653 msgid "" "Custom implementations of :meth:`~object.__class_getitem__` on classes " "defined outside of the standard library may not be understood by third-party " "type-checkers such as mypy. Using ``__class_getitem__()`` on any class for " "purposes other than type hinting is discouraged." msgstr "" +"Προσαρμοσμένες υλοποιήσεις της :meth:`~object.__class_getitem__` σε κλάσεις " +"που ορίζονται εκτός της τυπικής βιβλιοθήκης ενδέχεται να μην είναι " +"κατανοητές από ελεγκτές τύπων τρίτου μέρους, όπως το mypy. Η χρήση " +"``__class_getitem__()`` σε οποιαδήποτε κλάση για άλλους σκοπούς εκτός από " +"την υπόδειξη τύπων δεν ενθαρρύνεται." -#: reference/datamodel.rst:2917 +#: reference/datamodel.rst:2663 msgid "*__class_getitem__* versus *__getitem__*" -msgstr "" +msgstr "*__class_getitem__* έναντι *__getitem__*" -#: reference/datamodel.rst:2919 +#: reference/datamodel.rst:2665 msgid "" "Usually, the :ref:`subscription` of an object using square " "brackets will call the :meth:`~object.__getitem__` instance method defined " @@ -3414,41 +4496,25 @@ msgid "" "instead. ``__class_getitem__()`` should return a :ref:`GenericAlias` object if it is properly defined." msgstr "" +"Συνήθως, η :ref:`subscription` ενός αντικειμένου που " +"χρησιμοποιεί αγκύλες θα καλεί τη μέθοδο του στιγμιοτύπου :meth:`~object." +"__getitem__` που ορίζεται στην κλάση του αντικειμένου. Ωστόσο, εάν το " +"αντικείμενο που εγγράφεται είναι το ίδιο μια κλάση, η μέθοδος της κλάσης :" +"meth:`~object.__class_getitem__` μπορεί να κληθεί αντί να γίνει. Το " +"``__class_getitem__()`` θα πρέπει να επιστρέψει ένα αντικείμενο :ref:" +"`GenericAlias`, εάν έχει οριστεί σωστά." -#: reference/datamodel.rst:2926 +#: reference/datamodel.rst:2672 msgid "" "Presented with the :term:`expression` ``obj[x]``, the Python interpreter " "follows something like the following process to decide whether :meth:" "`~object.__getitem__` or :meth:`~object.__class_getitem__` should be called::" msgstr "" +"Παρουσιάζεται με το :term:`expression` ``obj[x]``, ο διερμηνέας Python " +"ακολουθεί κάτι σαν την ακόλουθη διαδικασία για να αποφασίσει εάν θα πρέπει " +"να κληθεί :meth:`~object.__getitem__` ή :meth:`~object.__class_getitem__`::" -#: reference/datamodel.rst:2931 -msgid "" -"from inspect import isclass\n" -"\n" -"def subscribe(obj, x):\n" -" \"\"\"Return the result of the expression 'obj[x]'\"\"\"\n" -"\n" -" class_of_obj = type(obj)\n" -"\n" -" # If the class of obj defines __getitem__,\n" -" # call class_of_obj.__getitem__(obj, x)\n" -" if hasattr(class_of_obj, '__getitem__'):\n" -" return class_of_obj.__getitem__(obj, x)\n" -"\n" -" # Else, if obj is a class and defines __class_getitem__,\n" -" # call obj.__class_getitem__(x)\n" -" elif isclass(obj) and hasattr(obj, '__class_getitem__'):\n" -" return obj.__class_getitem__(x)\n" -"\n" -" # Else, raise an exception\n" -" else:\n" -" raise TypeError(\n" -" f\"'{class_of_obj.__name__}' object is not subscriptable\"\n" -" )" -msgstr "" - -#: reference/datamodel.rst:2954 +#: reference/datamodel.rst:2700 msgid "" "In Python, all classes are themselves instances of other classes. The class " "of a class is known as that class's :term:`metaclass`, and most classes have " @@ -3457,87 +4523,68 @@ msgid "" "``dict[str, float]`` and ``tuple[str, bytes]`` all result in :meth:`~object." "__class_getitem__` being called::" msgstr "" +"Στην Python, όλες οι κλάσεις είναι οι ίδιες παρουσίες άλλων κλάσεων. Η κλάση " +"μιας κλάσης είναι γνωστή ως :term:`metaclass` αυτής της κλάσης, και οι " +"περισσότερες κλάσεις έχουν ως μετακλάση την κλάση :class:`type`. Η :class:" +"`type` δεν ορίζει το :meth:`~object.__getitem__`, πράγμα που σημαίνει ότι " +"εκφράσεις όπως ``list[int]``, ``dict[str, float]`` και ``tuple[str, bytes]`` " +"έχουν ως αποτέλεσμα την κλήση της :meth:`~object.__class_getitem__`::" -#: reference/datamodel.rst:2961 -msgid "" -">>> # list has class \"type\" as its metaclass, like most classes:\n" -">>> type(list)\n" -"\n" -">>> type(dict) == type(list) == type(tuple) == type(str) == type(bytes)\n" -"True\n" -">>> # \"list[int]\" calls \"list.__class_getitem__(int)\"\n" -">>> list[int]\n" -"list[int]\n" -">>> # list.__class_getitem__ returns a GenericAlias object:\n" -">>> type(list[int])\n" -"" -msgstr "" - -#: reference/datamodel.rst:2973 +#: reference/datamodel.rst:2719 msgid "" "However, if a class has a custom metaclass that defines :meth:`~object." "__getitem__`, subscribing the class may result in different behaviour. An " "example of this can be found in the :mod:`enum` module::" msgstr "" +"Ωστόσο, εάν μια κλάση έχει μια προσαρμοσμένη μετακλάση που ορίζει :meth:" +"`~object.__getitem__`, η εγγραφή στην κλάση μπορεί να οδηγήσει σε " +"διαφορετική συμπεριφορά. Ένα παράδειγμα αυτού μπορεί να βρεθεί στο module :" +"meth:`~object.__getitem__`::" -#: reference/datamodel.rst:2977 -msgid "" -">>> from enum import Enum\n" -">>> class Menu(Enum):\n" -"... \"\"\"A breakfast menu\"\"\"\n" -"... SPAM = 'spam'\n" -"... BACON = 'bacon'\n" -"...\n" -">>> # Enum classes have a custom metaclass:\n" -">>> type(Menu)\n" -"\n" -">>> # EnumMeta defines __getitem__,\n" -">>> # so __class_getitem__ is not called,\n" -">>> # and the result is not a GenericAlias object:\n" -">>> Menu['SPAM']\n" -"\n" -">>> type(Menu['SPAM'])\n" -"" -msgstr "" - -#: reference/datamodel.rst:2996 +#: reference/datamodel.rst:2744 msgid ":pep:`560` - Core Support for typing module and generic types" msgstr "" +":pep:`560` - Βασική υποστήριξη για module πληκτρολόγησης και γενικούς τύπους" -#: reference/datamodel.rst:2997 +#: reference/datamodel.rst:2743 msgid "" "Introducing :meth:`~object.__class_getitem__`, and outlining when a :ref:" "`subscription` results in ``__class_getitem__()`` being " "called instead of :meth:`~object.__getitem__`" msgstr "" +"Παρουσίαση της :meth:`~object.__class_getitem__`, και περιγραφή του πότε " +"ένα :ref:`subscription` έχει ως αποτέλεσμα την κλήση " +"``__class_getitem__()`` αντί για :meth:`~object.__getitem__`" -#: reference/datamodel.rst:3005 +#: reference/datamodel.rst:2751 msgid "Emulating callable objects" -msgstr "" +msgstr "Εξομοίωση αντικειμένων με δυνατότητα κλήσης" -#: reference/datamodel.rst:3012 +#: reference/datamodel.rst:2758 msgid "" "Called when the instance is \"called\" as a function; if this method is " "defined, ``x(arg1, arg2, ...)`` roughly translates to ``type(x).__call__(x, " -"arg1, ...)``. The :class:`object` class itself does not provide this method." +"arg1, ...)``." msgstr "" +"Καλείται όταν το στιγμιότυπο \"καλείται\" ως συνάρτηση∙ εάν αυτή η μέθοδος " +"οριστεί, το ``x(arg1, arg2, ...)`` μεταφράζεται χονδρικά σε ``type(x)." +"__call__(x, arg1, ...)``." -#: reference/datamodel.rst:3020 +#: reference/datamodel.rst:2765 msgid "Emulating container types" -msgstr "" - -#: reference/datamodel.rst:3022 -msgid "" -"The following methods can be defined to implement container objects. None of " -"them are provided by the :class:`object` class itself. Containers usually " -"are :term:`sequences ` (such as :class:`lists ` or :class:" -"`tuples `) or :term:`mappings ` (like :term:`dictionaries " -"`), but can represent other containers as well. The first set " -"of methods is used either to emulate a sequence or to emulate a mapping; the " -"difference is that for a sequence, the allowable keys should be the integers " -"*k* for which ``0 <= k < N`` where *N* is the length of the sequence, or :" -"class:`slice` objects, which define a range of items. It is also " -"recommended that mappings provide the methods :meth:`!keys`, :meth:`!" +msgstr "Εξομοίωση τύπων κοντέινερ" + +#: reference/datamodel.rst:2767 +msgid "" +"The following methods can be defined to implement container objects. " +"Containers usually are :term:`sequences ` (such as :class:`lists " +"` or :class:`tuples `) or :term:`mappings ` (like :" +"class:`dictionaries `), but can represent other containers as well. " +"The first set of methods is used either to emulate a sequence or to emulate " +"a mapping; the difference is that for a sequence, the allowable keys should " +"be the integers *k* for which ``0 <= k < N`` where *N* is the length of the " +"sequence, or :class:`slice` objects, which define a range of items. It is " +"also recommended that mappings provide the methods :meth:`!keys`, :meth:`!" "values`, :meth:`!items`, :meth:`!get`, :meth:`!clear`, :meth:`!setdefault`, :" "meth:`!pop`, :meth:`!popitem`, :meth:`!copy`, and :meth:`!update` behaving " "similar to those for Python's standard :class:`dictionary ` objects. " @@ -3562,16 +4609,57 @@ msgid "" "meth:`!__iter__` should iterate through the object's keys; for sequences, it " "should iterate through the values." msgstr "" +"Οι ακόλουθες μέθοδοι μπορούν να οριστούν για την υλοποίηση αντικειμένων " +"κοντέινερ. Τα κοντέινερ είναι συνήθως :term:`sequences ` (όπως :" +"class:`lists ` ή :class:`tuples `) ή :term:`mappings ` " +"(όπως :class:`dictionaries `), αλλά τα λεξικά μπορούν επίσης να " +"αντιπροσωπεύουν άλλα κοντέινερ. Το πρώτο σύνολο μεθόδων χρησιμοποιείται " +"είτε για την εξομοίωση μιας ακολουθίας είτε για την εξομοίωση μιας " +"αντιστοίχισης∙ η διαφορά είναι ότι για μια ακολουθία, τα επιτρεπόμενα " +"κλειδιά θα πρέπει να είναι οι ακέραιοι *k* για τους οποίους ``0 <= k < N`` " +"όπου *N* είναι το μήκος της ακολουθίας, ή αντικείμενα :class:`slice`, τα " +"οποία ορίζουν ένα εύρος στοιχείων. Συνίσταται επίσης οι αντιστοιχίσεις να " +"παρέχουν τις μεθόδους :meth:`!keys`, :meth:`!values`, :meth:`!items`, :meth:" +"`!get`, :meth:`!clear`, :meth:`!setdefault`, :meth:`!pop`, :meth:`!" +"popitem`, :meth:`!copy`, και :meth:`!update` όπου συμπεριφέρονται παρόμοια " +"με εκείνα για τα τυπικά αντικείμενα :class:`dictionary ` της Python. " +"Το module :mod:`collections.abc` παρέχει μια :class:`~collections.abc." +"MutableMapping` :term:`abstract base class` για να βοηθήσει στη δημιουργία " +"αυτών των μεθόδων από ένα βασικό σύνολο :meth:`~object.__getitem__`, :meth:" +"`~object.__setitem__`, :meth:`~object.__delitem__`, και :meth:`!keys`. Οι " +"μεταβλητές ακολουθίες θα πρέπει να παρέχουν μεθόδους :meth:`!append`, :meth:" +"`!count`, :meth:`!index`, :meth:`!extend`, :meth:`!insert`, :meth:`!pop`, :" +"meth:`!remove`, :meth:`!reverse` και :meth:`!sort`, όπως τα πρότυπα Python :" +"class:`list` αντικείμενα. Τέλος, οι τύποι ακολουθιών θα πρέπει να υλοποιούν " +"πρόσθεση (που σημαίνει συνένωση) και πολλαπλασιασμό (δηλαδή επανάληψη) " +"ορίζοντας τις μεθόδους :meth:`~object.__add__`, :meth:`~object.__radd__`, :" +"meth:`~object.__iadd__`, :meth:`~object.__mul__`, :meth:`~object.__rmul__` " +"και :meth:`~object.__imul__` που περιγράφονται παρακάτω∙ δεν θα πρέπει να " +"ορίζουν άλλους αριθμητικούς τελεστές. Συνίσταται τόσο οι αντιστοιχίσεις όσο " +"και οι ακολουθίες να εφαρμόζουν τη μέθοδο :meth:`~object.__contains__` για " +"να επιτρέπεται η αποτελεσματική χρήση του τελεστή ``in`` ∙ για " +"αντιστοιχίσεις, το ``in`` θα πρέπει να αναζητήσει τα κλειδιά της " +"αντιστοίχισης∙ για ακολουθίες θα πρέπει να αναζητήσει τις τιμές. Συνίσταται " +"περαιτέρω τόσο οι αντιστοιχίσεις όσο και οι ακολουθίες να εφαρμόζουν τη " +"μέθοδο :meth:`~object.__iter__` για να επιτρέπεται η αποτελεσματική " +"επανάληψη μέσω του κοντέινερ∙ για αντιστοιχίσεις, η :meth:`!__iter__` θα " +"πρέπει να επαναλαμβάνεται μέσω των κλειδιών του αντικειμένου∙ για " +"ακολουθίες, θα πρέπει να επαναλαμβάνεται μέσω των τιμών." -#: reference/datamodel.rst:3064 +#: reference/datamodel.rst:2808 msgid "" "Called to implement the built-in function :func:`len`. Should return the " "length of the object, an integer ``>=`` 0. Also, an object that doesn't " "define a :meth:`~object.__bool__` method and whose :meth:`!__len__` method " "returns zero is considered to be false in a Boolean context." msgstr "" +"Καλείται για την υλοποίηση της ενσωματωμένης συνάρτησης :func:`len`. Θα " +"πρέπει να επιστρέψει το μήκος του αντικειμένου, ένας ακέραιος αριθμός ``>=`` " +"0. Επίσης, ένα αντικείμενο που δεν ορίζει μια μέθοδο :meth:`~object." +"__bool__` και του οποίου η μέθοδος :meth:`!__len__` επιστρέφει μηδέν, " +"θεωρείται ψευδές σε ένα Boolean περιβάλλον." -#: reference/datamodel.rst:3071 +#: reference/datamodel.rst:2815 msgid "" "In CPython, the length is required to be at most :data:`sys.maxsize`. If the " "length is larger than :data:`!sys.maxsize` some features (such as :func:" @@ -3579,8 +4667,14 @@ msgid "" "OverflowError` by truth value testing, an object must define a :meth:" "`~object.__bool__` method." msgstr "" +"Στο CPython, το μήκος απαιτείται να είναι το πολύ :data:`sys.maxsize`. Εάν " +"το μήκος είναι μεγαλύτερο από :data:`!sys.maxsize` ορισμένες δυνατότητες " +"(όπως :func:`len`) ενδέχεται να αυξήσουν το :exc:`OverflowError`. Για να " +"αποφευχθεί να γίνει raise :exc:`!OverflowError` από τον έλεγχο τιμής " +"αλήθειας, ένα αντικείμενο πρέπει να ορίσει μια μέθοδο :meth:`~object." +"__bool__`." -#: reference/datamodel.rst:3080 +#: reference/datamodel.rst:2824 msgid "" "Called to implement :func:`operator.length_hint`. Should return an estimated " "length for the object (which may be greater or less than the actual length). " @@ -3589,29 +4683,32 @@ msgid "" "method didn't exist at all. This method is purely an optimization and is " "never required for correctness." msgstr "" +"Καλείται για υλοποίηση :func:`operator.length_hint`. Θα πρέπει να επιστρέψει " +"ένα εκτιμώμενο μήκος για το αντικείμενο (το οποίο μπορεί να είναι μεγαλύτερο " +"ή μικρότερο από το πραγματικό μήκος). Το μήκος πρέπει να είναι ένας ακέραιος " +"αριθμός ``>=`` 0. Η τιμή επιστροφής μπορεί επίσης να είναι :data:" +"`NotImplemented`, η οποία αντιμετωπίζεται με τον ίδιο τρόπο σαν να μην " +"υπήρχε καθόλου η μέθοδος ``__length_hint__``. Αυτή η μέθοδος είναι καθαρά " +"βελτιστοποίηση και δεν απαιτείται ποτέ για ορθότητα." -#: reference/datamodel.rst:3094 +#: reference/datamodel.rst:2838 msgid "" "Slicing is done exclusively with the following three methods. A call like ::" msgstr "" +"Η διαδικασία τμηματοποίησης γίνεται αποκλειστικά με τις ακόλουθες τρεις " +"μεθόδους. Μια κλήση όπως ::" -#: reference/datamodel.rst:3096 -msgid "a[1:2] = b" -msgstr "" - -#: reference/datamodel.rst:3098 +#: reference/datamodel.rst:2842 msgid "is translated to ::" -msgstr "" - -#: reference/datamodel.rst:3100 -msgid "a[slice(1, 2, None)] = b" -msgstr "" +msgstr "μεταφράζεται σε ::" -#: reference/datamodel.rst:3102 +#: reference/datamodel.rst:2846 msgid "and so forth. Missing slice items are always filled in with ``None``." msgstr "" +"και ούτω καθεξής. Τα στοιχεία τμήματος που λείπουν συμπληρώνονται πάντα με " +"``None``." -#: reference/datamodel.rst:3107 +#: reference/datamodel.rst:2851 msgid "" "Called to implement evaluation of ``self[key]``. For :term:`sequence` types, " "the accepted keys should be integers. Optionally, they may support :class:" @@ -3622,21 +4719,37 @@ msgid "" "term:`mapping` types, if *key* is missing (not in the container), :exc:" "`KeyError` should be raised." msgstr "" +"Καλείται για την υλοποίηση αξιολόγησης του ``self[key]``. Για τους τύπους :" +"term:`sequence`, τα αποδεκτά κλειδιά πρέπει να είναι ακέραιοι. Προαιρετικά, " +"ενδέχεται να υποστηρίζουν επίσης αντικείμενα :class:`slice`. Η υποστήριξη " +"αρνητικού ευρετηρίου είναι επίσης προαιρετική. Εάν το *key* είναι " +"ακατάλληλου τύπου, μπορεί να γίνει raise το :exc:`TypeError` ∙ εάν το *key* " +"είναι μια τιμή εκτός του συνόλου των ευρετηρίων για την ακολουθία (μετά από " +"οποιαδήποτε ειδική ερμηνεία αρνητικών τιμών), το :exc:`IndexError` θα πρέπει " +"να γίνει raise. Για τύπους :term:`mapping`, εάν λείπει το *key* (όχι στο " +"κοντέινερ), το :exc:`KeyError` θα πρέπει να γίνει raise." -#: reference/datamodel.rst:3119 +#: reference/datamodel.rst:2863 msgid "" ":keyword:`for` loops expect that an :exc:`IndexError` will be raised for " "illegal indexes to allow proper detection of the end of the sequence." msgstr "" +"Οι βρόχοι :keyword:`for` αναμένουν ότι θα γίνει raise ένα :exc:`IndexError` " +"για παράνομα ευρετήρια για να επιτρέπεται ο σωστός εντοπισμός του τέλους της " +"ακολουθίας." -#: reference/datamodel.rst:3124 +#: reference/datamodel.rst:2868 msgid "" "When :ref:`subscripting` a *class*, the special class method :" "meth:`~object.__class_getitem__` may be called instead of ``__getitem__()``. " "See :ref:`classgetitem-versus-getitem` for more details." msgstr "" +"Όταν το :ref:`subscripting` μια *class*, η μέθοδος ειδικής " +"κλάσης :meth:`~object.__class_getitem__` μπορεί να κληθεί αντί για " +"``__getitem__()``. Δείτε το :ref:`classgetitem-versus-getitem` για " +"περισσότερες λεπτομέρειες." -#: reference/datamodel.rst:3132 +#: reference/datamodel.rst:2876 msgid "" "Called to implement assignment to ``self[key]``. Same note as for :meth:" "`__getitem__`. This should only be implemented for mappings if the objects " @@ -3644,8 +4757,14 @@ msgid "" "sequences if elements can be replaced. The same exceptions should be raised " "for improper *key* values as for the :meth:`__getitem__` method." msgstr "" +"Καλείται για την υλοποίηση της ανάθεσης στο ``self[key]``. Ίδια σημείωση με " +"το :meth:`__getitem__`. Αυτό θα πρέπει να εφαρμοστεί μόνο για αντιστοιχίσεις " +"εάν τα αντικείμενα υποστηρίζουν αλλαγές στις τιμές για κλειδιά ή εάν μπορούν " +"να προστεθούν νέα κλειδιά ή για ακολουθίες εάν μπορούν να αντικατασταθούν " +"στοιχεία. Θα πρέπει να δημιουργηθούν οι ίδιες εξαιρέσεις για ακατάλληλες " +"τιμές *key* όπως και για τη μέθοδο :meth:`__getitem__`." -#: reference/datamodel.rst:3141 +#: reference/datamodel.rst:2885 msgid "" "Called to implement deletion of ``self[key]``. Same note as for :meth:" "`__getitem__`. This should only be implemented for mappings if the objects " @@ -3653,29 +4772,46 @@ msgid "" "the sequence. The same exceptions should be raised for improper *key* " "values as for the :meth:`__getitem__` method." msgstr "" +"Κλήθηκε για την υλοποίηση της διαγραφής του ``self[key]``. Ίδια σημείωση με " +"το :meth:`__getitem__`. Αυτό θα πρέπει να εφαρμόζεται μόνο για " +"αντιστοιχίσεις εάν τα αντικείμενα υποστηρίζουν την αφαίρεση πλήκτρων ή για " +"ακολουθίες εάν μπορούν να αφαιρεθούν στοιχεία από την ακολουθία. Θα πρέπει " +"να δημιουργηθούν οι ίδιες εξαιρέσεις για ακατάλληλες τιμές *key* όπως και " +"για τη μέθοδο :meth:`__getitem__`." -#: reference/datamodel.rst:3150 +#: reference/datamodel.rst:2894 msgid "" "Called by :class:`dict`\\ .\\ :meth:`__getitem__` to implement ``self[key]`` " "for dict subclasses when key is not in the dictionary." msgstr "" +"Κλήθηκε από :class:`dict`\\ .\\ :meth:`__getitem__` για την υλοποίηση του " +"``self[key]`` για υποκλάσεις dict όταν το κλειδί δεν υπάρχει στο λεξικό." -#: reference/datamodel.rst:3156 +#: reference/datamodel.rst:2900 msgid "" "This method is called when an :term:`iterator` is required for a container. " "This method should return a new iterator object that can iterate over all " "the objects in the container. For mappings, it should iterate over the keys " "of the container." msgstr "" +"Αυτή η μέθοδος καλείται όταν απαιτείται ένας :term:`iterator` για ένα " +"κοντέινερ. Αυτή η μέθοδος θα πρέπει να επιστρέψει ένα νέο αντικείμενο " +"iterator που μπορεί να επαναλάβει όλα τα αντικείμενα στο κοντέινερ. Για " +"αντιστοιχίσεις, θα πρέπει να επαναλαμβάνεται πάνω από τα κλειδιά του " +"κοντέινερ." -#: reference/datamodel.rst:3164 +#: reference/datamodel.rst:2908 msgid "" "Called (if present) by the :func:`reversed` built-in to implement reverse " "iteration. It should return a new iterator object that iterates over all " "the objects in the container in reverse order." msgstr "" +"Καλείται (εάν υπάρχει) από την ενσωματωμένη :func:`reversed` για την " +"υλοποίηση της αντίστροφης επανάληψης. Θα πρέπει να επιστρέψει ένα νέο " +"iterator αντικείμενο που επαναλαμβάνεται πάνω από όλα τα αντικείμενα στο " +"κοντέινερ με αντίστροφη σειρά." -#: reference/datamodel.rst:3168 +#: reference/datamodel.rst:2912 msgid "" "If the :meth:`__reversed__` method is not provided, the :func:`reversed` " "built-in will fall back to using the sequence protocol (:meth:`__len__` and :" @@ -3683,43 +4819,66 @@ msgid "" "provide :meth:`__reversed__` if they can provide an implementation that is " "more efficient than the one provided by :func:`reversed`." msgstr "" +"Εάν η μέθοδος :meth:`__reversed__` δεν παρέχεται, η ενσωματωμένη :func:" +"`reversed` θα χρησιμοποιήσει το πρωτόκολλο ακολουθίας (:meth:`__len__` και :" +"meth:`__getitem__`). Τα αντικείμενα που υποστηρίζουν το πρωτόκολλο " +"ακολουθίας θα πρέπει να παρέχουν μόνο τη :meth:`__reversed__` εάν μπορούν να " +"παρέχουν μια υλοποίηση που είναι πιο αποτελεσματική από αυτή που παρέχεται " +"από τη :func:`reversed`." -#: reference/datamodel.rst:3175 +#: reference/datamodel.rst:2919 msgid "" "The membership test operators (:keyword:`in` and :keyword:`not in`) are " "normally implemented as an iteration through a container. However, container " "objects can supply the following special method with a more efficient " "implementation, which also does not require the object be iterable." msgstr "" +"Οι τελεστές τεστ ιδιότητας μέλους (:keyword:`in` και :keyword:`not in`) " +"συνήθως υλοποιούνται ως επανάληψη μέσω ενός κοντέινερ. Ωστόσο, τα " +"αντικείμενα κοντέινερ μπορούν να παρέχουν την ακόλουθη ειδική μέθοδο μια μια " +"αποτελεσματική υλοποίηση, η οποία επίσης δεν απαιτεί το αντικείμενο να είναι " +"επαναλαμβανόμενο." -#: reference/datamodel.rst:3182 +#: reference/datamodel.rst:2926 msgid "" "Called to implement membership test operators. Should return true if *item* " "is in *self*, false otherwise. For mapping objects, this should consider " "the keys of the mapping rather than the values or the key-item pairs." msgstr "" +"Καλείται για την εφαρμογή τελεστών δοκιμής ιδιότητας μέλους. Θα πρέπει να " +"επιστρέψει true εάν το *item* είναι στο *self*, false διαφορετικά. Για την " +"αντιστοίχιση αντικειμένων, αυτό θα πρέπει να λαμβάνει υπόψη τα κλειδιά της " +"αντιστοίχισης αντί για τις τιμές ή τα ζεύγη κλειδιών-στοιχείων." -#: reference/datamodel.rst:3186 +#: reference/datamodel.rst:2930 msgid "" "For objects that don't define :meth:`__contains__`, the membership test " "first tries iteration via :meth:`__iter__`, then the old sequence iteration " "protocol via :meth:`__getitem__`, see :ref:`this section in the language " "reference `." msgstr "" +"Για αντικείμενα που δεν ορίζουν :meth:`__contains__`, το τεστ ιδιότητας " +"δοκιμάζει πρώτα την επανάληψη μέσω :meth:`__iter__`, και μετά το παλιό " +"πρωτόκολλο επανάληψης ακολουθίας μέσω :meth:`__getitem__`, δείτε :ref:`this " +"section in the language reference `." -#: reference/datamodel.rst:3195 +#: reference/datamodel.rst:2939 msgid "Emulating numeric types" -msgstr "" +msgstr "Εξομοίωση αριθμητικών τύπων" -#: reference/datamodel.rst:3197 +#: reference/datamodel.rst:2941 msgid "" "The following methods can be defined to emulate numeric objects. Methods " "corresponding to operations that are not supported by the particular kind of " "number implemented (e.g., bitwise operations for non-integral numbers) " "should be left undefined." msgstr "" +"Οι ακόλουθες μέθοδοι μπορούν να οριστούν για την εξομοίωση αριθμητικών " +"αντικειμένων. Οι μέθοδοι που αντιστοιχούν σε πράξεις που δεν υποστηρίζονται " +"από το συγκεκριμένο είδος αριθμού που υλοποιείται (π.χ. λειτουργίες bitwise " +"για μη ακέραιους αριθμούς) θα πρέπει να παραμείνουν απροσδιόριστες." -#: reference/datamodel.rst:3223 +#: reference/datamodel.rst:2967 msgid "" "These methods are called to implement the binary arithmetic operations " "(``+``, ``-``, ``*``, ``@``, ``/``, ``//``, ``%``, :func:`divmod`, :func:" @@ -3732,14 +4891,26 @@ msgid "" "optional third argument if the ternary version of the built-in :func:`pow` " "function is to be supported." msgstr "" +"Αυτές οι μέθοδοι καλούνται να υλοποιήσουν τις δυαδικές αριθμητικές πράξεις " +"(``+``, ``-``, ``*``, ``@``, ``/``, ``//``, ``%``, :func:`divmod`, :func:" +"`pow`, ``**``, ``<<``, ``>>``, ``&``, ``^``, ``|``). Για παράδειγμα, για να " +"αξιολογήσουμε την έκφραση ``x + y``, όπου το *x* είναι ένα στιγμιότυπο " +"κλάσης που έχει μια μέθοδο :meth:`__add__`, καλείται το ``type(x).__add__(x, " +"y)``. Η μέθοδος :meth:`__divmod__` θα πρέπει να είναι ισοδύναμη με τη χρήση " +"των :meth:`__floordiv__` και :meth:`__mod__` ∙ δεν πρέπει να σχετίζεται με :" +"meth:`__truediv__`. Σημειώστε ότι η :meth:`__pow__` θα πρέπει να οριστεί για " +"να αποδεχτεί ένα προαιρετικό τρίτο όρισμα εάν πρόκειται να υποστηριχθεί η " +"τριμερής έκδοση της ενσωματωμένης συνάρτησης :func:`pow`." -#: reference/datamodel.rst:3234 +#: reference/datamodel.rst:2978 msgid "" "If one of those methods does not support the operation with the supplied " "arguments, it should return :data:`NotImplemented`." msgstr "" +"Εάν μία από αυτές τις μεθόδους δεν υποστηρίζει τη λειτουργία με τα " +"παρεχόμενα ορίσματα, θα πρέπει να επιστρέψει :data:`NotImplemented`." -#: reference/datamodel.rst:3257 +#: reference/datamodel.rst:3001 msgid "" "These methods are called to implement the binary arithmetic operations " "(``+``, ``-``, ``*``, ``@``, ``/``, ``//``, ``%``, :func:`divmod`, :func:" @@ -3751,14 +4922,25 @@ msgid "" "__rsub__(y, x)`` is called if ``type(x).__sub__(x, y)`` returns :data:" "`NotImplemented`." msgstr "" +"Αυτές οι μέθοδοι καλούνται να υλοποιήσουν τις δυαδικές αριθμητικές πράξεις " +"(``+``, ``-``, ``*``, ``@``, ``/``, ``//``, ``%``, :func:`divmod`, :func:" +"`pow`, ``**``, ``<<``, ``>>``, ``&``, ``^``, ``|``) με ανακλώμενους " +"(ανταλλαγμένους) τελεστές. Αυτές οι συναρτήσεις καλούνται μόνο εάν ο " +"αριστερός τελεστής δεν υποστηρίζει την αντίστοιχη λειτουργία [#]_ και οι " +"τελεστές είναι διαφορετικών τύπων. [#]_ Για παράδειγμα, για να αξιολογήσουμε " +"την έκφραση ``x - y``, όπου το *y* είναι μια παρουσία μιας κλάσης που έχει " +"μια μέθοδο :meth:`__rsub__`, καλείται το ``type(y).__rsub__(y, x)`` εάν το " +"``type(x).__sub__(x, y)`` επιστρέφει :data:`NotImplemented`." -#: reference/datamodel.rst:3269 +#: reference/datamodel.rst:3013 msgid "" "Note that ternary :func:`pow` will not try calling :meth:`__rpow__` (the " "coercion rules would become too complicated)." msgstr "" +"Λάβετε υπόψη ότι το τριαδικό :func:`pow` δεν θα προσπαθήσει να καλέσει το :" +"meth:`__rpow__` (οι κανόνες εξαναγκασμού θα γίνουν πολύ περίπλοκοι)." -#: reference/datamodel.rst:3274 +#: reference/datamodel.rst:3018 msgid "" "If the right operand's type is a subclass of the left operand's type and " "that subclass provides a different implementation of the reflected method " @@ -3766,8 +4948,13 @@ msgid "" "reflected method. This behavior allows subclasses to override their " "ancestors' operations." msgstr "" +"Εάν ο τύπος του δεξιού τελεστέου είναι υποκλάση του τύπου του αριστερού " +"τελεστέου και αυτή η υποκλάση παρέχει μια διαφορετική υλοποίηση της " +"ανακλώμενης μεθόδου για τη λειτουργία, αυτή η μέθοδος θα κληθεί πριν από τη " +"μη ανακλώμενη μέθοδο του αριστερού τελεστή. Αυτή η συμπεριφορά επιτρέπει " +"στις υποκλάσεις να παρακάμπτουν τις πράξεις των προγόνων τους." -#: reference/datamodel.rst:3295 +#: reference/datamodel.rst:3039 msgid "" "These methods are called to implement the augmented arithmetic assignments " "(``+=``, ``-=``, ``*=``, ``@=``, ``/=``, ``//=``, ``%=``, ``**=``, ``<<=``, " @@ -3784,20 +4971,41 @@ msgid "" "augmented-assignment-tuple-error`), but this behavior is in fact part of the " "data model." msgstr "" - -#: reference/datamodel.rst:3318 +"Αυτές οι μέθοδοι καλούνται να υλοποιήσουν τις επαυξημένες αριθμητικές " +"εκχωρήσεις (``+=``, ``-=``, ``*=``, ``@=``, ``/=``, ``//=``, ``%=``, " +"``**=``, ``<<=``, ``>>=``, ``&=``, ``^=``, ``|=``). Αυτές οι μέθοδοι θα " +"πρέπει να προσπαθήσουν να κάνουν τη λειτουργία επιτόπου (τροποποίηση *self*) " +"και να επιστρέψουν το αποτέλεσμα (το οποίο θα μπορούσε, αλλά δεν χρειάζεται " +"να είναι, *self*). Εάν δεν έχει οριστεί μια συγκεκριμένη μέθοδος ή εάν αυτή " +"η μέθοδος επιστρέψει :data:`NotImplemented`, η επαυξημένη ανάθεση " +"επανέρχεται στις κανονικές μεθόδους. Για παράδειγμα, εάν το *x* είναι ένα " +"στιγμιότυπο μιας κλάσης με μια μέθοδο :meth:`__iadd__`, το ``x += y`` " +"ισοδυναμεί ``x = x.__iadd__(y)`` . Εάν το :meth:`__iadd__` δεν υπάρχει, ή " +"εάν το ``x.__iadd__(y)`` επιστρέφει :data:`!NotImplemented`, τα ``x." +"__add__(y)`` και ``y.__radd__(x)`` θεωρούνται, όπως και με την αξιολόγηση " +"του. Σε ορισμένες περιπτώσεις, η επαυξημένη ανάθεση μπορεί να οδηγήσει σε " +"απροσδόκητα σφάλματα (δείτε :ref:`faq-augmented-assignment-tuple-error`), " +"αλλά αυτή η συμπεριφορά είναι στην πραγματικότητα μέρος του μοντέλου " +"δεδομένων." + +#: reference/datamodel.rst:3062 msgid "" "Called to implement the unary arithmetic operations (``-``, ``+``, :func:" "`abs` and ``~``)." msgstr "" +"Καλείται για την υλοποίηση μονομερών αριθμητικών πράξεων (``-``, ``+``, :" +"func:`abs` και ``~``)." -#: reference/datamodel.rst:3331 +#: reference/datamodel.rst:3075 msgid "" "Called to implement the built-in functions :func:`complex`, :func:`int` and :" "func:`float`. Should return a value of the appropriate type." msgstr "" +"Καλείται για την υλοποίηση των ενσωματωμένων συναρτήσεων :func:`complex`, :" +"func:`int` και :func:`float`. Θα πρέπει να επιστρέψει μια τιμή του " +"κατάλληλου τύπου." -#: reference/datamodel.rst:3338 +#: reference/datamodel.rst:3082 msgid "" "Called to implement :func:`operator.index`, and whenever Python needs to " "losslessly convert the numeric object to an integer object (such as in " @@ -3805,15 +5013,22 @@ msgid "" "functions). Presence of this method indicates that the numeric object is an " "integer type. Must return an integer." msgstr "" +"Καλείται για υλοποίηση :func:`operator.index`, και όποτε η Python χρειάζεται " +"να μετατρέψει χωρίς απώλειες το αριθμητικό αντικείμενο σε ένα ακέραιο " +"αντικείμενο (όπως στη λειτουργία τμηματοποίησης ή στις ενσωματωμένες " +"συναρτήσεις :func:`bin`, :func:`hex` και :func:`oct`)." -#: reference/datamodel.rst:3344 +#: reference/datamodel.rst:3088 msgid "" "If :meth:`__int__`, :meth:`__float__` and :meth:`__complex__` are not " "defined then corresponding built-in functions :func:`int`, :func:`float` " "and :func:`complex` fall back to :meth:`__index__`." msgstr "" +"Εάν οι :meth:`__int__`, :meth:`__float__` και :meth:`__complex__` δεν " +"ορίζονται, τότε οι αντίστοιχες ενσωματωμένες συναρτήσεις :func:`int`, :func:" +"`float` και :func:`complex` επιστρέφουν στο :meth:`__index__`." -#: reference/datamodel.rst:3356 +#: reference/datamodel.rst:3100 msgid "" "Called to implement the built-in function :func:`round` and :mod:`math` " "functions :func:`~math.trunc`, :func:`~math.floor` and :func:`~math.ceil`. " @@ -3821,22 +5036,29 @@ msgid "" "return the value of the object truncated to an :class:`~numbers.Integral` " "(typically an :class:`int`)." msgstr "" +"Καλείται για την υλοποίηση της ενσωματωμένης συνάρτησης :func:`round` και :" +"mod:`math` συναρτήσεις :func:`~math.trunc`, :func:`~math.floor` και :func:" +"`~math.ceil`. Εκτός εάν το *ndigits* μεταβιβαστεί στο :meth:`!__round__` " +"όλες αυτές οι μέθοδοι θα πρέπει να επιστρέψουν την τιμή του αντικειμένου που " +"περικόπτεται σε μια :class:`~numbers.Integral` (συνήθως ένα :class:`int`)." -#: reference/datamodel.rst:3362 +#: reference/datamodel.rst:3106 msgid "" "The built-in function :func:`int` falls back to :meth:`__trunc__` if " "neither :meth:`__int__` nor :meth:`__index__` is defined." msgstr "" +"Η ενσωματωμένη συνάρτηση :func:`int` επιστρέφει σε :meth:`__trunc__` εάν δεν " +"έχει οριστεί ούτε :meth:`__int__` ούτε :meth:`__index__`." -#: reference/datamodel.rst:3365 +#: reference/datamodel.rst:3109 msgid "The delegation of :func:`int` to :meth:`__trunc__` is deprecated." -msgstr "" +msgstr "Η εκχώρηση του :func:`int` στο :meth:`__trunc__` έχει καταργηθεί." -#: reference/datamodel.rst:3372 +#: reference/datamodel.rst:3116 msgid "With Statement Context Managers" -msgstr "" +msgstr "Με τους Διαχειριστές Περιβάλλοντος Δήλωσης" -#: reference/datamodel.rst:3374 +#: reference/datamodel.rst:3118 msgid "" "A :dfn:`context manager` is an object that defines the runtime context to be " "established when executing a :keyword:`with` statement. The context manager " @@ -3845,71 +5067,102 @@ msgid "" "using the :keyword:`!with` statement (described in section :ref:`with`), but " "can also be used by directly invoking their methods." msgstr "" +"Ένα :dfn:`context manager` είναι ένα αντικείμενο που ορίζει το περιβάλλον " +"χρόνου εκτέλεσης που θα καθοριστεί κατά την εκτέλεση μιας πρότασης :keyword:" +"`with`. Ο διαχειριστής περιβάλλοντος χειρίζεται την είσοδο και την έξοδο από " +"το επιθυμητό περιβάλλον χρόνου εκτέλεσης για την εκτέλεση του μπλοκ κώδικα. " +"Οι διαχειριστές περιβάλλοντος συνήθως καλούνται χρησιμοποιώντας τη δήλωση :" +"keyword:`!with` (που περιγράφεται στην ενότητα :ref:`with`), αλλά μπορούν " +"επίσης να χρησιμοποιηθούν με απευθείας επίκληση των μεθόδων τους." -#: reference/datamodel.rst:3385 +#: reference/datamodel.rst:3129 msgid "" "Typical uses of context managers include saving and restoring various kinds " "of global state, locking and unlocking resources, closing opened files, etc." msgstr "" +"Οι τυπικές χρήσεις των διαχειριστών περιβάλλοντος περιλαμβάνουν την " +"αποθήκευση και την επαναφορά διαφόρων ειδών καθολικών καταστάσεων, το " +"κλείδωμα και το ξεκλείδωμα πόρων, το κλείσιμο των ανοιχτών αρχείων κ.λπ." -#: reference/datamodel.rst:3388 +#: reference/datamodel.rst:3132 msgid "" -"For more information on context managers, see :ref:`typecontextmanager`. " -"The :class:`object` class itself does not provide the context manager " -"methods." +"For more information on context managers, see :ref:`typecontextmanager`." msgstr "" +"Για περισσότερες πληροφορίες σχετικά με τους διαχειριστές περιβάλλοντος, " +"ανατρέξτε στο :ref:`typecontextmanager`." -#: reference/datamodel.rst:3394 +#: reference/datamodel.rst:3137 msgid "" "Enter the runtime context related to this object. The :keyword:`with` " "statement will bind this method's return value to the target(s) specified in " "the :keyword:`!as` clause of the statement, if any." msgstr "" +"Εισαγάγετε το περιβάλλον χρόνου εκτέλεσης που σχετίζεται με αυτό το " +"αντικείμενο. Η δήλωση :keyword:`with` θα δεσμεύσει την επιστρεφόμενη τιμή " +"αυτής της μεθόδου με τους στόχους που καθορίζονται στον όρο :keyword:`!as` " +"της πρότασης, εάν υπάρχει." -#: reference/datamodel.rst:3401 +#: reference/datamodel.rst:3144 msgid "" "Exit the runtime context related to this object. The parameters describe the " "exception that caused the context to be exited. If the context was exited " "without an exception, all three arguments will be :const:`None`." msgstr "" +"Έξοδος από το περιβάλλον χρόνου εκτέλεσης που σχετίζεται με αυτό το " +"αντικείμενο. Οι παράμετροι περιγράφουν την εξαίρεση που προκάλεσε την έξοδο " +"από το περιβάλλον. Εάν το περιβάλλον είχε βγει χωρίς εξαίρεση, και τα τρία " +"ορίσματα θα είναι :const:`None`." -#: reference/datamodel.rst:3405 +#: reference/datamodel.rst:3148 msgid "" "If an exception is supplied, and the method wishes to suppress the exception " "(i.e., prevent it from being propagated), it should return a true value. " "Otherwise, the exception will be processed normally upon exit from this " "method." msgstr "" +"Εάν παρέχεται μια εξαίρεση και η μέθοδος επιθυμεί να καταργήσει την εξαίρεση " +"(δηλαδή, να αποτρέψει τη διάδοση της), θα πρέπει να επιστρέψει μια " +"πραγματική τιμή. Διαφορετικά, η εξαίρεση θα διεκπεραιωθεί κανονικά κατά την " +"έξοδο από αυτήν τη μέθοδο." -#: reference/datamodel.rst:3409 +#: reference/datamodel.rst:3152 msgid "" "Note that :meth:`~object.__exit__` methods should not reraise the passed-in " "exception; this is the caller's responsibility." msgstr "" +"Λάβετε υπόψη ότι οι μέθοδοι :meth:`~object.__exit__` δεν θα πρέπει να " +"επαναφέρουν την εξαίρεση που μεταβιβάστηκε∙ αυτή είναι ευθύνη του καλούντος." -#: reference/datamodel.rst:3415 +#: reference/datamodel.rst:3159 msgid ":pep:`343` - The \"with\" statement" -msgstr "" +msgstr ":pep:`343` - Η πρόταση \"with\"" -#: reference/datamodel.rst:3416 +#: reference/datamodel.rst:3159 msgid "" "The specification, background, and examples for the Python :keyword:`with` " "statement." msgstr "" +"Οι προδιαγραφές, το υπόβαθρο και τα παραδείγματα για τη δήλωση Python :" +"keyword:`with`." -#: reference/datamodel.rst:3423 +#: reference/datamodel.rst:3166 msgid "Customizing positional arguments in class pattern matching" -msgstr "" +msgstr "Προσαρμογή ορισμάτων θέσης στην αντιστοίχιση προτύπων κλάσης" -#: reference/datamodel.rst:3425 +#: reference/datamodel.rst:3168 msgid "" "When using a class name in a pattern, positional arguments in the pattern " "are not allowed by default, i.e. ``case MyClass(x, y)`` is typically invalid " "without special support in ``MyClass``. To be able to use that kind of " "pattern, the class needs to define a *__match_args__* attribute." msgstr "" +"Όταν χρησιμοποιείται ένα όνομα κλάσης σε ένα μοτίβο, τα ορίσματα θέσης στο " +"μοτίβο δεν επιτρέπονται από προεπιλογή, δηλαδή ``case MyClass(x, y)`` δεν " +"είναι συνήθως έγκυρη χωρίς ειδική υποστήριξη στο ``MyClass``. Για να " +"μπορέσει να χρησιμοποιήσει αυτό το είδος μοτίβου, η κλάση πρέπει να ορίσει " +"ένα χαρακτηριστικό *__match_args__*." -#: reference/datamodel.rst:3432 +#: reference/datamodel.rst:3175 msgid "" "This class variable can be assigned a tuple of strings. When this class is " "used in a class pattern with positional arguments, each positional argument " @@ -3917,8 +5170,13 @@ msgid "" "*__match_args__* as the keyword. The absence of this attribute is equivalent " "to setting it to ``()``." msgstr "" +"Σε αυτήν την μεταβλητή κλάσης μπορεί να εκχωρηθεί μια πλειάδα συμβολοσειρών. " +"Όταν αυτή η κλάση χρησιμοποιείται σε ένα μοτίβο κλάσης με ορίσματα θέσης, " +"κάθε όρισμα θέσης θα μετατραπεί σε όρισμα λέξης-κλειδιού, χρησιμοποιώντας " +"την αντίστοιχη τιμή στο *__match_args__* ως λέξη-κλειδί. Η απουσία αυτού του " +"χαρακτηριστικού ισοδυναμεί με τη ρύθμιση του σε ``()``." -#: reference/datamodel.rst:3438 +#: reference/datamodel.rst:3181 msgid "" "For example, if ``MyClass.__match_args__`` is ``(\"left\", \"center\", " "\"right\")`` that means that ``case MyClass(x, y)`` is equivalent to ``case " @@ -3927,34 +5185,47 @@ msgid "" "*__match_args__*; if it is larger, the pattern match attempt will raise a :" "exc:`TypeError`." msgstr "" +"Για παράδειγμα, εάν το ``MyClass.__match_args__`` είναι ``(\"left\", " +"\"center\", \"right\")`` αυτό σημαίνει ότι το ``case MyClass(x, y)`` " +"ισοδυναμεί με MyClass(left=x, center=y)``. Σημειώστε ότι ο αριθμός των " +"ορισμάτων στο μοτίβο πρέπει να είναι μικρότερος ή ίσος με τον αριθμό των " +"στοιχείων στο *__match_args__* ∙ αν είναι μεγαλύτερο, η προσπάθεια " +"αντιστοίχισης μοτίβου θα κάνει raise μια :exc:`TypeError`." -#: reference/datamodel.rst:3448 +#: reference/datamodel.rst:3191 msgid ":pep:`634` - Structural Pattern Matching" -msgstr "" +msgstr ":pep:`634` - Αντιστοίχιση δομικών προτύπων" -#: reference/datamodel.rst:3449 +#: reference/datamodel.rst:3192 msgid "The specification for the Python ``match`` statement." -msgstr "" +msgstr "Η προδιαγραφή για τη δήλωση Python ``match``." -#: reference/datamodel.rst:3455 +#: reference/datamodel.rst:3198 msgid "Emulating buffer types" -msgstr "" +msgstr "Εξομοίωση τύπων buffer" -#: reference/datamodel.rst:3457 +#: reference/datamodel.rst:3200 msgid "" "The :ref:`buffer protocol ` provides a way for Python objects " "to expose efficient access to a low-level memory array. This protocol is " "implemented by builtin types such as :class:`bytes` and :class:`memoryview`, " "and third-party libraries may define additional buffer types." msgstr "" +"Το πρωτόκολλο :ref:`buffer protocol ` παρέχει έναν τρόπο για " +"τα αντικείμενα της Python να εκθέτουν αποτελεσματική πρόσβαση σε έναν πίνακα " +"μνήμης χαμηλού επιπέδου. Αυτό το πρωτόκολλο υλοποιείται από ενσωματωμένους " +"τύπους όπως :class:`bytes` και :class:`memoryview`, και οι βιβλιοθήκες " +"τρίτων μπορούν να ορίσουν πρόσθετους τύπους buffer." -#: reference/datamodel.rst:3462 +#: reference/datamodel.rst:3205 msgid "" "While buffer types are usually implemented in C, it is also possible to " "implement the protocol in Python." msgstr "" +"Ενώ οι τύπου buffer συνήθως υλοποιούνται σε C, είναι επίσης δυνατή η " +"υλοποίηση του πρωτοκόλλου στην Python." -#: reference/datamodel.rst:3467 +#: reference/datamodel.rst:3210 msgid "" "Called when a buffer is requested from *self* (for example, by the :class:" "`memoryview` constructor). The *flags* argument is an integer representing " @@ -3963,8 +5234,15 @@ msgid "" "convenient way to interpret the flags. The method must return a :class:" "`memoryview` object." msgstr "" +"Καλείται όταν ζητείται buffer από τον *self* (για παράδειγμα, από τον " +"κατασκευαστή :class:`memoryview`). Το όρισμα *flags* είναι ένας ακέραιος " +"αριθμός που αντιπροσωπεύει το είδος της προσωρινής μνήμης που ζητήθηκε, " +"επηρεάζοντας για παράδειγμα εάν η προσωρινή μνήμη που επιστρέφεται είναι " +"μόνο για ανάγνωση ή για εγγράψιμο. Η :class:`inspect.BufferFlags` παρέχει " +"έναν βολικό τρόπο ερμηνείας των flags. Η μέθοδος πρέπει να επιστρέψει ένα " +"αντικείμενο :class:`memoryview`." -#: reference/datamodel.rst:3476 +#: reference/datamodel.rst:3219 msgid "" "Called when a buffer is no longer needed. The *buffer* argument is a :class:" "`memoryview` object that was previously returned by :meth:`~object." @@ -3972,50 +5250,49 @@ msgid "" "buffer. This method should return ``None``. Buffer objects that do not need " "to perform any cleanup are not required to implement this method." msgstr "" +"Καλείται όταν δεν χρειάζεται πλέον μια προσωρινή μνήμη. Το όρισμα *buffer* " +"είναι ένα αντικείμενο :class:`memoryview` που επιστράφηκε προηγουμένως από " +"την :meth:`~object.__buffer__`. Η μέθοδος πρέπει να απελευθερώσει τυχόν " +"πόρους που σχετίζονται με το buffer. Αυτή η μέθοδος θα πρέπει να επιστρέψει " +"``None``. Τα αντικείμενα buffer που δεν χρειάζονται εκκαθάριση δεν " +"απαιτούνται για την εφαρμογή αυτής της μεθόδου." -#: reference/datamodel.rst:3487 +#: reference/datamodel.rst:3231 msgid ":pep:`688` - Making the buffer protocol accessible in Python" -msgstr "" +msgstr ":pep:`688` - Κάνοντας το πρωτόκολλο buffer προσβάσιμο στην Python" -#: reference/datamodel.rst:3488 +#: reference/datamodel.rst:3231 msgid "" "Introduces the Python ``__buffer__`` and ``__release_buffer__`` methods." msgstr "" +"Παρουσιάζει τις μεθόδους Python ``__buffer__`` και ``__release_buffer__``." -#: reference/datamodel.rst:3490 +#: reference/datamodel.rst:3233 msgid ":class:`collections.abc.Buffer`" -msgstr "" +msgstr ":class:`collections.abc.Buffer`" -#: reference/datamodel.rst:3491 +#: reference/datamodel.rst:3234 msgid "ABC for buffer types." -msgstr "" +msgstr "ABC για τύπους buffer." -#: reference/datamodel.rst:3496 +#: reference/datamodel.rst:3239 msgid "Special method lookup" -msgstr "" +msgstr "Αναζήτηση ειδικής μεθόδου" -#: reference/datamodel.rst:3498 +#: reference/datamodel.rst:3241 msgid "" "For custom classes, implicit invocations of special methods are only " "guaranteed to work correctly if defined on an object's type, not in the " "object's instance dictionary. That behaviour is the reason why the " "following code raises an exception::" msgstr "" +"Για προσαρμοσμένες κλάσεις, οι σιωπηρές επικλήσεις ειδικών μεθόδων είναι " +"εγγυημένο ότι θα λειτουργούν σωστά μόνο εάν ορίζονται στον τύπο ενός " +"αντικειμένου και όχι στο λεξικό στιγμιοτύπου του αντικειμένου. Αυτή η " +"συμπεριφορά είναι ο λόγος για τον οποίο ο ακόλουθος κώδικας κάνει raise μια " +"εξαίρεση::" -#: reference/datamodel.rst:3503 -msgid "" -">>> class C:\n" -"... pass\n" -"...\n" -">>> c = C()\n" -">>> c.__len__ = lambda: 5\n" -">>> len(c)\n" -"Traceback (most recent call last):\n" -" File \"\", line 1, in \n" -"TypeError: object of type 'C' has no len()" -msgstr "" - -#: reference/datamodel.rst:3513 +#: reference/datamodel.rst:3256 msgid "" "The rationale behind this behaviour lies with a number of special methods " "such as :meth:`~object.__hash__` and :meth:`~object.__repr__` that are " @@ -4023,65 +5300,34 @@ msgid "" "of these methods used the conventional lookup process, they would fail when " "invoked on the type object itself::" msgstr "" +"Η λογική πίσω από αυτήν τη συμπεριφορά έγκειται σε μια σειρά ειδικών μεθόδων " +"όπως :meth:`~object.__hash__` και :meth:`~object.__repr__` που υλοποιούνται " +"από όλα τα αντικείμενα, συμπεριλαμβανομένων των αντικειμένων τύπου. Εάν η " +"σιωπηρή αναζήτηση αυτών των μεθόδων χρησιμοποιούσε τη συμβατική διαδικασία " +"αναζήτησης, θα αποτύγχανε όταν καλούνταν στο ίδιο το αντικείμενο τύπου::" -#: reference/datamodel.rst:3520 -msgid "" -">>> 1 .__hash__() == hash(1)\n" -"True\n" -">>> int.__hash__() == hash(int)\n" -"Traceback (most recent call last):\n" -" File \"\", line 1, in \n" -"TypeError: descriptor '__hash__' of 'int' object needs an argument" -msgstr "" - -#: reference/datamodel.rst:3527 +#: reference/datamodel.rst:3270 msgid "" "Incorrectly attempting to invoke an unbound method of a class in this way is " "sometimes referred to as 'metaclass confusion', and is avoided by bypassing " "the instance when looking up special methods::" msgstr "" +"Η εσφαλμένη προσπάθειας επίκλησης μιας μη δεσμευμένης μεθόδου μιας κλάσης με " +"αυτόν τον τρόπο αναφέρεται μερικές φορές ως 'σύγχυση μετακλάσης', και " +"αποφεύγεται με παράκαμψη της παρουσίας κατά την αναζήτηση ειδικών μεθόδων::" -#: reference/datamodel.rst:3531 -msgid "" -">>> type(1).__hash__(1) == hash(1)\n" -"True\n" -">>> type(int).__hash__(int) == hash(int)\n" -"True" -msgstr "" - -#: reference/datamodel.rst:3536 +#: reference/datamodel.rst:3279 msgid "" "In addition to bypassing any instance attributes in the interest of " "correctness, implicit special method lookup generally also bypasses the :" "meth:`~object.__getattribute__` method even of the object's metaclass::" msgstr "" +"Εκτός από την παράκαμψη οποιωνδήποτε χαρακτηριστικών στιγμιοτύπου για λόγους " +"ορθότητας, η σιωπηρή αναζήτηση ειδική μεθόδου γενικά παρακάμπτει επίσης τη " +"μέθοδο :meth:`~object.__getattribute__` ακόμη και της μετακλάσης του " +"αντικειμένου::" -#: reference/datamodel.rst:3540 -msgid "" -">>> class Meta(type):\n" -"... def __getattribute__(*args):\n" -"... print(\"Metaclass getattribute invoked\")\n" -"... return type.__getattribute__(*args)\n" -"...\n" -">>> class C(object, metaclass=Meta):\n" -"... def __len__(self):\n" -"... return 10\n" -"... def __getattribute__(*args):\n" -"... print(\"Class getattribute invoked\")\n" -"... return object.__getattribute__(*args)\n" -"...\n" -">>> c = C()\n" -">>> c.__len__() # Explicit lookup via instance\n" -"Class getattribute invoked\n" -"10\n" -">>> type(c).__len__(c) # Explicit lookup via type\n" -"Metaclass getattribute invoked\n" -"10\n" -">>> len(c) # Implicit lookup\n" -"10" -msgstr "" - -#: reference/datamodel.rst:3562 +#: reference/datamodel.rst:3305 msgid "" "Bypassing the :meth:`~object.__getattribute__` machinery in this fashion " "provides significant scope for speed optimisations within the interpreter, " @@ -4089,54 +5335,73 @@ msgid "" "special method *must* be set on the class object itself in order to be " "consistently invoked by the interpreter)." msgstr "" +"Η παράκαμψη του μηχανισμού :meth:`~object.__getattribute__` με αυτόν τον " +"τρόπο παρέχει σημαντικά περιθώρια για βελτιστοποιήσεις ταχύτητας εντός του " +"διερμηνέα, με κόστος κάποιας ευελιξίας στον χειρισμό ειδικών μεθόδων (η " +"ειδική μέθοδος *πρέπει* να οριστεί στο ίδιο το αντικείμενο κλάσης για να " +"καλείται με συνέπεια από τον διερμηνέα)." -#: reference/datamodel.rst:3573 +#: reference/datamodel.rst:3316 msgid "Coroutines" -msgstr "" +msgstr "Coroutines" -#: reference/datamodel.rst:3577 +#: reference/datamodel.rst:3320 msgid "Awaitable Objects" -msgstr "" +msgstr "Awaitable Αντικείμενα" -#: reference/datamodel.rst:3579 +#: reference/datamodel.rst:3322 msgid "" "An :term:`awaitable` object generally implements an :meth:`~object." "__await__` method. :term:`Coroutine objects ` returned from :" "keyword:`async def` functions are awaitable." msgstr "" +"Ένα αντικείμενο :term:`awaitable` εφαρμόζει γενικά μια μέθοδο :meth:`~object." +"__await__`. Τα :term:`Coroutine objects ` που επιστρέφονται από " +"τις :keyword:`async def` συναρτήσεις είναι awaitable." -#: reference/datamodel.rst:3585 +#: reference/datamodel.rst:3328 msgid "" "The :term:`generator iterator` objects returned from generators decorated " "with :func:`types.coroutine` are also awaitable, but they do not implement :" "meth:`~object.__await__`." msgstr "" +"Τα αντικείμενα :term:`generator iterator` που επιστράφηκαν από γεννήτριες " +"διακοσμημένες με :func:`types.coroutine` είναι επίσης awaitable, αλλά δεν " +"εφαρμόζουν το :meth:`~object.__await__`." -#: reference/datamodel.rst:3591 +#: reference/datamodel.rst:3334 msgid "" "Must return an :term:`iterator`. Should be used to implement :term:" "`awaitable` objects. For instance, :class:`asyncio.Future` implements this " -"method to be compatible with the :keyword:`await` expression. The :class:" -"`object` class itself is not awaitable and does not provide this method." +"method to be compatible with the :keyword:`await` expression." msgstr "" +"Πρέπει να επιστρέψει ένα :term:`iterator`. Θα πρέπει να χρησιμοποιείται για " +"την υλοποίηση :term:`awaitable` αντικειμένων. Για παράδειγμα, η :class:" +"`asyncio.Future` υλοποιεί αυτήν την μέθοδο ώστε να είναι συμβατή με την " +"έκφραση :keyword:`await`." -#: reference/datamodel.rst:3599 +#: reference/datamodel.rst:3340 msgid "" "The language doesn't place any restriction on the type or value of the " "objects yielded by the iterator returned by ``__await__``, as this is " "specific to the implementation of the asynchronous execution framework (e." "g. :mod:`asyncio`) that will be managing the :term:`awaitable` object." msgstr "" +"Η γλώσσα δεν θέτει κανέναν περιορισμό στον τύπο ή την τιμή των αντικειμένων " +"που παράγονται από τον iterator που επιστρέφεται από το ``__await__``, καθώς " +"αυτό αφορά συγκεκριμένα την υλοποίηση του πλαισίου ασύγχρονης εκτέλεσης (π." +"χ. :mod:`asyncio`) που θα διαχειρίζεται το :term:`awaitable` αντικείμενο." -#: reference/datamodel.rst:3607 +#: reference/datamodel.rst:3348 msgid ":pep:`492` for additional information about awaitable objects." msgstr "" +"το :pep:`492` για πρόσθετες πληροφορίες σχετικά με τα awaitable αντικείμενα." -#: reference/datamodel.rst:3613 +#: reference/datamodel.rst:3354 msgid "Coroutine Objects" -msgstr "" +msgstr "Coroutine Αντικείμενα" -#: reference/datamodel.rst:3615 +#: reference/datamodel.rst:3356 msgid "" ":term:`Coroutine objects ` are :term:`awaitable` objects. A " "coroutine's execution can be controlled by calling :meth:`~object.__await__` " @@ -4146,19 +5411,33 @@ msgid "" "coroutine raises an exception, it is propagated by the iterator. Coroutines " "should not directly raise unhandled :exc:`StopIteration` exceptions." msgstr "" +"Τα :term:`Coroutine objects ` είναι :term:`awaitable` " +"αντικείμενα. Η εκτέλεση μιας coroutine μπορεί να ελεγχθεί καλώντας το :meth:" +"`~object.__await__` και επαναλαμβάνοντας το αποτέλεσμα. Όταν η coroutine " +"ολοκληρώσει την εκτέλεση και επιστρέψει ο iterator κάνει raise την :exc:" +"`StopIteration`, και το χαρακτηριστικό :attr:`~StopIteration.value` της " +"εξαίρεσης διατηρεί την τιμή επιστροφής. Εάν η coroutine εγείρει μια " +"εξαίρεση, αυτή διαδίδεται από τον iterator. Οι coroutines δεν πρέπει να " +"κάνουν raise ανεξέλεγκτες εξαιρέσεις :exc:`StopIteration`." -#: reference/datamodel.rst:3623 +#: reference/datamodel.rst:3364 msgid "" "Coroutines also have the methods listed below, which are analogous to those " "of generators (see :ref:`generator-methods`). However, unlike generators, " "coroutines do not directly support iteration." msgstr "" +"Οι coroutines έχουν επίσης τις μεθόδου που αναφέρονται παρακάτω, οι οποίες " +"είναι ανάλογες με αυτές των γεννητριών (βλ. :ref:`generator-methods`). " +"Ωστόσο, σε αντίθεση με τις γεννήτριες, οι coroutines δεν υποστηρίζουν άμεσα " +"την επανάληψη." -#: reference/datamodel.rst:3627 +#: reference/datamodel.rst:3368 msgid "It is a :exc:`RuntimeError` to await on a coroutine more than once." msgstr "" +"Είναι ένα :exc:`RuntimeError` να περιμένει κανείς σε μια coroutine " +"περισσότερες από μία φορές." -#: reference/datamodel.rst:3633 +#: reference/datamodel.rst:3374 msgid "" "Starts or resumes execution of the coroutine. If *value* is ``None``, this " "is equivalent to advancing the iterator returned by :meth:`~object." @@ -4168,8 +5447,15 @@ msgid "" "exception) is the same as when iterating over the :meth:`!__await__` return " "value, described above." msgstr "" +"Ξεκινά ή συνεχίζει την εκτέλεση της coroutine. Εάν η *τιμή* είναι ``None``, " +"αυτό ισοδυναμεί με την προώθηση του iterator που επιστρέφεται :meth:`~object." +"__await__`. Εάν η *τιμή* δεν είναι ``None``, αυτή η μέθοδος εκχωρεί στη " +"μέθοδο :meth:`~generator.send` του iterator που προκάλεσε την αναστολή της " +"coroutine. Το αποτέλεσμα (επιστρεφόμενη τιμή, :exc:`StopIteration`, ή άλλη " +"εξαίρεση) είναι το ίδιο όπως όταν γίνεται επανάληψη πάνω από την τιμή " +"επιστροφής :meth:`!__await__` , που περιγράφεται παραπάνω." -#: reference/datamodel.rst:3644 +#: reference/datamodel.rst:3385 msgid "" "Raises the specified exception in the coroutine. This method delegates to " "the :meth:`~generator.throw` method of the iterator that caused the " @@ -4179,14 +5465,24 @@ msgid "" "meth:`~object.__await__` return value, described above. If the exception is " "not caught in the coroutine, it propagates back to the caller." msgstr "" +"Κάνει Raise την καθορισμένη εξαίρεση στην coroutine. Αυτή η μέθοδος εκχωρεί " +"στη μέθοδο :meth:`~generator.throw` του iterator που προκάλεσε την αναστολή " +"της coroutine, εάν διαθέτει τέτοια μέθοδο. Διαφορετικά, η εξαίρεση γίνεται " +"raise στο σημείο αναστολής. Το αποτέλεσμα (επιστρεφόμενη τιμή, :exc:" +"`StopIteration`, ή άλλη εξαίρεση) είναι το ίδιο όπως όταν γίνεται επανάληψη " +"πάνω από την τιμή επιστροφής :meth:`~object.__await__`, που περιγράφεται " +"παραπάνω. Εάν η εξαίρεση δεν περιλαμβάνεται στην coroutine, διαδίδεται πίσω " +"από εκεί που καλέστηκε." -#: reference/datamodel.rst:3655 +#: reference/datamodel.rst:3396 msgid "" "The second signature \\(type\\[, value\\[, traceback\\]\\]\\) is deprecated " "and may be removed in a future version of Python." msgstr "" +"Η δεύτερη υπογραφή \\(type\\[, value\\[, traceback\\]\\]\\) έχει καταργηθεί " +"και μπορεί να αφαιρεθεί σε μια μελλοντική έκδοση της Python." -#: reference/datamodel.rst:3660 +#: reference/datamodel.rst:3401 msgid "" "Causes the coroutine to clean itself up and exit. If the coroutine is " "suspended, this method first delegates to the :meth:`~generator.close` " @@ -4195,1089 +5491,1087 @@ msgid "" "causing the coroutine to immediately clean itself up. Finally, the coroutine " "is marked as having finished executing, even if it was never started." msgstr "" +"Προκαλεί τον καθαρισμό και την έξοδο της coroutine. Εάν η coroutine τεθεί " +"σε αναστολή, αυτή η μέθοδος εκχωρεί πρώτα στην μέθοδο :meth:`~generator." +"close` του iterator που προκάλεσε την αναστολή της coroutine, εάν έχει " +"τέτοια μέθοδο. Στη συνέχεια, σηκώνει το :exc:`GeneratorExit` στο σημείο " +"αναστολής, με αποτέλεσμα η coroutine να καθαριστεί αμέσως. Τέλος, η " +"coroutine επισημαίνεται ότι έχει τελειώσει την εκτέλεση, ακόμα κι αν δεν " +"ξεκίνησε ποτέ." -#: reference/datamodel.rst:3668 +#: reference/datamodel.rst:3409 msgid "" "Coroutine objects are automatically closed using the above process when they " "are about to be destroyed." msgstr "" +"Τα αντικείμενα coroutine κλείνουν αυτόματα χρησιμοποιώντας την παραπάνω " +"διαδικασία όταν πρόκειται να καταστραφούν." -#: reference/datamodel.rst:3674 +#: reference/datamodel.rst:3415 msgid "Asynchronous Iterators" -msgstr "" +msgstr "Ασύγχρονοι Iterators" -#: reference/datamodel.rst:3676 +#: reference/datamodel.rst:3417 msgid "" "An *asynchronous iterator* can call asynchronous code in its ``__anext__`` " "method." msgstr "" +"Ένας *ασύγχρονος iterator* μπορεί να καλέσει ασύγχρονο κώδικα με τη μέθοδο " +"``__anext__``." -#: reference/datamodel.rst:3679 +#: reference/datamodel.rst:3420 msgid "" "Asynchronous iterators can be used in an :keyword:`async for` statement." msgstr "" +"Οι ασύγχρονοι iterators μπορούν να χρησιμοποιηθούν σε μια δήλωση :keyword:" +"`async for`." -#: reference/datamodel.rst:3730 -msgid "The :class:`object` class itself does not provide these methods." -msgstr "" - -#: reference/datamodel.rst:3686 +#: reference/datamodel.rst:3424 msgid "Must return an *asynchronous iterator* object." -msgstr "" +msgstr "Πρέπει να επιστρέψει ένα αντικείμενο *ασύγχρονου iterator*." -#: reference/datamodel.rst:3690 +#: reference/datamodel.rst:3428 msgid "" "Must return an *awaitable* resulting in a next value of the iterator. " "Should raise a :exc:`StopAsyncIteration` error when the iteration is over." msgstr "" +"Πρέπει να επιστρέψει ένα *αναμενόμενο* που θα έχει ως αποτέλεσμα μια επόμενη " +"τιμή iterator. Θα πρέπει να κάνει raise ένα σφάλμα :exc:" +"`StopAsyncIteration` όταν τελειώσει η επανάληψη." -#: reference/datamodel.rst:3693 +#: reference/datamodel.rst:3431 msgid "An example of an asynchronous iterable object::" -msgstr "" +msgstr "Παράδειγμα σύγχρονου iterator αντικειμένου::" -#: reference/datamodel.rst:3695 -msgid "" -"class Reader:\n" -" async def readline(self):\n" -" ...\n" -"\n" -" def __aiter__(self):\n" -" return self\n" -"\n" -" async def __anext__(self):\n" -" val = await self.readline()\n" -" if val == b'':\n" -" raise StopAsyncIteration\n" -" return val" -msgstr "" - -#: reference/datamodel.rst:3710 +#: reference/datamodel.rst:3448 msgid "" "Prior to Python 3.7, :meth:`~object.__aiter__` could return an *awaitable* " "that would resolve to an :term:`asynchronous iterator `." msgstr "" +"Πριν από την Python 3.7, η :meth:`~object.__aiter__` θα μπορούσε να " +"επιστρέψει ένα *αναμενόμενο* που θα επιλύονται σε ένα :term:`asynchronous " +"iterator `." -#: reference/datamodel.rst:3715 +#: reference/datamodel.rst:3453 msgid "" "Starting with Python 3.7, :meth:`~object.__aiter__` must return an " "asynchronous iterator object. Returning anything else will result in a :exc:" "`TypeError` error." msgstr "" +"Ξεκινώντας με την Python 3.7, η :meth:`~object.__aiter__` πρέπει να " +"επιστρέψει ένα ασύγχρονο αντικείμενο iterator. Εάν επιστρέφει οτιδήποτε " +"άλλο θα έχει ως αποτέλεσμα ένα σφάλμα :exc:`TypeError`." -#: reference/datamodel.rst:3723 +#: reference/datamodel.rst:3461 msgid "Asynchronous Context Managers" -msgstr "" +msgstr "Ασύγχρονοι Διαχειριστές Περιβάλλοντος" -#: reference/datamodel.rst:3725 +#: reference/datamodel.rst:3463 msgid "" "An *asynchronous context manager* is a *context manager* that is able to " "suspend execution in its ``__aenter__`` and ``__aexit__`` methods." msgstr "" +"Ένας *ασύγχρονος διαχειριστής περιβάλλοντος* είναι ένα *διαχειριστής " +"περιβάλλοντος* που μπορεί να αναστείλει την εκτέλεση στις μεθόδους " +"``__aenter__`` και ``__aexit__``." -#: reference/datamodel.rst:3728 +#: reference/datamodel.rst:3466 msgid "" "Asynchronous context managers can be used in an :keyword:`async with` " "statement." msgstr "" +"Οι ασύγχρονοι διαχειριστές περιβάλλοντος μπορούν να χρησιμοποιηθούν σε μια " +"δήλωση :keyword:`async with`." -#: reference/datamodel.rst:3734 +#: reference/datamodel.rst:3470 msgid "" "Semantically similar to :meth:`~object.__enter__`, the only difference being " "that it must return an *awaitable*." msgstr "" +"Σημασιολογικά παρόμοια με :meth:`~object.__enter__`, η μόνη διαφορά είναι " +"ότι πρέπει να επιστρέψει ένα *awaitable*." -#: reference/datamodel.rst:3739 +#: reference/datamodel.rst:3475 msgid "" "Semantically similar to :meth:`~object.__exit__`, the only difference being " "that it must return an *awaitable*." msgstr "" +"Σημασιολογικά παρόμοια με :meth:`~object.__exit__`, η μόνη διαφορά είναι ότι " +"πρέπει να επιστρέψει ένα *awaitable*." -#: reference/datamodel.rst:3742 +#: reference/datamodel.rst:3478 msgid "An example of an asynchronous context manager class::" -msgstr "" +msgstr "Ένα παράδειγμα κλάσης ασύγχρονης διαχείρισης περιβάλλοντος::" -#: reference/datamodel.rst:3744 -msgid "" -"class AsyncContextManager:\n" -" async def __aenter__(self):\n" -" await log('entering context')\n" -"\n" -" async def __aexit__(self, exc_type, exc, tb):\n" -" await log('exiting context')" -msgstr "" - -#: reference/datamodel.rst:3755 +#: reference/datamodel.rst:3491 msgid "Footnotes" -msgstr "" +msgstr "Υποσημειώσεις" -#: reference/datamodel.rst:3756 +#: reference/datamodel.rst:3492 msgid "" "It *is* possible in some cases to change an object's type, under certain " "controlled conditions. It generally isn't a good idea though, since it can " "lead to some very strange behaviour if it is handled incorrectly." msgstr "" +"Αυτό *είναι* δυνατό σε ορισμένες περιπτώσεις να αλλάξει ο τύπος ενός " +"αντικειμένου, υπό ορισμένες ελεγχόμενες συνθήκες. Γενικά δεν είναι καλή ιδέα " +"όμως, καθώς μπορεί να οδηγήσει σε κάποια πολύ περίεργη συμπεριφορά εάν γίνει " +"λάθος χειρισμός." -#: reference/datamodel.rst:3760 +#: reference/datamodel.rst:3496 msgid "" "The :meth:`~object.__hash__`, :meth:`~object.__iter__`, :meth:`~object." "__reversed__`, and :meth:`~object.__contains__` methods have special " "handling for this; others will still raise a :exc:`TypeError`, but may do so " "by relying on the behavior that ``None`` is not callable." msgstr "" +"Οι μέθοδοι :meth:`~object.__hash__`, :meth:`~object.__iter__`, :meth:" +"`~object.__reversed__`, και :meth:`~object.__contains__` έχουν ειδικό " +"χειρισμό για αυτό∙ άλλοι θα εξακολουθήσουν να κάνουν raise ένα :exc:" +"`TypeError`, αλλά μπορεί να το κάνει βασιζόμενος στη συμπεριφορά ότι το " +"``None`` δεν καλείται." -#: reference/datamodel.rst:3766 +#: reference/datamodel.rst:3502 msgid "" "\"Does not support\" here means that the class has no such method, or the " "method returns :data:`NotImplemented`. Do not set the method to ``None`` if " "you want to force fallback to the right operand's reflected method—that will " "instead have the opposite effect of explicitly *blocking* such fallback." msgstr "" +"Το \"Δεν υποστηρίζει\" εδώ σημαίνει ότι η κλάση δεν έχει τέτοια μέθοδο ή η " +"μέθοδος επιστρέφει :data:`NotImplemented`. Μην ορίσετε τη μέθοδο σε " +"``None`` εάν θέλετε να αναγκάσετε την επιστροφή στη μέθοδο ανακλώμενης του " +"δεξιού τελεστή-αυτό θα έχει το αντίθετο αποτέλεσμα του ρητού " +"*μπλοκαρίσματος* αυτού του εναλλακτικού." -#: reference/datamodel.rst:3772 +#: reference/datamodel.rst:3508 msgid "" "For operands of the same type, it is assumed that if the non-reflected " "method -- such as :meth:`~object.__add__` -- fails then the overall " "operation is not supported, which is why the reflected method is not called." msgstr "" - -#: reference/datamodel.rst:152 reference/datamodel.rst:184 -#: reference/datamodel.rst:229 reference/datamodel.rst:265 -#: reference/datamodel.rst:296 reference/datamodel.rst:363 -#: reference/datamodel.rst:409 reference/datamodel.rst:447 -#: reference/datamodel.rst:466 reference/datamodel.rst:519 -#: reference/datamodel.rst:660 reference/datamodel.rst:822 -#: reference/datamodel.rst:1114 reference/datamodel.rst:1264 -#: reference/datamodel.rst:1440 reference/datamodel.rst:1647 -#: reference/datamodel.rst:3090 +"Για τελεστές του ίδιου τύπου, θεωρείται ότι εάν η μη ανακλώμενη μέθοδος -- " +"όπως :meth:`~object.__add__` -- αποτύχει, τότε η συνολική πράξη δεν " +"υποστηρίζεται, γι' αυτό δεν καλείται η ανακλώμενη μέθοδος." + +#: reference/datamodel.rst:148 reference/datamodel.rst:180 +#: reference/datamodel.rst:225 reference/datamodel.rst:261 +#: reference/datamodel.rst:292 reference/datamodel.rst:356 +#: reference/datamodel.rst:402 reference/datamodel.rst:440 +#: reference/datamodel.rst:459 reference/datamodel.rst:512 +#: reference/datamodel.rst:654 reference/datamodel.rst:823 +#: reference/datamodel.rst:938 reference/datamodel.rst:1034 +#: reference/datamodel.rst:1200 reference/datamodel.rst:1407 +#: reference/datamodel.rst:2834 msgid "object" -msgstr "" +msgstr "αντικείμενο" -#: reference/datamodel.rst:126 +#: reference/datamodel.rst:122 msgid "data" -msgstr "" +msgstr "δεδομένα" -#: reference/datamodel.rst:296 reference/datamodel.rst:427 -#: reference/datamodel.rst:798 reference/datamodel.rst:1730 -#: reference/datamodel.rst:1979 reference/datamodel.rst:2629 -#: reference/datamodel.rst:3218 reference/datamodel.rst:3267 -#: reference/datamodel.rst:3326 reference/datamodel.rst:3354 +#: reference/datamodel.rst:292 reference/datamodel.rst:420 +#: reference/datamodel.rst:799 reference/datamodel.rst:1490 +#: reference/datamodel.rst:1735 reference/datamodel.rst:2375 +#: reference/datamodel.rst:2962 reference/datamodel.rst:3011 +#: reference/datamodel.rst:3070 reference/datamodel.rst:3098 msgid "built-in function" -msgstr "" +msgstr "ενσωματωμένη συνάρτηση" #: reference/datamodel.rst:23 msgid "id" -msgstr "" +msgstr "αναγνωριστικό" -#: reference/datamodel.rst:126 reference/datamodel.rst:2629 +#: reference/datamodel.rst:122 reference/datamodel.rst:2375 msgid "type" -msgstr "" +msgstr "τύπος" #: reference/datamodel.rst:23 msgid "identity of an object" -msgstr "" +msgstr "ταυτότητα ενός αντικειμένου" #: reference/datamodel.rst:23 msgid "value of an object" -msgstr "" +msgstr "τιμή ενός αντικειμένου" #: reference/datamodel.rst:23 msgid "type of an object" -msgstr "" +msgstr "τύπος ενός αντικειμένου" #: reference/datamodel.rst:23 msgid "mutable object" -msgstr "" +msgstr "ευμετάβλητο αντικείμενο" #: reference/datamodel.rst:23 msgid "immutable object" -msgstr "" +msgstr "αμετάβλητο αντικείμενο" #: reference/datamodel.rst:60 msgid "garbage collection" -msgstr "" +msgstr "συλλογή σκουπιδιών" #: reference/datamodel.rst:60 msgid "reference counting" -msgstr "" +msgstr "καταμέτρηση αναφοράς" #: reference/datamodel.rst:60 msgid "unreachable object" -msgstr "" +msgstr "απρόσιτο αντικείμενο" -#: reference/datamodel.rst:1114 +#: reference/datamodel.rst:938 msgid "container" -msgstr "" +msgstr "κοντέινερ" -#: reference/datamodel.rst:126 +#: reference/datamodel.rst:122 msgid "hierarchy" -msgstr "" +msgstr "ιεραρχία" -#: reference/datamodel.rst:126 +#: reference/datamodel.rst:122 msgid "extension" -msgstr "" +msgstr "επέκταση" -#: reference/datamodel.rst:400 reference/datamodel.rst:502 -#: reference/datamodel.rst:877 reference/datamodel.rst:1293 +#: reference/datamodel.rst:393 reference/datamodel.rst:495 +#: reference/datamodel.rst:876 reference/datamodel.rst:1053 msgid "module" -msgstr "" +msgstr "module" -#: reference/datamodel.rst:265 reference/datamodel.rst:798 +#: reference/datamodel.rst:261 reference/datamodel.rst:799 msgid "C" -msgstr "" +msgstr "C" -#: reference/datamodel.rst:265 reference/datamodel.rst:798 +#: reference/datamodel.rst:261 reference/datamodel.rst:799 msgid "language" -msgstr "" +msgstr "γλώσσα" -#: reference/datamodel.rst:1114 reference/datamodel.rst:1237 -#: reference/datamodel.rst:1257 +#: reference/datamodel.rst:938 reference/datamodel.rst:1007 +#: reference/datamodel.rst:1027 msgid "attribute" -msgstr "" +msgstr "χαρακτηριστικό" -#: reference/datamodel.rst:139 +#: reference/datamodel.rst:135 msgid "special" -msgstr "" +msgstr "ειδικό" -#: reference/datamodel.rst:139 +#: reference/datamodel.rst:135 msgid "generic" -msgstr "" +msgstr "γενικό" -#: reference/datamodel.rst:184 +#: reference/datamodel.rst:180 msgid "..." -msgstr "" +msgstr "..." -#: reference/datamodel.rst:184 +#: reference/datamodel.rst:180 msgid "ellipsis literal" -msgstr "" +msgstr "ellipsis literal" -#: reference/datamodel.rst:1264 +#: reference/datamodel.rst:1034 msgid "numeric" -msgstr "" +msgstr "αριθμητικό" -#: reference/datamodel.rst:235 reference/datamodel.rst:343 +#: reference/datamodel.rst:231 reference/datamodel.rst:336 msgid "integer" -msgstr "" +msgstr "ακέραιος" -#: reference/datamodel.rst:235 +#: reference/datamodel.rst:231 msgid "representation" -msgstr "" +msgstr "αναπαράσταση" -#: reference/datamodel.rst:250 +#: reference/datamodel.rst:246 msgid "Boolean" -msgstr "" +msgstr "Boolean" -#: reference/datamodel.rst:250 +#: reference/datamodel.rst:246 msgid "False" -msgstr "" +msgstr "False" -#: reference/datamodel.rst:250 +#: reference/datamodel.rst:246 msgid "True" -msgstr "" +msgstr "True" -#: reference/datamodel.rst:265 -msgid "floating-point" -msgstr "" +#: reference/datamodel.rst:261 +msgid "floating point" +msgstr "κινητής υποδιαστολής" -#: reference/datamodel.rst:283 +#: reference/datamodel.rst:279 msgid "number" -msgstr "" +msgstr "αριθμός" -#: reference/datamodel.rst:265 +#: reference/datamodel.rst:261 msgid "Java" -msgstr "" +msgstr "Java" -#: reference/datamodel.rst:3326 +#: reference/datamodel.rst:3070 msgid "complex" -msgstr "" +msgstr "σύνθετο" -#: reference/datamodel.rst:427 reference/datamodel.rst:3060 +#: reference/datamodel.rst:420 reference/datamodel.rst:2804 msgid "len" -msgstr "" +msgstr "len" -#: reference/datamodel.rst:1264 +#: reference/datamodel.rst:1034 msgid "sequence" -msgstr "" +msgstr "ακολουθία" -#: reference/datamodel.rst:296 +#: reference/datamodel.rst:292 msgid "index operation" -msgstr "" +msgstr "λειτουργία ευρετηρίου" -#: reference/datamodel.rst:296 +#: reference/datamodel.rst:292 msgid "item selection" -msgstr "" +msgstr "επιλογή αντικειμένου" -#: reference/datamodel.rst:388 reference/datamodel.rst:466 +#: reference/datamodel.rst:381 reference/datamodel.rst:459 msgid "subscription" -msgstr "" +msgstr "εγγραφή" -#: reference/datamodel.rst:388 +#: reference/datamodel.rst:381 msgid "slicing" -msgstr "" +msgstr "τμηματοποίηση" -#: reference/datamodel.rst:328 +#: reference/datamodel.rst:321 msgid "immutable sequence" -msgstr "" +msgstr "αμετάβλητη ακολουθία" -#: reference/datamodel.rst:328 +#: reference/datamodel.rst:321 msgid "immutable" -msgstr "" +msgstr "αμετάβλητο" -#: reference/datamodel.rst:1948 reference/datamodel.rst:1979 +#: reference/datamodel.rst:1705 reference/datamodel.rst:1735 msgid "string" -msgstr "" +msgstr "συμβολοσειρά" -#: reference/datamodel.rst:339 +#: reference/datamodel.rst:332 msgid "immutable sequences" -msgstr "" +msgstr "αμετάβλητες ακολουθίες" -#: reference/datamodel.rst:343 +#: reference/datamodel.rst:336 msgid "chr" -msgstr "" +msgstr "chr" -#: reference/datamodel.rst:343 +#: reference/datamodel.rst:336 msgid "ord" -msgstr "" +msgstr "ord" -#: reference/datamodel.rst:343 +#: reference/datamodel.rst:336 msgid "character" -msgstr "" +msgstr "χαρακτήρας" -#: reference/datamodel.rst:343 +#: reference/datamodel.rst:336 msgid "Unicode" -msgstr "" +msgstr "Unicode" -#: reference/datamodel.rst:363 +#: reference/datamodel.rst:356 msgid "tuple" -msgstr "" +msgstr "πλειάδα" -#: reference/datamodel.rst:363 +#: reference/datamodel.rst:356 msgid "singleton" -msgstr "" +msgstr "singleton" -#: reference/datamodel.rst:363 +#: reference/datamodel.rst:356 msgid "empty" -msgstr "" +msgstr "κενό" -#: reference/datamodel.rst:1973 +#: reference/datamodel.rst:1730 msgid "bytes" -msgstr "" +msgstr "bytes" -#: reference/datamodel.rst:376 +#: reference/datamodel.rst:369 msgid "byte" -msgstr "" +msgstr "byte" -#: reference/datamodel.rst:388 +#: reference/datamodel.rst:381 msgid "mutable sequence" -msgstr "" +msgstr "ευμετάβλητη ακολουθία" -#: reference/datamodel.rst:388 +#: reference/datamodel.rst:381 msgid "mutable" -msgstr "" +msgstr "ευμετάβλητο" -#: reference/datamodel.rst:1132 reference/datamodel.rst:1257 +#: reference/datamodel.rst:956 reference/datamodel.rst:1027 msgid "assignment" -msgstr "" +msgstr "εκχώρηση" -#: reference/datamodel.rst:857 reference/datamodel.rst:1866 -#: reference/datamodel.rst:3381 +#: reference/datamodel.rst:856 reference/datamodel.rst:1626 +#: reference/datamodel.rst:3125 msgid "statement" -msgstr "" +msgstr "δήλωση" -#: reference/datamodel.rst:400 +#: reference/datamodel.rst:393 msgid "array" -msgstr "" +msgstr "πίνακας" -#: reference/datamodel.rst:401 +#: reference/datamodel.rst:394 msgid "collections" -msgstr "" +msgstr "συλλογές" -#: reference/datamodel.rst:409 +#: reference/datamodel.rst:402 msgid "list" -msgstr "" +msgstr "λίστα" -#: reference/datamodel.rst:416 +#: reference/datamodel.rst:409 msgid "bytearray" -msgstr "" +msgstr "πίνακας byte" -#: reference/datamodel.rst:427 +#: reference/datamodel.rst:420 msgid "set type" -msgstr "" +msgstr "τύπος συνόλου" -#: reference/datamodel.rst:447 +#: reference/datamodel.rst:440 msgid "set" -msgstr "" +msgstr "σύνολο" -#: reference/datamodel.rst:455 +#: reference/datamodel.rst:448 msgid "frozenset" -msgstr "" +msgstr "αμετάβλητο σύνολο" -#: reference/datamodel.rst:1264 +#: reference/datamodel.rst:1034 msgid "mapping" -msgstr "" +msgstr "αντιστοίχιση" -#: reference/datamodel.rst:1114 reference/datamodel.rst:2072 +#: reference/datamodel.rst:938 reference/datamodel.rst:1819 msgid "dictionary" -msgstr "" +msgstr "λεξικό" -#: reference/datamodel.rst:502 +#: reference/datamodel.rst:495 msgid "dbm.ndbm" -msgstr "" +msgstr "dbm.ndbm" -#: reference/datamodel.rst:502 +#: reference/datamodel.rst:495 msgid "dbm.gnu" -msgstr "" +msgstr "dbm.gnu" -#: reference/datamodel.rst:519 +#: reference/datamodel.rst:512 msgid "callable" -msgstr "" +msgstr "με δυνατότητα κλήσης" -#: reference/datamodel.rst:534 reference/datamodel.rst:760 -#: reference/datamodel.rst:798 +#: reference/datamodel.rst:527 reference/datamodel.rst:761 +#: reference/datamodel.rst:799 msgid "function" -msgstr "" +msgstr "συνάρτηση" -#: reference/datamodel.rst:1114 reference/datamodel.rst:3010 +#: reference/datamodel.rst:938 reference/datamodel.rst:2756 msgid "call" -msgstr "" +msgstr "κλήση" -#: reference/datamodel.rst:519 +#: reference/datamodel.rst:512 msgid "invocation" -msgstr "" +msgstr "εκτέλεση" -#: reference/datamodel.rst:519 +#: reference/datamodel.rst:512 msgid "argument" -msgstr "" +msgstr "παράμετρος" -#: reference/datamodel.rst:660 +#: reference/datamodel.rst:654 msgid "user-defined" -msgstr "" +msgstr "ορισμένο από τον χρήστη" -#: reference/datamodel.rst:534 +#: reference/datamodel.rst:527 msgid "user-defined function" -msgstr "" +msgstr "συνάρτηση ορισμένη από τον χρήστη" -#: reference/datamodel.rst:547 +#: reference/datamodel.rst:540 msgid "__closure__ (function attribute)" -msgstr "" +msgstr "__closure__ (χαρακτηριστικό συνάρτησης)" -#: reference/datamodel.rst:547 +#: reference/datamodel.rst:540 msgid "__globals__ (function attribute)" -msgstr "" +msgstr "__globals__ (χαρακτηριστικό συνάρτησης)" -#: reference/datamodel.rst:547 +#: reference/datamodel.rst:540 msgid "global" -msgstr "" +msgstr "global" -#: reference/datamodel.rst:877 +#: reference/datamodel.rst:876 msgid "namespace" -msgstr "" +msgstr "πεδίο ονομάτων" -#: reference/datamodel.rst:573 +#: reference/datamodel.rst:566 msgid "__doc__ (function attribute)" -msgstr "" +msgstr "__doc__ (χαρακτηριστικό συνάρτησης)" -#: reference/datamodel.rst:573 +#: reference/datamodel.rst:566 msgid "__name__ (function attribute)" -msgstr "" +msgstr "__name__ (χαρακτηριστικό συνάρτησης)" -#: reference/datamodel.rst:573 +#: reference/datamodel.rst:566 msgid "__module__ (function attribute)" -msgstr "" +msgstr "__module__ (χαρακτηριστικό συνάρτησης)" -#: reference/datamodel.rst:573 +#: reference/datamodel.rst:566 msgid "__dict__ (function attribute)" -msgstr "" +msgstr "__dict__ (χαρακτηριστικό συνάρτησης)" -#: reference/datamodel.rst:573 +#: reference/datamodel.rst:566 msgid "__defaults__ (function attribute)" -msgstr "" +msgstr "__defaults__ (χαρακτηριστικό συνάρτησης)" -#: reference/datamodel.rst:573 +#: reference/datamodel.rst:566 msgid "__code__ (function attribute)" -msgstr "" +msgstr "__code__ (χαρακτηριστικό συνάρτησης)" -#: reference/datamodel.rst:573 +#: reference/datamodel.rst:566 msgid "__annotations__ (function attribute)" -msgstr "" +msgstr "__annotations__ (χαρακτηριστικό συνάρτησης)" -#: reference/datamodel.rst:573 +#: reference/datamodel.rst:566 msgid "__kwdefaults__ (function attribute)" -msgstr "" +msgstr "__kwdefaults__ (χαρακτηριστικό συνάρτησης)" -#: reference/datamodel.rst:573 +#: reference/datamodel.rst:566 msgid "__type_params__ (function attribute)" -msgstr "" +msgstr "__type_params__ (χαρακτηριστικό συνάρτησης)" -#: reference/datamodel.rst:822 +#: reference/datamodel.rst:823 msgid "method" -msgstr "" +msgstr "μέθοδος" -#: reference/datamodel.rst:660 +#: reference/datamodel.rst:654 msgid "user-defined method" -msgstr "" +msgstr "μέθοδος ορισμένη από τον χρήστη" -#: reference/datamodel.rst:668 +#: reference/datamodel.rst:662 msgid "__func__ (method attribute)" -msgstr "" +msgstr "__func__ (χαρακτηριστικό μεθόδου)" -#: reference/datamodel.rst:668 +#: reference/datamodel.rst:662 msgid "__self__ (method attribute)" -msgstr "" +msgstr "__self__ (χαρακτηριστικό μεθόδου)" -#: reference/datamodel.rst:668 +#: reference/datamodel.rst:662 msgid "__doc__ (method attribute)" -msgstr "" +msgstr "__doc__ (χαρακτηριστικό μεθόδου)" -#: reference/datamodel.rst:668 +#: reference/datamodel.rst:662 msgid "__name__ (method attribute)" -msgstr "" +msgstr "__name__ (χαρακτηριστικό μεθόδου)" -#: reference/datamodel.rst:668 +#: reference/datamodel.rst:662 msgid "__module__ (method attribute)" -msgstr "" +msgstr "__module__ (χαρακτηριστικό μεθόδου)" -#: reference/datamodel.rst:1440 +#: reference/datamodel.rst:1200 msgid "generator" -msgstr "" +msgstr "γεννήτρια" -#: reference/datamodel.rst:742 +#: reference/datamodel.rst:743 msgid "iterator" -msgstr "" +msgstr "iterator" -#: reference/datamodel.rst:3569 +#: reference/datamodel.rst:3312 msgid "coroutine" -msgstr "" +msgstr "coroutine" -#: reference/datamodel.rst:773 +#: reference/datamodel.rst:774 msgid "asynchronous generator" -msgstr "" +msgstr "ασύγχρονη γεννήτρια" -#: reference/datamodel.rst:773 +#: reference/datamodel.rst:774 msgid "asynchronous iterator" -msgstr "" +msgstr "ασύγχρονος iterator" -#: reference/datamodel.rst:822 +#: reference/datamodel.rst:823 msgid "built-in method" -msgstr "" +msgstr "ενσωματωμένη μέθοδος" -#: reference/datamodel.rst:822 +#: reference/datamodel.rst:823 msgid "built-in" -msgstr "" +msgstr "ενσωματωμένο" -#: reference/datamodel.rst:857 +#: reference/datamodel.rst:856 msgid "import" -msgstr "" +msgstr "εισαγωγή" -#: reference/datamodel.rst:877 +#: reference/datamodel.rst:876 msgid "__name__ (module attribute)" -msgstr "" +msgstr "__name__ (χαρακτηριστικό module)" -#: reference/datamodel.rst:877 -msgid "__spec__ (module attribute)" -msgstr "" - -#: reference/datamodel.rst:877 -msgid "__package__ (module attribute)" -msgstr "" - -#: reference/datamodel.rst:877 -msgid "__loader__ (module attribute)" -msgstr "" - -#: reference/datamodel.rst:877 -msgid "__path__ (module attribute)" -msgstr "" +#: reference/datamodel.rst:876 +msgid "__doc__ (module attribute)" +msgstr "__doc__ (χαρακτηριστικό module)" -#: reference/datamodel.rst:877 +#: reference/datamodel.rst:876 msgid "__file__ (module attribute)" -msgstr "" - -#: reference/datamodel.rst:877 -msgid "__cached__ (module attribute)" -msgstr "" +msgstr "__file__ (χαρακτηριστικό module)" -#: reference/datamodel.rst:877 -msgid "__doc__ (module attribute)" -msgstr "" - -#: reference/datamodel.rst:877 +#: reference/datamodel.rst:876 msgid "__annotations__ (module attribute)" -msgstr "" +msgstr "__annotations__ (χαρακτηριστικό module)" -#: reference/datamodel.rst:1082 +#: reference/datamodel.rst:907 msgid "__dict__ (module attribute)" -msgstr "" +msgstr "__dict__ (χαρακτηριστικό module)" -#: reference/datamodel.rst:1132 reference/datamodel.rst:1849 -#: reference/datamodel.rst:2740 +#: reference/datamodel.rst:956 reference/datamodel.rst:1609 +#: reference/datamodel.rst:2486 msgid "class" -msgstr "" +msgstr "κλάση" -#: reference/datamodel.rst:1237 reference/datamodel.rst:1257 +#: reference/datamodel.rst:1007 reference/datamodel.rst:1027 msgid "class instance" -msgstr "" +msgstr "στιγμιότυπο κλάσης" -#: reference/datamodel.rst:1237 reference/datamodel.rst:3010 +#: reference/datamodel.rst:1007 reference/datamodel.rst:2756 msgid "instance" -msgstr "" +msgstr "στιγμιότυπο" -#: reference/datamodel.rst:1137 +#: reference/datamodel.rst:961 msgid "class object" -msgstr "" +msgstr "αντικείμενα κλάσης" -#: reference/datamodel.rst:1144 +#: reference/datamodel.rst:965 msgid "__name__ (class attribute)" -msgstr "" +msgstr "__name__ (χαρακτηριστικό στιγμιοτύπου)" -#: reference/datamodel.rst:1144 +#: reference/datamodel.rst:965 msgid "__module__ (class attribute)" -msgstr "" +msgstr "__module__ (χαρακτηριστικό στιγμιοτύπου)" -#: reference/datamodel.rst:1144 +#: reference/datamodel.rst:965 msgid "__dict__ (class attribute)" -msgstr "" +msgstr "__dict__ (χαρακτηριστικό στιγμιοτύπου)" -#: reference/datamodel.rst:1144 +#: reference/datamodel.rst:965 msgid "__bases__ (class attribute)" -msgstr "" +msgstr "__bases__ (χαρακτηριστικό στιγμιοτύπου)" -#: reference/datamodel.rst:1144 +#: reference/datamodel.rst:965 msgid "__doc__ (class attribute)" -msgstr "" +msgstr "__doc__ (χαρακτηριστικό στιγμιοτύπου)" -#: reference/datamodel.rst:1144 +#: reference/datamodel.rst:965 msgid "__annotations__ (class attribute)" -msgstr "" +msgstr "__annotations__ (χαρακτηριστικό στιγμιοτύπου)" -#: reference/datamodel.rst:1144 +#: reference/datamodel.rst:965 msgid "__type_params__ (class attribute)" -msgstr "" +msgstr "__type_params__ (χαρακτηριστικό στιγμιοτύπου)" -#: reference/datamodel.rst:1275 +#: reference/datamodel.rst:1042 msgid "__dict__ (instance attribute)" -msgstr "" +msgstr "__dict__ (χαρακτηριστικό στιγμιοτύπου)" -#: reference/datamodel.rst:1275 +#: reference/datamodel.rst:1042 msgid "__class__ (instance attribute)" -msgstr "" +msgstr "__class__ (χαρακτηριστικό στιγμιοτύπου)" -#: reference/datamodel.rst:1293 +#: reference/datamodel.rst:1053 msgid "open" -msgstr "" +msgstr "άνοιγμα" -#: reference/datamodel.rst:1293 +#: reference/datamodel.rst:1053 msgid "io" -msgstr "" +msgstr "io" -#: reference/datamodel.rst:1293 +#: reference/datamodel.rst:1053 msgid "popen() (in module os)" -msgstr "" +msgstr "popen() (στο module os)" -#: reference/datamodel.rst:1293 +#: reference/datamodel.rst:1053 msgid "makefile() (socket method)" -msgstr "" +msgstr "makefile() (μέθοδος socket)" -#: reference/datamodel.rst:1293 +#: reference/datamodel.rst:1053 msgid "sys.stdin" -msgstr "" +msgstr "sys.stdin" -#: reference/datamodel.rst:1293 +#: reference/datamodel.rst:1053 msgid "sys.stdout" -msgstr "" +msgstr "sys.stdout" -#: reference/datamodel.rst:1293 +#: reference/datamodel.rst:1053 msgid "sys.stderr" -msgstr "" +msgstr "sys.stderr" -#: reference/datamodel.rst:1293 +#: reference/datamodel.rst:1053 msgid "stdio" -msgstr "" +msgstr "stdio" -#: reference/datamodel.rst:1293 +#: reference/datamodel.rst:1053 msgid "stdin (in module sys)" -msgstr "" +msgstr "stdin (στο module sys)" -#: reference/datamodel.rst:1293 +#: reference/datamodel.rst:1053 msgid "stdout (in module sys)" -msgstr "" +msgstr "stdout (στο module sys)" -#: reference/datamodel.rst:1293 +#: reference/datamodel.rst:1053 msgid "stderr (in module sys)" -msgstr "" +msgstr "stderr (στο module sys)" -#: reference/datamodel.rst:1322 +#: reference/datamodel.rst:1082 msgid "internal type" -msgstr "" +msgstr "εσωτερικός τύπος" -#: reference/datamodel.rst:1322 +#: reference/datamodel.rst:1082 msgid "types, internal" -msgstr "" +msgstr "τύποι, εσωτερικό" -#: reference/datamodel.rst:1336 +#: reference/datamodel.rst:1096 msgid "bytecode" -msgstr "" +msgstr "bytecode" -#: reference/datamodel.rst:1336 +#: reference/datamodel.rst:1096 msgid "code" -msgstr "" +msgstr "code" -#: reference/datamodel.rst:1336 +#: reference/datamodel.rst:1096 msgid "code object" -msgstr "" +msgstr "code object" -#: reference/datamodel.rst:1347 +#: reference/datamodel.rst:1107 msgid "co_argcount (code object attribute)" -msgstr "" +msgstr "co_argcount (χαρακτηριστικό code object)" -#: reference/datamodel.rst:1347 +#: reference/datamodel.rst:1107 msgid "co_posonlyargcount (code object attribute)" -msgstr "" +msgstr "co_posonlyargcount (χαρακτηριστικό code object)" -#: reference/datamodel.rst:1347 +#: reference/datamodel.rst:1107 msgid "co_kwonlyargcount (code object attribute)" -msgstr "" +msgstr "co_kwonlyargcount (χαρακτηριστικό code object)" -#: reference/datamodel.rst:1347 +#: reference/datamodel.rst:1107 msgid "co_code (code object attribute)" -msgstr "" +msgstr "co_code (χαρακτηριστικό code object)" -#: reference/datamodel.rst:1347 +#: reference/datamodel.rst:1107 msgid "co_consts (code object attribute)" -msgstr "" +msgstr "co_consts (χαρακτηριστικό code object)" -#: reference/datamodel.rst:1347 +#: reference/datamodel.rst:1107 msgid "co_filename (code object attribute)" -msgstr "" +msgstr "co_filename (χαρακτηριστικό code object)" -#: reference/datamodel.rst:1347 +#: reference/datamodel.rst:1107 msgid "co_firstlineno (code object attribute)" -msgstr "" +msgstr "co_firstlineno (χαρακτηριστικό code object)" -#: reference/datamodel.rst:1347 +#: reference/datamodel.rst:1107 msgid "co_flags (code object attribute)" -msgstr "" +msgstr "co_flags (χαρακτηριστικό code object)" -#: reference/datamodel.rst:1347 +#: reference/datamodel.rst:1107 msgid "co_lnotab (code object attribute)" -msgstr "" +msgstr "co_lnotab (χαρακτηριστικό code object)" -#: reference/datamodel.rst:1347 +#: reference/datamodel.rst:1107 msgid "co_name (code object attribute)" -msgstr "" +msgstr "co_name (χαρακτηριστικό code object)" -#: reference/datamodel.rst:1347 +#: reference/datamodel.rst:1107 msgid "co_names (code object attribute)" -msgstr "" +msgstr "co_names (χαρακτηριστικό code object)" -#: reference/datamodel.rst:1347 +#: reference/datamodel.rst:1107 msgid "co_nlocals (code object attribute)" -msgstr "" +msgstr "co_nlocals (χαρακτηριστικό code object)" -#: reference/datamodel.rst:1347 +#: reference/datamodel.rst:1107 msgid "co_stacksize (code object attribute)" -msgstr "" +msgstr "co_stacksize (χαρακτηριστικό code object)" -#: reference/datamodel.rst:1347 +#: reference/datamodel.rst:1107 msgid "co_varnames (code object attribute)" -msgstr "" +msgstr "co_varnames (χαρακτηριστικό code object)" -#: reference/datamodel.rst:1347 +#: reference/datamodel.rst:1107 msgid "co_cellvars (code object attribute)" -msgstr "" +msgstr "co_cellvars (χαρακτηριστικό code object)" -#: reference/datamodel.rst:1347 +#: reference/datamodel.rst:1107 msgid "co_freevars (code object attribute)" -msgstr "" +msgstr "co_freevars (χαρακτηριστικό code object)" -#: reference/datamodel.rst:1347 +#: reference/datamodel.rst:1107 msgid "co_qualname (code object attribute)" -msgstr "" +msgstr "co_qualname (χαρακτηριστικό code object)" -#: reference/datamodel.rst:1458 +#: reference/datamodel.rst:1218 msgid "documentation string" -msgstr "" +msgstr "κείμενο τεκμηρίωσης" -#: reference/datamodel.rst:1547 +#: reference/datamodel.rst:1307 msgid "frame" -msgstr "" +msgstr "frame" -#: reference/datamodel.rst:1553 +#: reference/datamodel.rst:1313 msgid "f_back (frame attribute)" -msgstr "" +msgstr "f_back (χαρακτηριστικό frame)" -#: reference/datamodel.rst:1553 +#: reference/datamodel.rst:1313 msgid "f_code (frame attribute)" -msgstr "" +msgstr "f_code (χαρακτηριστικό frame)" -#: reference/datamodel.rst:1553 +#: reference/datamodel.rst:1313 msgid "f_globals (frame attribute)" -msgstr "" +msgstr "f_globals (χαρακτηριστικό frame)" -#: reference/datamodel.rst:1553 +#: reference/datamodel.rst:1313 msgid "f_locals (frame attribute)" -msgstr "" +msgstr "f_locals (χαρακτηριστικό frame)" -#: reference/datamodel.rst:1553 +#: reference/datamodel.rst:1313 msgid "f_lasti (frame attribute)" -msgstr "" +msgstr "f_lasti (χαρακτηριστικό frame)" -#: reference/datamodel.rst:1553 +#: reference/datamodel.rst:1313 msgid "f_builtins (frame attribute)" -msgstr "" +msgstr "f_builtins (χαρακτηριστικό frame)" -#: reference/datamodel.rst:1592 +#: reference/datamodel.rst:1352 msgid "f_trace (frame attribute)" -msgstr "" +msgstr "f_trace (χαρακτηριστικό frame)" -#: reference/datamodel.rst:1592 +#: reference/datamodel.rst:1352 msgid "f_trace_lines (frame attribute)" -msgstr "" +msgstr "f_trace_lines (χαρακτηριστικό frame)" -#: reference/datamodel.rst:1592 +#: reference/datamodel.rst:1352 msgid "f_trace_opcodes (frame attribute)" -msgstr "" +msgstr "f_trace_opcodes (χαρακτηριστικό frame)" -#: reference/datamodel.rst:1592 +#: reference/datamodel.rst:1352 msgid "f_lineno (frame attribute)" -msgstr "" +msgstr "f_lineno (χαρακτηριστικό frame)" -#: reference/datamodel.rst:1647 +#: reference/datamodel.rst:1407 msgid "traceback" -msgstr "" +msgstr "traceback" -#: reference/datamodel.rst:1647 +#: reference/datamodel.rst:1407 msgid "stack" -msgstr "" +msgstr "stack" -#: reference/datamodel.rst:1647 +#: reference/datamodel.rst:1407 msgid "trace" -msgstr "" +msgstr "trace" -#: reference/datamodel.rst:1647 +#: reference/datamodel.rst:1407 msgid "exception" -msgstr "" +msgstr "exception" -#: reference/datamodel.rst:1647 +#: reference/datamodel.rst:1407 msgid "handler" -msgstr "" +msgstr "χειριστής" -#: reference/datamodel.rst:1647 +#: reference/datamodel.rst:1407 msgid "execution" -msgstr "" +msgstr "execution" -#: reference/datamodel.rst:1647 +#: reference/datamodel.rst:1407 msgid "exc_info (in module sys)" -msgstr "" +msgstr "exc_info (στο module sys)" -#: reference/datamodel.rst:1647 +#: reference/datamodel.rst:1407 msgid "last_traceback (in module sys)" -msgstr "" +msgstr "last_traceback (στο module sys)" -#: reference/datamodel.rst:1647 +#: reference/datamodel.rst:1407 msgid "sys.exc_info" -msgstr "" +msgstr "sys.exc_info" -#: reference/datamodel.rst:1647 +#: reference/datamodel.rst:1407 msgid "sys.exception" -msgstr "" +msgstr "sys.exception" -#: reference/datamodel.rst:1647 +#: reference/datamodel.rst:1407 msgid "sys.last_traceback" -msgstr "" +msgstr "sys.last_traceback" -#: reference/datamodel.rst:1684 +#: reference/datamodel.rst:1444 msgid "tb_frame (traceback attribute)" -msgstr "" +msgstr "tb_frame (χαρακτηριστικό traceback)" -#: reference/datamodel.rst:1684 +#: reference/datamodel.rst:1444 msgid "tb_lineno (traceback attribute)" -msgstr "" +msgstr "tb_lineno (χαρακτηριστικό traceback)" -#: reference/datamodel.rst:1684 +#: reference/datamodel.rst:1444 msgid "tb_lasti (traceback attribute)" -msgstr "" +msgstr "tb_lasti (χαρακτηριστικό traceback)" -#: reference/datamodel.rst:1684 +#: reference/datamodel.rst:1444 msgid "try" -msgstr "" +msgstr "try" -#: reference/datamodel.rst:1714 +#: reference/datamodel.rst:1474 msgid "tb_next (traceback attribute)" -msgstr "" +msgstr "tb_next (χαρακτηριστικό traceback)" -#: reference/datamodel.rst:3090 +#: reference/datamodel.rst:2834 msgid "slice" -msgstr "" +msgstr "slice" -#: reference/datamodel.rst:1736 +#: reference/datamodel.rst:1496 msgid "start (slice object attribute)" -msgstr "" +msgstr "start (χαρακτηριστικό αντικειμένου slice)" -#: reference/datamodel.rst:1736 +#: reference/datamodel.rst:1496 msgid "stop (slice object attribute)" -msgstr "" +msgstr "stop (χαρακτηριστικό αντικειμένου slice)" -#: reference/datamodel.rst:1736 +#: reference/datamodel.rst:1496 msgid "step (slice object attribute)" -msgstr "" +msgstr "step (χαρακτηριστικό αντικειμένου slice)" -#: reference/datamodel.rst:1784 +#: reference/datamodel.rst:1544 msgid "operator" -msgstr "" +msgstr "τελεστής" -#: reference/datamodel.rst:1784 +#: reference/datamodel.rst:1544 msgid "overloading" -msgstr "" +msgstr "υπερφόρτωση" -#: reference/datamodel.rst:1784 +#: reference/datamodel.rst:1544 msgid "__getitem__() (mapping object method)" -msgstr "" +msgstr "__getitem__() (μέθοδος αντικειμένου αντιστοίχισης)" -#: reference/datamodel.rst:1820 +#: reference/datamodel.rst:1580 msgid "subclassing" -msgstr "" +msgstr "δημιουργία υποκλάσης" -#: reference/datamodel.rst:1820 +#: reference/datamodel.rst:1580 msgid "immutable types" -msgstr "" +msgstr "αμετάβλητοι τύποι" -#: reference/datamodel.rst:1849 +#: reference/datamodel.rst:1609 msgid "constructor" -msgstr "" +msgstr "constructor" -#: reference/datamodel.rst:1866 +#: reference/datamodel.rst:1626 msgid "destructor" -msgstr "" +msgstr "destructor" -#: reference/datamodel.rst:1866 +#: reference/datamodel.rst:1626 msgid "finalizer" -msgstr "" +msgstr "διαχειριστής καταστροφής" -#: reference/datamodel.rst:1866 +#: reference/datamodel.rst:1626 msgid "del" -msgstr "" +msgstr "del" -#: reference/datamodel.rst:1930 +#: reference/datamodel.rst:1688 msgid "repr() (built-in function)" -msgstr "" +msgstr "repr() (ενσωματωμένη συνάρτηση)" -#: reference/datamodel.rst:1930 +#: reference/datamodel.rst:1688 msgid "__repr__() (object method)" -msgstr "" +msgstr "__repr__() (μέθοδος αντικειμένου)" -#: reference/datamodel.rst:1948 +#: reference/datamodel.rst:1705 msgid "__str__() (object method)" -msgstr "" +msgstr "__str__() (μέθοδος αντικειμένου)" -#: reference/datamodel.rst:1948 +#: reference/datamodel.rst:1705 msgid "format() (built-in function)" -msgstr "" +msgstr "format() (ενσωματωμένη συνάρτηση)" -#: reference/datamodel.rst:1948 +#: reference/datamodel.rst:1705 msgid "print() (built-in function)" -msgstr "" +msgstr "print() (ενσωματωμένη συνάρτηση)" -#: reference/datamodel.rst:1979 +#: reference/datamodel.rst:1735 msgid "__format__() (object method)" -msgstr "" +msgstr "__format__() (μέθοδος αντικειμένου)" -#: reference/datamodel.rst:1979 +#: reference/datamodel.rst:1735 msgid "conversion" -msgstr "" +msgstr "μετατροπή" -#: reference/datamodel.rst:1979 +#: reference/datamodel.rst:1735 msgid "print" -msgstr "" +msgstr "print" -#: reference/datamodel.rst:2021 +#: reference/datamodel.rst:1774 msgid "comparisons" -msgstr "" +msgstr "συγκρίσεις" -#: reference/datamodel.rst:2072 +#: reference/datamodel.rst:1819 msgid "hash" -msgstr "" +msgstr "hash" -#: reference/datamodel.rst:2153 +#: reference/datamodel.rst:1900 msgid "__len__() (mapping object method)" -msgstr "" +msgstr "__len__() (μέθοδος αντιστοίχισης αντικειμένου)" -#: reference/datamodel.rst:2258 +#: reference/datamodel.rst:2004 msgid "__getattr__ (module attribute)" -msgstr "" +msgstr "__getattr__ (χαρακτηριστικό module)" -#: reference/datamodel.rst:2258 +#: reference/datamodel.rst:2004 msgid "__dir__ (module attribute)" -msgstr "" +msgstr "__dir__ (χαρακτηριστικό module)" -#: reference/datamodel.rst:2258 +#: reference/datamodel.rst:2004 msgid "__class__ (module attribute)" -msgstr "" +msgstr "__class__ (χαρακτηριστικό module)" -#: reference/datamodel.rst:2629 +#: reference/datamodel.rst:2375 msgid "metaclass" -msgstr "" +msgstr "μετακλάση" -#: reference/datamodel.rst:2629 +#: reference/datamodel.rst:2375 msgid "= (equals)" -msgstr "" +msgstr "= (ισοδυναμεί)" -#: reference/datamodel.rst:2629 +#: reference/datamodel.rst:2375 msgid "class definition" -msgstr "" +msgstr "ορισμός κλάσης" -#: reference/datamodel.rst:2693 +#: reference/datamodel.rst:2439 msgid "metaclass hint" -msgstr "" +msgstr "υπόδειξη μετακλάσης" -#: reference/datamodel.rst:2716 +#: reference/datamodel.rst:2462 msgid "__prepare__ (metaclass method)" -msgstr "" +msgstr "__prepare__ (μέθοδος μετακλάσης)" -#: reference/datamodel.rst:2740 +#: reference/datamodel.rst:2486 msgid "body" -msgstr "" +msgstr "σώμα" -#: reference/datamodel.rst:2760 +#: reference/datamodel.rst:2506 msgid "__class__ (method cell)" -msgstr "" +msgstr "__class__ (κελί που περιέχει μέθοδο)" -#: reference/datamodel.rst:2760 +#: reference/datamodel.rst:2506 msgid "__classcell__ (class namespace entry)" -msgstr "" +msgstr "__classcell__ (καταχώρηση στο namespace της κλάσης)" -#: reference/datamodel.rst:3060 +#: reference/datamodel.rst:2804 msgid "__bool__() (object method)" -msgstr "" +msgstr "__bool__() (μέθοδος αντικειμένου)" -#: reference/datamodel.rst:3253 +#: reference/datamodel.rst:2997 msgid "divmod" -msgstr "" +msgstr "divmod" -#: reference/datamodel.rst:3253 reference/datamodel.rst:3267 +#: reference/datamodel.rst:2997 reference/datamodel.rst:3011 msgid "pow" -msgstr "" +msgstr "pow" -#: reference/datamodel.rst:3316 +#: reference/datamodel.rst:3060 msgid "abs" -msgstr "" +msgstr "abs" -#: reference/datamodel.rst:3326 +#: reference/datamodel.rst:3070 msgid "int" -msgstr "" +msgstr "int" -#: reference/datamodel.rst:3326 +#: reference/datamodel.rst:3070 msgid "float" -msgstr "" +msgstr "float" -#: reference/datamodel.rst:3354 +#: reference/datamodel.rst:3098 msgid "round" -msgstr "" +msgstr "round" -#: reference/datamodel.rst:3381 +#: reference/datamodel.rst:3125 msgid "with" -msgstr "" +msgstr "with" -#: reference/datamodel.rst:3381 +#: reference/datamodel.rst:3125 msgid "context manager" -msgstr "" +msgstr "διαχειριστής περιβάλλοντος"