# SOME DESCRIPTIVE TITLE.
# Copyright (C) 2001-2024, Python Software Foundation
# This file is distributed under the same license as the Python package.
# FIRST AUTHOR , YEAR.
#
#, fuzzy
msgid ""
msgstr ""
"Project-Id-Version: Python 3.12\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2025-12-04 09:48+0200\n"
"PO-Revision-Date: 2025-05-03 17: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.4.2\n"
#: tutorial/modules.rst:5
msgid "Modules"
msgstr "Modules"
#: tutorial/modules.rst:7
msgid ""
"If you quit from the Python interpreter and enter it again, the definitions "
"you have made (functions and variables) are lost. Therefore, if you want to "
"write a somewhat longer program, you are better off using a text editor to "
"prepare the input for the interpreter and running it with that file as input "
"instead. This is known as creating a *script*. As your program gets "
"longer, you may want to split it into several files for easier maintenance. "
"You may also want to use a handy function that you've written in several "
"programs without copying its definition into each program."
msgstr ""
"Εάν βγείτε από τον interpreter της Python και μπείτε ξανά, οι ορισμοί που "
"έχετε κάνει (συναρτήσεις και μεταβλητές) χάνονται. Επομένως, εάν θέλετε να "
"γράψετε ένα κάπως μεγαλύτερο πρόγραμμα, είναι προτιμότερο να χρησιμοποιήσετε "
"έναν επεξεργαστή κειμένου για να προετοιμάσετε την εισαγωγή για τον "
"interpreter και την εκτέλεση του με αυτό το αρχείο ως input. Αυτό είναι "
"γνωστό ως δημιουργία *script*. Καθώς το πρόγραμμα σας μεγαλώνει, μπορεί να "
"θέλετε να το χωρίσετε σε πολλά αρχεία για ευκολότερη συντήρηση. Μπορεί "
"επίσης να θέλετε να χρησιμοποιήσετε μια εύχρηστη συνάρτηση που έχετε γράψει "
"σε πολλά προγράμματα χωρίς να αντιγράψετε τον ορισμό της σε κάθε πρόγραμμα."
#: tutorial/modules.rst:16
msgid ""
"To support this, Python has a way to put definitions in a file and use them "
"in a script or in an interactive instance of the interpreter. Such a file is "
"called a *module*; definitions from a module can be *imported* into other "
"modules or into the *main* module (the collection of variables that you have "
"access to in a script executed at the top level and in calculator mode)."
msgstr ""
"Για να το υποστηρίξει αυτό, η Python έχει έναν τρόπο να βάζει ορισμούς σε "
"ένα αρχείο και να τους χρησιμοποιεί σε ένα script ή σε ένα διαδραστικό "
"instance του interpreter. Ένα τέτοιο αρχείο ονομάζεται *module*∙ ορισμοί "
"από μια ενότητα μπορούν να *εισαχθούν* σε άλλα modules ή στο *κύριο* module "
"(η συλλογή των μεταβλητών στις οποίες έχετε πρόσβαση σε ένα script που "
"εκτελείται στον ανώτερο επίπεδο και σε λειτουργία αριθμομηχανής)."
#: tutorial/modules.rst:22
msgid ""
"A module is a file containing Python definitions and statements. The file "
"name is the module name with the suffix :file:`.py` appended. Within a "
"module, the module's name (as a string) is available as the value of the "
"global variable ``__name__``. For instance, use your favorite text editor "
"to create a file called :file:`fibo.py` in the current directory with the "
"following contents::"
msgstr ""
"Ένα module είναι ένα αρχείο που περιέχει ορισμούς και δηλώσεις Python. Το "
"όνομα αρχείου είναι το όνομα του module με το επίθημα :file:`.py`. Μέσε σε "
"ένα module, το όνομα του module (ως συμβολοσειρά) είναι διαθέσιμο ως τιμή "
"της global μεταβλητής ``__name__``. Για παράδειγμα, χρησιμοποιήστε το "
"αγαπημένος σας πρόγραμμα επεξεργασίας κειμένου για να δημιουργήσετε ένα "
"αρχείο που ονομάζεται :file:`fibo.py` στον τρέχοντα κατάλογο με τα ακόλουθα "
"περιεχόμενα::"
#: tutorial/modules.rst:28
msgid ""
"# Fibonacci numbers module\n"
"\n"
"def fib(n):\n"
" \"\"\"Write Fibonacci series up to n.\"\"\"\n"
" a, b = 0, 1\n"
" while a < n:\n"
" print(a, end=' ')\n"
" a, b = b, a+b\n"
" print()\n"
"\n"
"def fib2(n):\n"
" \"\"\"Return Fibonacci series up to n.\"\"\"\n"
" result = []\n"
" a, b = 0, 1\n"
" while a < n:\n"
" result.append(a)\n"
" a, b = b, a+b\n"
" return result"
msgstr ""
"# Fibonacci numbers module\n"
"\n"
"def fib(n):\n"
" \"\"\"Write Fibonacci series up to n.\"\"\"\n"
" a, b = 0, 1\n"
" while a < n:\n"
" print(a, end=' ')\n"
" a, b = b, a+b\n"
" print()\n"
"\n"
"def fib2(n):\n"
" \"\"\"Return Fibonacci series up to n.\"\"\"\n"
" result = []\n"
" a, b = 0, 1\n"
" while a < n:\n"
" result.append(a)\n"
" a, b = b, a+b\n"
" return result"
#: tutorial/modules.rst:47
msgid ""
"Now enter the Python interpreter and import this module with the following "
"command::"
msgstr ""
"Τώρα εισάγετε τον Python interpreter και εισάγετε αυτό το module με την "
"ακόλουθη εντολή::"
#: tutorial/modules.rst:50
msgid ">>> import fibo"
msgstr ">>> import fibo"
#: tutorial/modules.rst:52
msgid ""
"This does not add the names of the functions defined in ``fibo`` directly "
"to the current :term:`namespace` (see :ref:`tut-scopes` for more details); "
"it only adds the module name ``fibo`` there. Using the module name you can "
"access the functions::"
msgstr ""
"Αυτό δεν προσθέτει τα ονόματα των συναρτήσεων που ορίζονται στο ``fibo`` "
"απευθείας στον τρέχοντα :term:`namespace` (βλ. :ref:`tut-scopes` για "
"περισσότερες λεπτομέρειες): προσθέτει μόνο το όνομα του module ``fibo`` "
"εκεί. Χρησιμοποιώντας το όνομα του module μπορείτε να αποκτήσετε πρόσβαση "
"στις λειτουργίες::"
#: tutorial/modules.rst:57
msgid ""
">>> fibo.fib(1000)\n"
"0 1 1 2 3 5 8 13 21 34 55 89 144 233 377 610 987\n"
">>> fibo.fib2(100)\n"
"[0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89]\n"
">>> fibo.__name__\n"
"'fibo'"
msgstr ""
">>> fibo.fib(1000)\n"
"0 1 1 2 3 5 8 13 21 34 55 89 144 233 377 610 987\n"
">>> fibo.fib2(100)\n"
"[0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89]\n"
">>> fibo.__name__\n"
"'fibo'"
#: tutorial/modules.rst:64
msgid ""
"If you intend to use a function often you can assign it to a local name::"
msgstr ""
"Εάν σκοπεύετε να χρησιμοποιείτε συχνά μια συνάρτηση, μπορείτε να την "
"αντιστοιχίσετε σε ένα τοπικό όνομα::"
#: tutorial/modules.rst:66
msgid ""
">>> fib = fibo.fib\n"
">>> fib(500)\n"
"0 1 1 2 3 5 8 13 21 34 55 89 144 233 377"
msgstr ""
">>> fib = fibo.fib\n"
">>> fib(500)\n"
"0 1 1 2 3 5 8 13 21 34 55 89 144 233 377"
#: tutorial/modules.rst:74
msgid "More on Modules"
msgstr "Περισσότερα για τα Modules"
#: tutorial/modules.rst:76
msgid ""
"A module can contain executable statements as well as function definitions. "
"These statements are intended to initialize the module. They are executed "
"only the *first* time the module name is encountered in an import statement. "
"[#]_ (They are also run if the file is executed as a script.)"
msgstr ""
"Ένα module μπορεί να περιέχει εκτελέσιμες δηλώσεις καθώς και ορισμούς "
"συναρτήσεων. Αυτές οι δηλώσεις προορίζονται για την προετοιμασία του module. "
"Εκτελούνται μόνο την *πρώτη* φορά που εμφανίζεται το όνομα του module σε μια "
"δήλωση εισαγωγής. [#]_ (Εκτελούνται επίσης εάν το αρχείο εκτελείται ως "
"script.)"
#: tutorial/modules.rst:81
msgid ""
"Each module has its own private namespace, which is used as the global "
"namespace by all functions defined in the module. Thus, the author of a "
"module can use global variables in the module without worrying about "
"accidental clashes with a user's global variables. On the other hand, if you "
"know what you are doing you can touch a module's global variables with the "
"same notation used to refer to its functions, ``modname.itemname``."
msgstr ""
"Κάθε module έχει τον δικό της ιδιωτικό namespace, ο οποίος χρησιμοποιείται "
"ως global namespace από όλες τις συναρτήσεις που ορίζονται στο module. Έτσι, "
"ο συντάκτης μιας ενότητας μπορεί να χρησιμοποιήσει global μεταβλητές στο "
"module χωρίς να ανησυχεί για τυχαία conflicts με τις global μεταβλητές του "
"χρήστη. Από την άλλη πλευρά, εάν ξέρετε τι κάνετε, μπορείτε να αγγίξετε τις "
"global μεταβλητές ενός module με το ίδιο notation που χρησιμοποιείται για να "
"αναφέρεται στις συναρτήσεις, ``modname.itemname``."
#: tutorial/modules.rst:88
msgid ""
"Modules can import other modules. It is customary but not required to place "
"all :keyword:`import` statements at the beginning of a module (or script, "
"for that matter). The imported module names, if placed at the top level of "
"a module (outside any functions or classes), are added to the module's "
"global namespace."
msgstr ""
"Τα modules μπορούν να εισάγουν άλλα modules. Είναι σύνηθες, αλλά δεν "
"απαιτείται να τοποθετούνται όλες οι δηλώσεις :keyword:`import` στην αρχή "
"μιας ενότητα (ή σεναρίου, για αυτό το θέμα). Τα ονόματα των modules που "
"εισάγονται, εάν τοποθετούνται στο ανώτερο επίπεδο του ένα module (εκτός "
"οποιωνδήποτε συναρτήσεων ή κλάσεων), προστίθενται στον global namespace του "
"module."
#: tutorial/modules.rst:93
msgid ""
"There is a variant of the :keyword:`import` statement that imports names "
"from a module directly into the importing module's namespace. For example::"
msgstr ""
"Υπάρχει μια παραλλαγή της δήλωσης :keyword:`import` που εισάγει ονόματα από "
"ένα module απευθείας στον χώρο στα importing module's namespace. Για "
"παράδειγμα::"
#: tutorial/modules.rst:96
msgid ""
">>> from fibo import fib, fib2\n"
">>> fib(500)\n"
"0 1 1 2 3 5 8 13 21 34 55 89 144 233 377"
msgstr ""
">>> from fibo import fib, fib2\n"
">>> fib(500)\n"
"0 1 1 2 3 5 8 13 21 34 55 89 144 233 377"
#: tutorial/modules.rst:100
msgid ""
"This does not introduce the module name from which the imports are taken in "
"the local namespace (so in the example, ``fibo`` is not defined)."
msgstr ""
"Αυτό δεν εισάγει το όνομα ενός module από το οποίο λαμβάνονται οι εισαγωγές "
"στο τοπικό namespace (αρά στο παράδειγμα, το ``fibo`` δεν ορίζεται)."
#: tutorial/modules.rst:103
msgid "There is even a variant to import all names that a module defines::"
msgstr ""
"Υπάρχει ακόμη και μια παραλλαγή για την εισαγωγή όλων των ονομάτων που "
"ορίζει μια ενότητα::"
#: tutorial/modules.rst:105
msgid ""
">>> from fibo import *\n"
">>> fib(500)\n"
"0 1 1 2 3 5 8 13 21 34 55 89 144 233 377"
msgstr ""
">>> from fibo import *\n"
">>> fib(500)\n"
"0 1 1 2 3 5 8 13 21 34 55 89 144 233 377"
#: tutorial/modules.rst:109
msgid ""
"This imports all names except those beginning with an underscore (``_``). In "
"most cases Python programmers do not use this facility since it introduces "
"an unknown set of names into the interpreter, possibly hiding some things "
"you have already defined."
msgstr ""
"Αυτό εισάγει όλα τα ονόματα εκτός από αυτά που ξεκινούν με κάτω παύλα "
"(``_``). Στις περισσότερες περιπτώσεις, οι προγραμματιστές Python δεν "
"χρησιμοποιούν αυτήν την δυνατότητα , καθώς εισάγει ένα άγνωστο σύνολο "
"ονομάτων στον interpreter, κρύβοντας πιθανώς κάποια πράγματα που έχετε ήδη "
"ορίσει."
#: tutorial/modules.rst:114
msgid ""
"Note that in general the practice of importing ``*`` from a module or "
"package is frowned upon, since it often causes poorly readable code. "
"However, it is okay to use it to save typing in interactive sessions."
msgstr ""
"Λάβετε υπόψη ότι γενικά η πρακτική της εισαγωγής ``*`` από ένα module ή ένα "
"πακέτο αποδοκιμάζεται, καθώς προκαλεί συχνά κακώς αναγνώσιμο κώδικα. Ωστόσο, "
"είναι εντάξει να τον χρησιμοποιήσετε για να αποθηκεύσετε την πληκτρολόγηση "
"σε διαδραστικές περιόδους σύνδεσης."
#: tutorial/modules.rst:118
msgid ""
"If the module name is followed by :keyword:`!as`, then the name following :"
"keyword:`!as` is bound directly to the imported module."
msgstr ""
"Εάν το όνομα του module ακολουθείται από :keyword:`!as`, τότε το όνομα που "
"ακολουθεί :keyword:`!as` συνδέεται απευθείας με το εισαγόμενο module."
#: tutorial/modules.rst:123
msgid ""
">>> import fibo as fib\n"
">>> fib.fib(500)\n"
"0 1 1 2 3 5 8 13 21 34 55 89 144 233 377"
msgstr ""
">>> import fibo as fib\n"
">>> fib.fib(500)\n"
"0 1 1 2 3 5 8 13 21 34 55 89 144 233 377"
#: tutorial/modules.rst:127
msgid ""
"This is effectively importing the module in the same way that ``import "
"fibo`` will do, with the only difference of it being available as ``fib``."
msgstr ""
"Αυτό ουσιαστικά εισάγει το module με τον ίδιο τρόπο που θα κάνει το ``import "
"fibo`` , με τη μόνη διαφορά ότι είναι διαθέσιμο ως ``fib``."
#: tutorial/modules.rst:130
msgid ""
"It can also be used when utilising :keyword:`from` with similar effects::"
msgstr ""
"Μπορεί επίσης να χρησιμοποιηθεί όταν χρησιμοποιείτε :keyword:`from` με "
"παρόμοια εφέ::"
#: tutorial/modules.rst:132
msgid ""
">>> from fibo import fib as fibonacci\n"
">>> fibonacci(500)\n"
"0 1 1 2 3 5 8 13 21 34 55 89 144 233 377"
msgstr ""
">>> from fibo import fib as fibonacci\n"
">>> fibonacci(500)\n"
"0 1 1 2 3 5 8 13 21 34 55 89 144 233 377"
#: tutorial/modules.rst:139
msgid ""
"For efficiency reasons, each module is only imported once per interpreter "
"session. Therefore, if you change your modules, you must restart the "
"interpreter -- or, if it's just one module you want to test interactively, "
"use :func:`importlib.reload`, e.g. ``import importlib; importlib."
"reload(modulename)``."
msgstr ""
"Για λόγους αποτελεσματικότητας, κάθε module εισάγεται μόνο μία φορά ανά "
"περίοδο λειτουργίες του interpreter. Επομένως, εάν αλλάξετε τα modules σας, "
"πρέπει να επανεκκινήσετε τον διερμηνέα -- ή, εάν είναι μόνο ένα module που "
"θέλετε να δοκιμάσετε διαδραστικά, χρησιμοποιήστε το :func:`importlib."
"reload`, π.χ. ``import importlib; importlib.reload(modulename)``."
#: tutorial/modules.rst:149
msgid "Executing modules as scripts"
msgstr "Εκτέλεση modules ως scripts"
#: tutorial/modules.rst:151
msgid "When you run a Python module with ::"
msgstr "Όταν εκτελείτε ένα Python module με::"
#: tutorial/modules.rst:153
msgid "python fibo.py "
msgstr "python fibo.py "
#: tutorial/modules.rst:155
msgid ""
"the code in the module will be executed, just as if you imported it, but "
"with the ``__name__`` set to ``\"__main__\"``. That means that by adding "
"this code at the end of your module::"
msgstr ""
"ο κώδικας στο module θα εκτελεστεί, ακριβώς σαν να τον εισαγάγετε, αλλά με "
"το ``name`` να έχει οριστεί σε ``\"__main__\"``. Αυτό σημαίνει ότι "
"προσθέτοντας αυτόν τον κώδικα στο τέλος του module σας::"
#: tutorial/modules.rst:159
msgid ""
"if __name__ == \"__main__\":\n"
" import sys\n"
" fib(int(sys.argv[1]))"
msgstr ""
"if __name__ == \"__main__\":\n"
" import sys\n"
" fib(int(sys.argv[1]))"
#: tutorial/modules.rst:163
msgid ""
"you can make the file usable as a script as well as an importable module, "
"because the code that parses the command line only runs if the module is "
"executed as the \"main\" file:"
msgstr ""
"μπορείτε να κάνετε το αρχείο χρησιμοποιήσιμο ως script καθώς και ως module "
"που μπορεί να εισαχθεί, επειδή ο κώδικας που αναλύει την γραμμή εντολών "
"εκτελείται μόνο εάν το module εκτελείται ως το \"main\" αρχείο:"
#: tutorial/modules.rst:167
msgid ""
"$ python fibo.py 50\n"
"0 1 1 2 3 5 8 13 21 34"
msgstr ""
"$ python fibo.py 50\n"
"0 1 1 2 3 5 8 13 21 34"
#: tutorial/modules.rst:172
msgid "If the module is imported, the code is not run::"
msgstr "Εάν το module έχει εισαχθεί, ο κώδικας δεν εκτελείται::"
#: tutorial/modules.rst:174
msgid ""
">>> import fibo\n"
">>>"
msgstr ""
">>> import fibo\n"
">>>"
#: tutorial/modules.rst:177
msgid ""
"This is often used either to provide a convenient user interface to a "
"module, or for testing purposes (running the module as a script executes a "
"test suite)."
msgstr ""
"Αυτό χρησιμοποιείται συχνά είτε για την παροχή ενός βολικού user interface "
"σε ένα module, είτε για σκοπούς δοκιμής (η εκτέλεση του module ως script "
"εκτελεί μια δοκιμαστική σουίτα)."
#: tutorial/modules.rst:184
msgid "The Module Search Path"
msgstr "Το Search Path του Module"
#: tutorial/modules.rst:188
msgid ""
"When a module named :mod:`!spam` is imported, the interpreter first searches "
"for a built-in module with that name. These module names are listed in :data:"
"`sys.builtin_module_names`. If not found, it then searches for a file named :"
"file:`spam.py` in a list of directories given by the variable :data:`sys."
"path`. :data:`sys.path` is initialized from these locations:"
msgstr ""
"Όταν εισάγετε ένα module με το όνομα :mod:`!spam`, ο interpreter αναζητά "
"πρώτα ένα ενσωματωμένο module με αυτό το όνομα. Αυτά τα ονόματα των module "
"παρατίθενται στο :data:`sys.builtin_module_names`. Εάν δεν βρεθεί, τότε "
"αναζητά ένα αρχείο με το όνομα :file:`spam.py` σε μια λίστα καταλόγων που "
"δίνονται από τη μεταβλητή :data:`sys.path`. Το :data:`sys.path` "
"αρχικοποιείται από αυτές τις θέσεις:"
#: tutorial/modules.rst:194
msgid ""
"The directory containing the input script (or the current directory when no "
"file is specified)."
msgstr ""
"Ο κατάλογος που περιέχει το input script (ή τον τρέχοντα κατάλογο όταν δεν "
"έχει καθοριστεί αρχείο)."
#: tutorial/modules.rst:196
msgid ""
":envvar:`PYTHONPATH` (a list of directory names, with the same syntax as the "
"shell variable :envvar:`PATH`)."
msgstr ""
":envvar:`PYTHONPATH` (μια λίστα ονομάτων καταλόγου, με την ίδια σύνταξη με "
"τη μεταβλητή του shell :envvar:`PATH`)."
#: tutorial/modules.rst:198
msgid ""
"The installation-dependent default (by convention including a ``site-"
"packages`` directory, handled by the :mod:`site` module)."
msgstr ""
"Η προεπιλογή που εξαρτάται από την εγκατάσταση (κατά σύμβαση, "
"συμπεριλαμβανομένου ενός καταλόγου ``site-packages``, που χειρίζεται το "
"module :mod:`site`."
#: tutorial/modules.rst:201
msgid "More details are at :ref:`sys-path-init`."
msgstr "Περισσότερες λεπτομέρειες βρίσκονται στο :ref:`sys-path-init`."
#: tutorial/modules.rst:204
msgid ""
"On file systems which support symlinks, the directory containing the input "
"script is calculated after the symlink is followed. In other words the "
"directory containing the symlink is **not** added to the module search path."
msgstr ""
"Στα συστήματα αρχείων που υποστηρίζουν symlinks, ο κατάλογο που περιέχει το "
"input script υπολογίζεται αφού ακολουθηθεί το symlink. Με άλλα λόγια, ο "
"κατάλογος που περιέχει το symlink **δεν** προστίθεται στη διαδρομή "
"αναζήτησης του module."
#: tutorial/modules.rst:208
msgid ""
"After initialization, Python programs can modify :data:`sys.path`. The "
"directory containing the script being run is placed at the beginning of the "
"search path, ahead of the standard library path. This means that scripts in "
"that directory will be loaded instead of modules of the same name in the "
"library directory. This is an error unless the replacement is intended. See "
"section :ref:`tut-standardmodules` for more information."
msgstr ""
"Μετά την προετοιμασία, τα προγράμματα Python μπορούν να τροποποιήσουν το :"
"data:`sys.path`. Ο κατάλογος που περιέχει το script που εκτελείται "
"τοποθετείται στην αρχή της διαδρομής αναζήτησης , μπροστά από την τυπική "
"διαδρομή της βιβλιοθήκης. Αυτό σημαίνει ότι τα scripts σε αυτόν τον κατάλογο "
"θα είναι φορτωμένα αντί για τα modules με το ίδιο όνομα στον κατάλογο μιας "
"βιβλιοθήκης. Αυτό είναι ένα σφάλμα, εκτός εάν προορίζεται η αντικατάσταση. "
"Βλ. την ενότητα :ref:`tut-standardmodules` για περισσότερες πληροφορίες."
#: tutorial/modules.rst:221
msgid "\"Compiled\" Python files"
msgstr "\"Compiled\" Python αρχεία"
#: tutorial/modules.rst:223
msgid ""
"To speed up loading modules, Python caches the compiled version of each "
"module in the ``__pycache__`` directory under the name :file:`module."
"{version}.pyc`, where the version encodes the format of the compiled file; "
"it generally contains the Python version number. For example, in CPython "
"release 3.3 the compiled version of spam.py would be cached as ``__pycache__/"
"spam.cpython-33.pyc``. This naming convention allows compiled modules from "
"different releases and different versions of Python to coexist."
msgstr ""
"Για να επιταχύνει τη φόρτωση modules, η Python κάνει cache την compiled "
"έκδοση κάθε module στον κατάλογο ``__pycache__`` κάτω από το όνομα :file:"
"`module.{version}.pyc`, όπου η έκδοση κωδικοποιεί τη μορφή του compiled "
"αρχείου∙ γενικά περιέχει τον αριθμό έκδοσης της Python. Για παράδειγμα, "
"στην έκδοση CPython 3.3 η compiled έκδοση του spam.py θα αποθηκευτεί ως "
"``__pycache__/spam.cpython-33.pyc``. Αυτή η σύμβαση ονομασίας, επιτρέπει σε "
"compiled modules από διαφορετικές εκδόσεις και διαφορετικές εκδόσεις της "
"Python να συνυπάρχουν."
#: tutorial/modules.rst:231
msgid ""
"Python checks the modification date of the source against the compiled "
"version to see if it's out of date and needs to be recompiled. This is a "
"completely automatic process. Also, the compiled modules are platform-"
"independent, so the same library can be shared among systems with different "
"architectures."
msgstr ""
"Η Python ελέγχει την ημερομηνία τροποποίησης του πηγαίου έναντι της compiled "
"έκδοσης για να δει εάν είναι ξεπερασμένη και χρειάζεται να γίνει compile "
"ξανά. Αυτή είναι μια εντελώς αυτόματη διαδικασία. Επίσης, τα compiled "
"modules είναι ανεξάρτητες από πλατφόρμα, επομένως η ίδια βιβλιοθήκη μπορεί "
"να κοινοποιηθεί ανάμεσα σε συστήματα με διαφορετικές αρχιτεκτονικές."
#: tutorial/modules.rst:236
msgid ""
"Python does not check the cache in two circumstances. First, it always "
"recompiles and does not store the result for the module that's loaded "
"directly from the command line. Second, it does not check the cache if "
"there is no source module. To support a non-source (compiled only) "
"distribution, the compiled module must be in the source directory, and there "
"must not be a source module."
msgstr ""
"Η Python δεν ελέγχει την cache σε δύο περιπτώσεις. Πρώτον, πάντα κάνει "
"compile ξανά και δεν αποθηκεύει το αποτέλεσμα για το module που φορτώνεται "
"απευθείας από τη γραμμή εντολών. Δεύτερον, δεν ελέγχει τη μνήμη cache εάν "
"δεν υπάρχει το source module. Για να υποστηρίξετε μια διανομή χωρίς πηγαίο "
"(compiled μόνο), το compiled module πρέπει να βρίσκεται στον source κατάλογο "
"και δεν πρέπει να υπάρχει source module."
#: tutorial/modules.rst:243
msgid "Some tips for experts:"
msgstr "Μερικές συμβουλές για ειδικούς:"
#: tutorial/modules.rst:245
msgid ""
"You can use the :option:`-O` or :option:`-OO` switches on the Python command "
"to reduce the size of a compiled module. The ``-O`` switch removes assert "
"statements, the ``-OO`` switch removes both assert statements and __doc__ "
"strings. Since some programs may rely on having these available, you should "
"only use this option if you know what you're doing. \"Optimized\" modules "
"have an ``opt-`` tag and are usually smaller. Future releases may change "
"the effects of optimization."
msgstr ""
"Μπορείτε να χρησιμοποιήσετε τους switches :option:`-O` ή :option:`-OO` στην "
"εντολή Python για να μειώσετε το μέγεθος ενός compiled module. Το ``-O`` "
"switch αφαιρεί τις assert statements, το ``-OO`` switch αφαιρεί τόσο τα "
"assert statements όσο και τις __doc__ συμβολοσειρές . Εφόσον ορισμένα "
"προγράμματα μπορεί να βασίζονται στην ύπαρξη αυτών των διαθέσιμων, θα πρέπει "
"να χρησιμοποιήσετε αυτήν την επιλογή μόνο εάν γνωρίζετε τι κάνετε. "
"\"Optimized\" modules έχουν ένα ``opt-`` tag και είναι συνήθως μικρότερες. "
"Οι μελλοντικές εκδόσεις μπορεί να αλλάξουν τα αποτελέσματα της "
"βελτιστοποίησης."
#: tutorial/modules.rst:253
msgid ""
"A program doesn't run any faster when it is read from a ``.pyc`` file than "
"when it is read from a ``.py`` file; the only thing that's faster about ``."
"pyc`` files is the speed with which they are loaded."
msgstr ""
"Ένα πρόγραμμα δεν εκτελείται πιο γρήγορα όταν διαβάζεται από ένα αρχείο ``."
"pyc`` από ό,τι όταν διαβάζεται από ένα αρχείο ``.py`` ∙ το μόνο πράγμα που "
"είναι πιο γρήγορο από τα αρχεία ``.pyc`` είναι η ταχύτητα με την οποία "
"φορτώνονται."
#: tutorial/modules.rst:257
msgid ""
"The module :mod:`compileall` can create .pyc files for all modules in a "
"directory."
msgstr ""
"Το module :mod:`compileall` μπορεί να δημιουργήσει αρχεία .pyc για όλα τα "
"modules σε ένα κατάλογο."
#: tutorial/modules.rst:260
msgid ""
"There is more detail on this process, including a flow chart of the "
"decisions, in :pep:`3147`."
msgstr ""
"Υπάρχουν περισσότερες λεπτομέρειες σχετικά με αυτή τη διαδικασία, "
"συμπεριλαμβανομένου ενός διαγράμματος ροής των αποφάσεων, στο :pep:`3147`."
#: tutorial/modules.rst:267
msgid "Standard Modules"
msgstr "Standard Modules"
#: tutorial/modules.rst:271
msgid ""
"Python comes with a library of standard modules, described in a separate "
"document, the Python Library Reference (\"Library Reference\" hereafter). "
"Some modules are built into the interpreter; these provide access to "
"operations that are not part of the core of the language but are "
"nevertheless built in, either for efficiency or to provide access to "
"operating system primitives such as system calls. The set of such modules "
"is a configuration option which also depends on the underlying platform. "
"For example, the :mod:`winreg` module is only provided on Windows systems. "
"One particular module deserves some attention: :mod:`sys`, which is built "
"into every Python interpreter. The variables ``sys.ps1`` and ``sys.ps2`` "
"define the strings used as primary and secondary prompts::"
msgstr ""
"Η Python συνοδεύεται από μια βιβλιοθήκη standard modules, η οποία "
"περιγράφεται σε ένα ξεχωριστό έγγραφο, την Αναφορά Βιβλιοθήκης Python "
"(\"Library Reference\" hereafter). Ορισμένα modules είναι ενσωματωμένα στον "
"interpreter∙ αυτές παρέχουν πρόσβαση σε λειτουργίες που δεν αποτελούν μέρος "
"του πυρήνα της γλώσσας, αλλά εντούτοις είναι ενσωματωμένα, είτε για "
"αποτελεσματικότητα είτε για την παροχή πρόσβασης σε πρωτόγονα στοιχεία του "
"λειτουργικού συστήματος όπως οι κλήσεις συστήματος. Το σύνολο τέτοιων "
"modules είναι μια επιλογή διαμόρφωσης που εξαρτάται επίσης από την "
"υποκείμενη πλατφόρμα. Για παράδειγμα, το module :mod:`winreg` παρέχεται "
"μόνο σε συστήματα Windows. Ένα συγκεκριμένο module που αξίζει κάποια "
"προσοχή είναι το :mod:`sys`, το οποίο είναι ενσωματωμένο στον interpreter "
"της Python. Οι μεταβλητές ``sys.ps1`` και ``sys.ps2`` ορίζουν τις "
"συμβολοσειρές που χρησιμοποιούνται ως κύρια και δευτερεύοντα prompts::"
#: tutorial/modules.rst:283
msgid ""
">>> import sys\n"
">>> sys.ps1\n"
"'>>> '\n"
">>> sys.ps2\n"
"'... '\n"
">>> sys.ps1 = 'C> '\n"
"C> print('Yuck!')\n"
"Yuck!\n"
"C>"
msgstr ""
">>> import sys\n"
">>> sys.ps1\n"
"'>>> '\n"
">>> sys.ps2\n"
"'... '\n"
">>> sys.ps1 = 'C> '\n"
"C> print('Yuck!')\n"
"Yuck!\n"
"C>"
#: tutorial/modules.rst:294
msgid ""
"These two variables are only defined if the interpreter is in interactive "
"mode."
msgstr ""
"Αυτές οι δύο μεταβλητές ορίζονται μόνο εάν ο interpreter βρίσκεται σε "
"διαδραστική λειτουργία."
#: tutorial/modules.rst:296
msgid ""
"The variable ``sys.path`` is a list of strings that determines the "
"interpreter's search path for modules. It is initialized to a default path "
"taken from the environment variable :envvar:`PYTHONPATH`, or from a built-in "
"default if :envvar:`PYTHONPATH` is not set. You can modify it using "
"standard list operations::"
msgstr ""
"Η μεταβλητή ``sys.path`` είναι μια λίστα συμβολοσειρών που καθορίζει τη "
"διαδρομή αναζήτησης του διερμηνέα για modules. Αρχικοποιείται σε μια "
"προεπιλεγμένη διαδρομή που λαμβάνεται από τη μεταβλητή περιβάλλοντος :envvar:"
"`PYTHONPATH`, ή από μια ενσωματωμένη προεπιλογή εάν το :envvar:`PYTHONPATH` "
"δεν έχει οριστεί. Μπορείτε να το τροποποιήσετε χρησιμοποιώντας τυπικές "
"λειτουργίες λίστας::"
#: tutorial/modules.rst:302
msgid ""
">>> import sys\n"
">>> sys.path.append('/ufs/guido/lib/python')"
msgstr ""
">>> import sys\n"
">>> sys.path.append('/ufs/guido/lib/python')"
#: tutorial/modules.rst:309
msgid "The :func:`dir` Function"
msgstr "Η συνάρτηση :func:`dir`"
#: tutorial/modules.rst:311
msgid ""
"The built-in function :func:`dir` is used to find out which names a module "
"defines. It returns a sorted list of strings::"
msgstr ""
"Η ενσωματωμένη συνάρτηση :func:`dir` χρησιμοποιείται για να ανακαλύψει ποια "
"ονόματα ορίζει ένα module. Επιστρέφει μια ταξινομημένη λίστα συμβολοσειρών::"
#: tutorial/modules.rst:314
msgid ""
">>> import fibo, sys\n"
">>> dir(fibo)\n"
"['__name__', 'fib', 'fib2']\n"
">>> dir(sys)\n"
"['__breakpointhook__', '__displayhook__', '__doc__', '__excepthook__',\n"
" '__interactivehook__', '__loader__', '__name__', '__package__', "
"'__spec__',\n"
" '__stderr__', '__stdin__', '__stdout__', '__unraisablehook__',\n"
" '_clear_type_cache', '_current_frames', '_debugmallocstats', '_framework',\n"
" '_getframe', '_git', '_home', '_xoptions', 'abiflags', 'addaudithook',\n"
" 'api_version', 'argv', 'audit', 'base_exec_prefix', 'base_prefix',\n"
" 'breakpointhook', 'builtin_module_names', 'byteorder', 'call_tracing',\n"
" 'callstats', 'copyright', 'displayhook', 'dont_write_bytecode', "
"'exc_info',\n"
" 'excepthook', 'exec_prefix', 'executable', 'exit', 'flags', 'float_info',\n"
" 'float_repr_style', 'get_asyncgen_hooks', "
"'get_coroutine_origin_tracking_depth',\n"
" 'getallocatedblocks', 'getdefaultencoding', 'getdlopenflags',\n"
" 'getfilesystemencodeerrors', 'getfilesystemencoding', 'getprofile',\n"
" 'getrecursionlimit', 'getrefcount', 'getsizeof', 'getswitchinterval',\n"
" 'gettrace', 'hash_info', 'hexversion', 'implementation', 'int_info',\n"
" 'intern', 'is_finalizing', 'last_traceback', 'last_type', 'last_value',\n"
" 'maxsize', 'maxunicode', 'meta_path', 'modules', 'path', 'path_hooks',\n"
" 'path_importer_cache', 'platform', 'prefix', 'ps1', 'ps2', "
"'pycache_prefix',\n"
" 'set_asyncgen_hooks', 'set_coroutine_origin_tracking_depth', "
"'setdlopenflags',\n"
" 'setprofile', 'setrecursionlimit', 'setswitchinterval', 'settrace', "
"'stderr',\n"
" 'stdin', 'stdout', 'thread_info', 'unraisablehook', 'version', "
"'version_info',\n"
" 'warnoptions']"
msgstr ""
">>> import fibo, sys\n"
">>> dir(fibo)\n"
"['__name__', 'fib', 'fib2']\n"
">>> dir(sys)\n"
"['__breakpointhook__', '__displayhook__', '__doc__', '__excepthook__',\n"
" '__interactivehook__', '__loader__', '__name__', '__package__', "
"'__spec__',\n"
" '__stderr__', '__stdin__', '__stdout__', '__unraisablehook__',\n"
" '_clear_type_cache', '_current_frames', '_debugmallocstats', '_framework',\n"
" '_getframe', '_git', '_home', '_xoptions', 'abiflags', 'addaudithook',\n"
" 'api_version', 'argv', 'audit', 'base_exec_prefix', 'base_prefix',\n"
" 'breakpointhook', 'builtin_module_names', 'byteorder', 'call_tracing',\n"
" 'callstats', 'copyright', 'displayhook', 'dont_write_bytecode', "
"'exc_info',\n"
" 'excepthook', 'exec_prefix', 'executable', 'exit', 'flags', 'float_info',\n"
" 'float_repr_style', 'get_asyncgen_hooks', "
"'get_coroutine_origin_tracking_depth',\n"
" 'getallocatedblocks', 'getdefaultencoding', 'getdlopenflags',\n"
" 'getfilesystemencodeerrors', 'getfilesystemencoding', 'getprofile',\n"
" 'getrecursionlimit', 'getrefcount', 'getsizeof', 'getswitchinterval',\n"
" 'gettrace', 'hash_info', 'hexversion', 'implementation', 'int_info',\n"
" 'intern', 'is_finalizing', 'last_traceback', 'last_type', 'last_value',\n"
" 'maxsize', 'maxunicode', 'meta_path', 'modules', 'path', 'path_hooks',\n"
" 'path_importer_cache', 'platform', 'prefix', 'ps1', 'ps2', "
"'pycache_prefix',\n"
" 'set_asyncgen_hooks', 'set_coroutine_origin_tracking_depth', "
"'setdlopenflags',\n"
" 'setprofile', 'setrecursionlimit', 'setswitchinterval', 'settrace', "
"'stderr',\n"
" 'stdin', 'stdout', 'thread_info', 'unraisablehook', 'version', "
"'version_info',\n"
" 'warnoptions']"
#: tutorial/modules.rst:340
msgid ""
"Without arguments, :func:`dir` lists the names you have defined currently::"
msgstr ""
"Χωρίς ορίσματα, η :func:`dir` παραθέτει τα ονόματα που έχετε ορίσει αυτήν τη "
"στιγμή::"
#: tutorial/modules.rst:342
msgid ""
">>> a = [1, 2, 3, 4, 5]\n"
">>> import fibo\n"
">>> fib = fibo.fib\n"
">>> dir()\n"
"['__builtins__', '__name__', 'a', 'fib', 'fibo', 'sys']"
msgstr ""
">>> a = [1, 2, 3, 4, 5]\n"
">>> import fibo\n"
">>> fib = fibo.fib\n"
">>> dir()\n"
"['__builtins__', '__name__', 'a', 'fib', 'fibo', 'sys']"
#: tutorial/modules.rst:348
msgid ""
"Note that it lists all types of names: variables, modules, functions, etc."
msgstr ""
"Λάβετε υπόψη ότι παραθέτει όλους τους τύπους ονομάτων: μεταβλητές, modules, "
"συναρτήσεις, κ.λπ."
#: tutorial/modules.rst:352
msgid ""
":func:`dir` does not list the names of built-in functions and variables. If "
"you want a list of those, they are defined in the standard module :mod:"
"`builtins`::"
msgstr ""
"Η :func:`dir` δεν παραθέτει τα ονόματα των ενσωματωμένων συναρτήσεων και "
"μεταβλητών. Εάν θέλετε μια λίστα από αυτές, ορίζονται στην τυπική ενότητα :"
"mod:`builtins`::"
#: tutorial/modules.rst:356
msgid ""
">>> import builtins\n"
">>> dir(builtins)\n"
"['ArithmeticError', 'AssertionError', 'AttributeError', 'BaseException',\n"
" 'BlockingIOError', 'BrokenPipeError', 'BufferError', 'BytesWarning',\n"
" 'ChildProcessError', 'ConnectionAbortedError', 'ConnectionError',\n"
" 'ConnectionRefusedError', 'ConnectionResetError', 'DeprecationWarning',\n"
" 'EOFError', 'Ellipsis', 'EnvironmentError', 'Exception', 'False',\n"
" 'FileExistsError', 'FileNotFoundError', 'FloatingPointError',\n"
" 'FutureWarning', 'GeneratorExit', 'IOError', 'ImportError',\n"
" 'ImportWarning', 'IndentationError', 'IndexError', 'InterruptedError',\n"
" 'IsADirectoryError', 'KeyError', 'KeyboardInterrupt', 'LookupError',\n"
" 'MemoryError', 'NameError', 'None', 'NotADirectoryError', "
"'NotImplemented',\n"
" 'NotImplementedError', 'OSError', 'OverflowError',\n"
" 'PendingDeprecationWarning', 'PermissionError', 'ProcessLookupError',\n"
" 'ReferenceError', 'ResourceWarning', 'RuntimeError', 'RuntimeWarning',\n"
" 'StopIteration', 'SyntaxError', 'SyntaxWarning', 'SystemError',\n"
" 'SystemExit', 'TabError', 'TimeoutError', 'True', 'TypeError',\n"
" 'UnboundLocalError', 'UnicodeDecodeError', 'UnicodeEncodeError',\n"
" 'UnicodeError', 'UnicodeTranslateError', 'UnicodeWarning', 'UserWarning',\n"
" 'ValueError', 'Warning', 'ZeroDivisionError', '_', '__build_class__',\n"
" '__debug__', '__doc__', '__import__', '__name__', '__package__', 'abs',\n"
" 'all', 'any', 'ascii', 'bin', 'bool', 'bytearray', 'bytes', 'callable',\n"
" 'chr', 'classmethod', 'compile', 'complex', 'copyright', 'credits',\n"
" 'delattr', 'dict', 'dir', 'divmod', 'enumerate', 'eval', 'exec', 'exit',\n"
" 'filter', 'float', 'format', 'frozenset', 'getattr', 'globals', 'hasattr',\n"
" 'hash', 'help', 'hex', 'id', 'input', 'int', 'isinstance', 'issubclass',\n"
" 'iter', 'len', 'license', 'list', 'locals', 'map', 'max', 'memoryview',\n"
" 'min', 'next', 'object', 'oct', 'open', 'ord', 'pow', 'print', 'property',\n"
" 'quit', 'range', 'repr', 'reversed', 'round', 'set', 'setattr', 'slice',\n"
" 'sorted', 'staticmethod', 'str', 'sum', 'super', 'tuple', 'type', 'vars',\n"
" 'zip']"
msgstr ""
">>> import builtins\n"
">>> dir(builtins)\n"
"['ArithmeticError', 'AssertionError', 'AttributeError', 'BaseException',\n"
" 'BlockingIOError', 'BrokenPipeError', 'BufferError', 'BytesWarning',\n"
" 'ChildProcessError', 'ConnectionAbortedError', 'ConnectionError',\n"
" 'ConnectionRefusedError', 'ConnectionResetError', 'DeprecationWarning',\n"
" 'EOFError', 'Ellipsis', 'EnvironmentError', 'Exception', 'False',\n"
" 'FileExistsError', 'FileNotFoundError', 'FloatingPointError',\n"
" 'FutureWarning', 'GeneratorExit', 'IOError', 'ImportError',\n"
" 'ImportWarning', 'IndentationError', 'IndexError', 'InterruptedError',\n"
" 'IsADirectoryError', 'KeyError', 'KeyboardInterrupt', 'LookupError',\n"
" 'MemoryError', 'NameError', 'None', 'NotADirectoryError', "
"'NotImplemented',\n"
" 'NotImplementedError', 'OSError', 'OverflowError',\n"
" 'PendingDeprecationWarning', 'PermissionError', 'ProcessLookupError',\n"
" 'ReferenceError', 'ResourceWarning', 'RuntimeError', 'RuntimeWarning',\n"
" 'StopIteration', 'SyntaxError', 'SyntaxWarning', 'SystemError',\n"
" 'SystemExit', 'TabError', 'TimeoutError', 'True', 'TypeError',\n"
" 'UnboundLocalError', 'UnicodeDecodeError', 'UnicodeEncodeError',\n"
" 'UnicodeError', 'UnicodeTranslateError', 'UnicodeWarning', 'UserWarning',\n"
" 'ValueError', 'Warning', 'ZeroDivisionError', '_', '__build_class__',\n"
" '__debug__', '__doc__', '__import__', '__name__', '__package__', 'abs',\n"
" 'all', 'any', 'ascii', 'bin', 'bool', 'bytearray', 'bytes', 'callable',\n"
" 'chr', 'classmethod', 'compile', 'complex', 'copyright', 'credits',\n"
" 'delattr', 'dict', 'dir', 'divmod', 'enumerate', 'eval', 'exec', 'exit',\n"
" 'filter', 'float', 'format', 'frozenset', 'getattr', 'globals', 'hasattr',\n"
" 'hash', 'help', 'hex', 'id', 'input', 'int', 'isinstance', 'issubclass',\n"
" 'iter', 'len', 'license', 'list', 'locals', 'map', 'max', 'memoryview',\n"
" 'min', 'next', 'object', 'oct', 'open', 'ord', 'pow', 'print', 'property',\n"
" 'quit', 'range', 'repr', 'reversed', 'round', 'set', 'setattr', 'slice',\n"
" 'sorted', 'staticmethod', 'str', 'sum', 'super', 'tuple', 'type', 'vars',\n"
" 'zip']"
#: tutorial/modules.rst:391
msgid "Packages"
msgstr "Πακέτα"
#: tutorial/modules.rst:393
msgid ""
"Packages are a way of structuring Python's module namespace by using "
"\"dotted module names\". For example, the module name :mod:`!A.B` "
"designates a submodule named ``B`` in a package named ``A``. Just like the "
"use of modules saves the authors of different modules from having to worry "
"about each other's global variable names, the use of dotted module names "
"saves the authors of multi-module packages like NumPy or Pillow from having "
"to worry about each other's module names."
msgstr ""
"Τα πακέτα είναι ένας τρόπος δόμησης του namespace του module χρησιμοποιώντας "
"\"dotted module names\". Για παράδειγμα, το όνομα του module :mod:`!A.B` "
"υποδηλώνει ένα submodule με όνομα ``B`` σε ένα πακέτο με όνομα ``A``. "
"Ακριβώς όπως η χρήση των modules σώζει τους δημιουργούς διαφορετικών modules "
"να ανησυχούν ο ένας για τα καθολικά ονόματα μεταβλητών του άλλου, η χρήση "
"dotted module ονομάτων σώζει τους δημιουργούς των multi-module πακέτων όπως "
"το NumbPY ή το Pillow από το να χρειάζεται να ανησυχούν ο ένας για τα module "
"ονόματα του άλλου."
#: tutorial/modules.rst:401
msgid ""
"Suppose you want to design a collection of modules (a \"package\") for the "
"uniform handling of sound files and sound data. There are many different "
"sound file formats (usually recognized by their extension, for example: :"
"file:`.wav`, :file:`.aiff`, :file:`.au`), so you may need to create and "
"maintain a growing collection of modules for the conversion between the "
"various file formats. There are also many different operations you might "
"want to perform on sound data (such as mixing, adding echo, applying an "
"equalizer function, creating an artificial stereo effect), so in addition "
"you will be writing a never-ending stream of modules to perform these "
"operations. Here's a possible structure for your package (expressed in "
"terms of a hierarchical filesystem):"
msgstr ""
"Ας υποθέσουμε ότι θέλετε να σχεδιάσετε μια συλλογή από module (ένα "
"\"πακέτο\") για τον ομοιόμορφο χειρισμό αρχείων ήχου και δεδομένων ήχου. "
"Υπάρχουν πολλές διαφορετικές μορφές αρχείων ήχου (που συνήθως αναγνωρίζονται "
"από την επέκτασή τους, για παράδειγμα: :file:`.wav`, :file:`.aiff`, :file:`."
"au`), επομένως μπορεί να χρειαστεί να δημιουργήσετε και να διατηρήσετε μια "
"αυξανόμενη συλλογή λειτουργιών για τη μετατροπή μεταξύ των διαφόρων μορφών "
"αρχείων. Υπάρχουν επίσης πολλές διαφορετικές λειτουργίες που μπορεί να "
"θέλετε να εκτελέσετε σε δεδομένα ήχου (όπως μίξη, προσθήκη ηχούς, εφαρμογή "
"μιας λειτουργίας ισοσταθμιστή, δημιουργία τεχνητού στερεοφωνικού εφέ), "
"επομένως επιπλέον θα γράφετε μια ατελείωτη ροή από modules για να εκτελέσετε "
"αυτές τις λειτουργίες. Ακολουθεί μια πιθανή δομή για το πακέτο σας (που "
"εκφράζεται ως ιεραρχικό σύστημα αρχείων):"
#: tutorial/modules.rst:412
msgid ""
"sound/ Top-level package\n"
" __init__.py Initialize the sound package\n"
" formats/ Subpackage for file format conversions\n"
" __init__.py\n"
" wavread.py\n"
" wavwrite.py\n"
" aiffread.py\n"
" aiffwrite.py\n"
" auread.py\n"
" auwrite.py\n"
" ...\n"
" effects/ Subpackage for sound effects\n"
" __init__.py\n"
" echo.py\n"
" surround.py\n"
" reverse.py\n"
" ...\n"
" filters/ Subpackage for filters\n"
" __init__.py\n"
" equalizer.py\n"
" vocoder.py\n"
" karaoke.py\n"
" ..."
msgstr ""
"sound/ Top-level package\n"
" __init__.py Initialize the sound package\n"
" formats/ Subpackage for file format conversions\n"
" __init__.py\n"
" wavread.py\n"
" wavwrite.py\n"
" aiffread.py\n"
" aiffwrite.py\n"
" auread.py\n"
" auwrite.py\n"
" ...\n"
" effects/ Subpackage for sound effects\n"
" __init__.py\n"
" echo.py\n"
" surround.py\n"
" reverse.py\n"
" ...\n"
" filters/ Subpackage for filters\n"
" __init__.py\n"
" equalizer.py\n"
" vocoder.py\n"
" karaoke.py\n"
" ..."
#: tutorial/modules.rst:438
msgid ""
"When importing the package, Python searches through the directories on ``sys."
"path`` looking for the package subdirectory."
msgstr ""
"Κατά την εισαγωγή του πακέτου, η Python πραγματοποιεί αναζήτηση στους "
"καταλόγους στο ``sys.path`` αναζητώντας τον υποκατάλογο του πακέτου."
#: tutorial/modules.rst:441
msgid ""
"The :file:`__init__.py` files are required to make Python treat directories "
"containing the file as packages (unless using a :term:`namespace package`, a "
"relatively advanced feature). This prevents directories with a common name, "
"such as ``string``, from unintentionally hiding valid modules that occur "
"later on the module search path. In the simplest case, :file:`__init__.py` "
"can just be an empty file, but it can also execute initialization code for "
"the package or set the ``__all__`` variable, described later."
msgstr ""
"Τα :file:`__init__.py` αρχεία απαιτούνται για να κάνει την Python να "
"αντιμετωπίζει του καταλόγου που περιέχουν το αρχείο ως πακέτα (εκτός εάν "
"χρησιμοποιεί ένα :term:`namespace package`, ένα σχετικά προηγμένο "
"χαρακτηριστικό). Αυτό αποτρέπει τους καταλόγους με κοινό όνομα, όπως π.χ. ως "
"``string``, από την ακούσια απόκρυψη έγκυρων modules που εμφανίζονται "
"αργότερα στο path αναζήτησης του module. Στην απλούστερη περίπτωση, το :file:"
"`__init__.py` μπορεί απλώς να είναι κενό αρχείο, αλλά μπορεί επίσης να "
"εκτελέσει initialization κώδικα για το πακέτο ή να ορίσει την μεταβλητή "
"``__all__``, που περιγράφεται αργότερα."
#: tutorial/modules.rst:449
msgid ""
"Users of the package can import individual modules from the package, for "
"example::"
msgstr ""
"Οι χρήστες του πακέτου μπορούν να εισάγουν μεμονωμένα module από το πακέτο, "
"για παράδειγμα::"
#: tutorial/modules.rst:452
msgid "import sound.effects.echo"
msgstr "import sound.effects.echo"
#: tutorial/modules.rst:454
msgid ""
"This loads the submodule :mod:`!sound.effects.echo`. It must be referenced "
"with its full name. ::"
msgstr ""
"Αυτό φορτώνει το submodule :mod:`!sound.effects.echo`. Πρέπει να αναφέρεται "
"με το πλήρες όνομά του. ::"
#: tutorial/modules.rst:457
msgid "sound.effects.echo.echofilter(input, output, delay=0.7, atten=4)"
msgstr "sound.effects.echo.echofilter(input, output, delay=0.7, atten=4)"
#: tutorial/modules.rst:459
msgid "An alternative way of importing the submodule is::"
msgstr "Ένα εναλλακτικός τρόπος για την εισαγωγή του submodule είναι::"
#: tutorial/modules.rst:461
msgid "from sound.effects import echo"
msgstr "from sound.effects import echo"
#: tutorial/modules.rst:463
msgid ""
"This also loads the submodule :mod:`!echo`, and makes it available without "
"its package prefix, so it can be used as follows::"
msgstr ""
"Αυτό φορτώνει επίσης το submodule :mod:`!echo`, και την καθιστά διαθέσιμη "
"χωρίς το πρόθεμα πακέτου, ώστε να μπορεί να χρησιμοποιηθεί ως εξής::"
#: tutorial/modules.rst:466
msgid "echo.echofilter(input, output, delay=0.7, atten=4)"
msgstr "echo.echofilter(input, output, delay=0.7, atten=4)"
#: tutorial/modules.rst:468
msgid ""
"Yet another variation is to import the desired function or variable "
"directly::"
msgstr ""
"Μια άλλη παραλλαγή είναι η απευθείας εισαγωγή της επιθυμητής συνάρτησης ή "
"μεταβλητής::"
#: tutorial/modules.rst:470
msgid "from sound.effects.echo import echofilter"
msgstr "from sound.effects.echo import echofilter"
#: tutorial/modules.rst:472
msgid ""
"Again, this loads the submodule :mod:`!echo`, but this makes its function :"
"func:`!echofilter` directly available::"
msgstr ""
"Και πάλι, αυτό φορτώνει το submodule :mod:`!echo`, αλλά αυτό κάνει τη "
"συνάρτηση της :func:`!echofilter` άμεσα διαθέσιμη::"
#: tutorial/modules.rst:475
msgid "echofilter(input, output, delay=0.7, atten=4)"
msgstr "echofilter(input, output, delay=0.7, atten=4)"
#: tutorial/modules.rst:477
msgid ""
"Note that when using ``from package import item``, the item can be either a "
"submodule (or subpackage) of the package, or some other name defined in the "
"package, like a function, class or variable. The ``import`` statement first "
"tests whether the item is defined in the package; if not, it assumes it is a "
"module and attempts to load it. If it fails to find it, an :exc:"
"`ImportError` exception is raised."
msgstr ""
"Λάβετε υπόψη ότι όταν χρησιμοποιείτε ``from package import item``, το "
"στοιχείο μπορεί να είναι είτε submodule (ή υποπακέτο) του πακέτου ή κάποιο "
"άλλο όνομα που ορίζεται στο πακέτο, όπως μια συνάρτηση, κλάση ή μεταβλητή. Η "
"``import`` δήλωση ελέγχει πρώτα εάν το στοιχείο έχει οριστεί στο πακέτο, εάν "
"όχι, υποθέτει ότι είναι ένα module και επιχειρεί να το φορτώσει , αν δεν το "
"βρει δημιουργεί η εξαίρεση :exc:`ImportError`."
#: tutorial/modules.rst:484
msgid ""
"Contrarily, when using syntax like ``import item.subitem.subsubitem``, each "
"item except for the last must be a package; the last item can be a module or "
"a package but can't be a class or function or variable defined in the "
"previous item."
msgstr ""
"Αντίθετα, όταν χρησιμοποιείται σύνταξη όπως ``import item.subitem."
"subsubitem``, κάθε στοιχείο εκτός από αυτό το τελευταίο πρέπει να είναι "
"πακέτο∙ το τελευταίο στοιχείο μπορεί να είναι ένα module ή ένα πακέτο αλλά "
"δεν μπορεί να είναι μια κλάση ή συνάρτηση ή μεταβλητή που ορίζεται από "
"προηγούμενο στοιχείο."
#: tutorial/modules.rst:493
msgid "Importing \\* From a Package"
msgstr "Εισάγοντας \\* από ένα Πακέτο"
#: tutorial/modules.rst:497
msgid ""
"Now what happens when the user writes ``from sound.effects import *``? "
"Ideally, one would hope that this somehow goes out to the filesystem, finds "
"which submodules are present in the package, and imports them all. This "
"could take a long time and importing sub-modules might have unwanted side-"
"effects that should only happen when the sub-module is explicitly imported."
msgstr ""
"Τώρα τι συμβαίνει όταν ο χρήστης γράφει ``from sound.effects import *``; "
"Ιδανικά, θα ήλπιζε κανείς ότι αυτό θα βγει με κάποιο τρόπο στο σύστημα "
"αρχείων, θα βρει κάποια submodules που υπάρχουν το πακέτο, και θα τα εισάγει "
"όλα σε αυτό. Αυτό θα μπορούσε να πάρει πολύ χρόνο και η εισαγωγή submodules "
"μπορεί να έχει ανεπιθύμητες παρενέργειες που θα έπρεπε να συμβούν όταν το "
"submodule εισάγεται ρητά."
#: tutorial/modules.rst:503
msgid ""
"The only solution is for the package author to provide an explicit index of "
"the package. The :keyword:`import` statement uses the following convention: "
"if a package's :file:`__init__.py` code defines a list named ``__all__``, it "
"is taken to be the list of module names that should be imported when ``from "
"package import *`` is encountered. It is up to the package author to keep "
"this list up-to-date when a new version of the package is released. Package "
"authors may also decide not to support it, if they don't see a use for "
"importing \\* from their package. For example, the file :file:`sound/"
"effects/__init__.py` could contain the following code::"
msgstr ""
"Η μόνη λύση είναι να παρέχει ο συντάκτης του πακέτου ένα ρητό ευρετήριο του "
"πακέτου. Η δήλωση :keyword:`import` χρησιμοποιεί την ακόλουθη σύμβαση: εάν "
"ο κώδικας :file:`__init__.py` του πακέτου ορίζει μια λίστα με το όνομα "
"``__all__``, θεωρείται ότι είναι η λίστα με τα ονόματα των modules που θα "
"πρέπει να εισαχθούν όταν συναντήσετε ``from package import *``. Είναι στην "
"διακριτή ευχέρεια του συντάκτη του πακέτου να διατηρεί αυτή τη λίστα "
"ενημερωμένη, όταν κυκλοφορήσει μια νέα έκδοση του πακέτου. Οι συντάκτες του "
"πακέτου ενδέχεται επίσης να αποφασίσουν να μην το υποστηρίξουν, εάν δεν "
"βλέπουν ότι χρησιμοποιείται η εισαγωγή του \\* από το πακέτο τους. Για "
"παράδειγμα το αρχείο :file:`sound/effects/__init__.py` θα μπορούσε να "
"περιέχει τον ακόλουθο κώδικα::"
#: tutorial/modules.rst:513
msgid "__all__ = [\"echo\", \"surround\", \"reverse\"]"
msgstr "__all__ = [\"echo\", \"surround\", \"reverse\"]"
#: tutorial/modules.rst:515
msgid ""
"This would mean that ``from sound.effects import *`` would import the three "
"named submodules of the :mod:`!sound.effects` package."
msgstr ""
"Αυτό θα σήμαινε ότι ``from sound.effects import *`` θα εισαγάγει τα τρία "
"submodules με το όνομα του πακέτου :mod:`!sound.effects`."
#: tutorial/modules.rst:518
msgid ""
"Be aware that submodules might become shadowed by locally defined names. For "
"example, if you added a ``reverse`` function to the :file:`sound/effects/"
"__init__.py` file, the ``from sound.effects import *`` would only import the "
"two submodules ``echo`` and ``surround``, but *not* the ``reverse`` "
"submodule, because it is shadowed by the locally defined ``reverse`` "
"function::"
msgstr ""
"Λάβετε υπόψη ότι τα submodules ενδέχεται να σκιάζονται από τοπικά "
"καθορισμένα ονόματα. Για παράδειγμα, εάν προσθέσατε μια ``reverse`` "
"συνάρτηση στο αρχείο :file:`sound/effects/__init__.py`, το ``from sound."
"effects import *`` θα εισαγάγει μόνο τα δύο submodules ``echo`` και "
"``surround``, αλλά *όχι* το submodule ``reverse``, επειδή επισκιάζεται από "
"την τοπικά καθορισμένη συνάρτηση ``reverse``::"
#: tutorial/modules.rst:525
msgid ""
"__all__ = [\n"
" \"echo\", # refers to the 'echo.py' file\n"
" \"surround\", # refers to the 'surround.py' file\n"
" \"reverse\", # !!! refers to the 'reverse' function now !!!\n"
"]\n"
"\n"
"def reverse(msg: str): # <-- this name shadows the 'reverse.py' submodule\n"
" return msg[::-1] # in the case of a 'from sound.effects import *'"
msgstr ""
"__all__ = [\n"
" \"echo\", # refers to the 'echo.py' file\n"
" \"surround\", # refers to the 'surround.py' file\n"
" \"reverse\", # !!! refers to the 'reverse' function now !!!\n"
"]\n"
"\n"
"def reverse(msg: str): # <-- this name shadows the 'reverse.py' submodule\n"
" return msg[::-1] # in the case of a 'from sound.effects import *'"
#: tutorial/modules.rst:534
msgid ""
"If ``__all__`` is not defined, the statement ``from sound.effects import *`` "
"does *not* import all submodules from the package :mod:`!sound.effects` into "
"the current namespace; it only ensures that the package :mod:`!sound."
"effects` has been imported (possibly running any initialization code in :"
"file:`__init__.py`) and then imports whatever names are defined in the "
"package. This includes any names defined (and submodules explicitly loaded) "
"by :file:`__init__.py`. It also includes any submodules of the package that "
"were explicitly loaded by previous :keyword:`import` statements. Consider "
"this code::"
msgstr ""
"Εάν δεν έχει οριστεί το ``__all__``, η δήλωση ``from sound.effects import "
"*`` *δεν* εισάγει όλα τα submodules από το πακέτο :mod:`!sound.effects` στο "
"τρέχων namespace∙ διασφαλίζει μόνο ότι το πακέτο :mod:`!sound.effects` έχει "
"εισαχθεί (ενδεχομένως να εκτελείται οποιοσδήποτε κωδικός προετοιμασίας στο "
"στο :file:`__init__.py`) και στη συνέχεια εισάγει οποιαδήποτε ονόματα "
"ορίζονται στο πακέτο. Αυτό περιλαμβάνει τυχόν ονόματα που ορίζονται (και "
"submodules που έχουν φορτωθεί ρητά) από το :file:`__init__.py`. "
"Περιλαμβάνει επίσης τυχόν submodules του πακέτου που φορτώθηκαν ρητά από "
"προηγούμενες δηλώσεις :keyword:`import`. Σκεφτείτε αυτόν τον κώδικα::"
#: tutorial/modules.rst:543
msgid ""
"import sound.effects.echo\n"
"import sound.effects.surround\n"
"from sound.effects import *"
msgstr ""
"import sound.effects.echo\n"
"import sound.effects.surround\n"
"from sound.effects import *"
#: tutorial/modules.rst:547
msgid ""
"In this example, the :mod:`!echo` and :mod:`!surround` modules are imported "
"in the current namespace because they are defined in the :mod:`!sound."
"effects` package when the ``from...import`` statement is executed. (This "
"also works when ``__all__`` is defined.)"
msgstr ""
"Σε αυτό το παράδειγμα, τα modules :mod:`!echo` και :mod:`!surround` "
"εισάγονται στο τρέχον namespace επειδή ορίζονται στο πακέτο :mod:`!sound."
"effects` όταν η δήλωση ``from...import`` εκτελείται. (Αυτό λειτουργεί "
"επίσης όταν ορίζεται το ``__all__``)."
#: tutorial/modules.rst:552
msgid ""
"Although certain modules are designed to export only names that follow "
"certain patterns when you use ``import *``, it is still considered bad "
"practice in production code."
msgstr ""
"Αν και ορισμένα modules έχουν σχεδιαστεί για να εξάγουν μόνο ονόματα που "
"ακολουθούν ορισμένα μοτίβα όταν χρησιμοποιείτε το ``import *``, εξακολουθεί "
"να θεωρείται κακή πρακτική στον κώδικα παραγωγής."
#: tutorial/modules.rst:556
msgid ""
"Remember, there is nothing wrong with using ``from package import "
"specific_submodule``! In fact, this is the recommended notation unless the "
"importing module needs to use submodules with the same name from different "
"packages."
msgstr ""
"Θυμηθείτε, δεν υπάρχει τίποτα κακό με τη χρήση του ``from package import "
"specific_submodule``! Στην πραγματικότητα, αυτή είναι η προτεινόμενη "
"σημείωση, εκτός εάν το module εισαγωγής χρειάζεται να χρησιμοποιήσει "
"submodules με το ίδιο όνομα από διαφορετικά πακέτα."
#: tutorial/modules.rst:565
msgid "Intra-package References"
msgstr "Intra-package αναφορές"
#: tutorial/modules.rst:567
msgid ""
"When packages are structured into subpackages (as with the :mod:`!sound` "
"package in the example), you can use absolute imports to refer to submodules "
"of siblings packages. For example, if the module :mod:`!sound.filters."
"vocoder` needs to use the :mod:`!echo` module in the :mod:`!sound.effects` "
"package, it can use ``from sound.effects import echo``."
msgstr ""
"Όταν τα πακέτα είναι δομημένα σε υποπακέτα (όπως με το πακέτο :mod:`!sound` "
"στο παράδειγμα), μπορείτε να χρησιμοποιήσετε απόλυτες εισαγωγές για να "
"αναφερθείτε σε submodules αδερφών πακέτων. Για παράδειγμα, εάν το module :"
"mod:`!sound.filters.vocoder` πρέπει να χρησιμοποιήσει το module :mod:`!echo` "
"στο πακέτο :mod:`!sound.effects` , μπορεί να χρησιμοποιήσει το ``from sound."
"effects import echo``."
#: tutorial/modules.rst:573
msgid ""
"You can also write relative imports, with the ``from module import name`` "
"form of import statement. These imports use leading dots to indicate the "
"current and parent packages involved in the relative import. From the :mod:"
"`!surround` module for example, you might use::"
msgstr ""
"Μπορείτε επίσης να γράψετε σχετικές εισαγωγές, με τη φόρμα ``from module "
"import name`` της δήλωσης εισαγωγής. Αυτές οι εισαγωγές χρησιμοποιούν "
"leading dots για να υποδείξουν τα τρέχοντα και γονικά πακέτα που εμπλέκονται "
"στη σχετική εισαγωγή. Από το :mod:`!surround` module για παράδειγμα, μπορεί "
"να χρησιμοποιήσετε::"
#: tutorial/modules.rst:578
msgid ""
"from . import echo\n"
"from .. import formats\n"
"from ..filters import equalizer"
msgstr ""
"from . import echo\n"
"from .. import formats\n"
"from ..filters import equalizer"
#: tutorial/modules.rst:582
msgid ""
"Note that relative imports are based on the name of the current module's "
"package. Since the main module does not have a package, modules intended for "
"use as the main module of a Python application must always use absolute "
"imports."
msgstr ""
"Λάβετε υπόψη ότι οι σχετικές εισαγωγές βασίζονται στο όνομα του τρέχοντος "
"module. Επειδή το όνομα του κύριου module δεν έχει πακέτο, τα modules που "
"προορίζονται για χρήση ως το κύριο module μιας εφαρμογής Python πρέπει πάντα "
"να χρησιμοποιούν απόλυτες εισαγωγές."
#: tutorial/modules.rst:588
msgid "Packages in Multiple Directories"
msgstr "Πακέτα σε Πολλαπλούς Καταλόγους"
#: tutorial/modules.rst:590
msgid ""
"Packages support one more special attribute, :attr:`~module.__path__`. This "
"is initialized to be a :term:`sequence` of strings containing the name of "
"the directory holding the package's :file:`__init__.py` before the code in "
"that file is executed. This variable can be modified; doing so affects "
"future searches for modules and subpackages contained in the package."
msgstr ""
"Τα πακέτα υποστηρίζουν ένα ακόμη ειδικό χαρακτηριστικό, :attr:`~module."
"__path__`. Αυτό έχει αρχικοποιηθεί ως μια :term:`sequence` από "
"συμβολοσειρές που περιέχει το όνομα του καταλόγου που το :file:`__init__.py` "
"του πακέτου πριν από την εκτέλεση του κώδικα σε αυτό το αρχείο. Αυτή η "
"μεταβλητή μπορεί να τροποποιηθεί, αυτό επηρεάζει τις μελλοντικές αναζητήσεις "
"για modules και υποπακέτα που περιέχονται στο πακέτο."
#: tutorial/modules.rst:597
msgid ""
"While this feature is not often needed, it can be used to extend the set of "
"modules found in a package."
msgstr ""
"Ενώ αυτή η δυνατότητα δεν χρειάζεται συχνά, μπορεί να χρησιμοποιηθεί για την "
"επέκταση του συνόλου των modules που βρίσκονται σε ένα πακέτο."
#: tutorial/modules.rst:602
msgid "Footnotes"
msgstr "Υποσημειώσεις"
#: tutorial/modules.rst:603
msgid ""
"In fact function definitions are also 'statements' that are 'executed'; the "
"execution of a module-level function definition adds the function name to "
"the module's global namespace."
msgstr ""
"Στην πραγματικότητα, οι ορισμοί συναρτήσεων είναι επίσης 'statements' που "
"'εκτελούνται'∙ η εκτέλεση ενός ορισμού συνάρτησης σε επίπεδο module "
"προσθέτει το όνομα της συνάρτησης στον καθολικό namespace του module."
#: tutorial/modules.rst:269 tutorial/modules.rst:350
msgid "module"
msgstr "module"
#: tutorial/modules.rst:186
msgid "search"
msgstr "αναζήτηση"
#: tutorial/modules.rst:186
msgid "path"
msgstr "path"
#: tutorial/modules.rst:269
msgid "sys"
msgstr "sys"
#: tutorial/modules.rst:350
msgid "builtins"
msgstr "builtins"
#: tutorial/modules.rst:495
msgid "__all__"
msgstr "__all__"