Ωραία! Φοβερός φίλε μου! Σε ευχαριστώ πάρα πολύ!
Έχεις μερικά μικρό λαθάκια, λόγο της βιασύνεις να τα γράψεις και απλώς θα σου τα αναφέρω όποτε βρεις χρόνο να τα διορθώσεις να μη υπάρχουν, αν και είναι πταίσματα.
Στην τρίτη γραμμή εκεί που γράφεις : " να καταγράφουμε την
επιθυμητής της λειτουργία "
μάλλον εκεί θέλεις να πεις : την
επιθυμητή της...
Επίσης στην 4η γραμμή : Στην Python υπάρχει η σύμβαση αφού ορίσουμε να
την περιγράφουμε....
Ίσος σου λείπει αυτό το
την .
Τελικά δηλαδή οι συμβολοσειρές τεκμηρίωσης (Docstrings), είναι απλά σχόλια; Και απλώς έχει γίνει μια σαν σύμβαση μεταξύ των προγραμματισμών της python τα σχόλια στις συναρτήσεις να τα γράφουμε έτσι με αυτή την δομή; Και απλώς είναι σχόλια που φαίνονται κιόλας κατά την εκτέλεση του κώδικα;
Και όπως λες στην τελευταία παράγραφο, αν ακολουθούμε αυτόν τον τρόπο, δηλαδή τι γίνεται; Δεν είναι απλά σχόλια τελικά και μπορεί να εξηγεί η python με συγκεκριμένες εντολές που μπορούμε να δώσουμε, την συνάρτηση με βάση την συμβολοσειρά τεκμηριώσεις ;; ( Νομίζω μέχρι πριν την τελευταία παράγραφο έχω καταλάβει...το τι είναι, αλλά στην τελευταία παράγραφο είναι που με μπερδεύει λίγο.
( για αυτό το
"print (printMax._doc_)" που σε ρώτησα και πριν, συγνώμη αλλά δε είπες κάτι..
... συγνώμη κιόλας.. , απλώς αν κατάλαβα ίσος αυτό είναι η "εντολή"΄που λέω και πιο πάνω, που σου δίνει τη δυνατότητα η python και με βάση την συμβολοσειρά τεκμηρίωσης περισσότερες πληροφορίες για την συνάρτηση; Αλλά και πάλει δε καταλαβαίνω με μπερδεύει, τι/γιατί λέει στο τέλος
"print (printMax._doc_)" :/ )
To PEP257 που λες τι είναι;
Και φφ.. πάντως και χωρίς να καταλάβω πλήρως τη είναι (Docstrings) δεν υπάρχει και σπουδαίο πρόβλημα έτσι; Απλώς είναι για να με βοηθήσει αν δω, μετά από καιρό τον κώδικα ενός προγράμματος ή κάποιος αναγνώστης του κώδικα μου, ώστε να καταλάβω/ει τι γίνεται..;
Όσο για τις τοπικές και καθολικές μεταβλητές, ( καταρχήν έχεις μόνο στην πρώτη παράγραφο ένα, δύο μικρά λαθάκια βιασύνης, μετά είναι όλα εντάξει στις παρακάτω παραγράφους.. ) αν το διαβάσεις μια στιγμή ήρεμα θα τα καταλάβεις νομίζω..
μη γίνομαι ίσος κουραστικός εδώ..
Και με βοήθησαν τα όσα λες και σε ευχαριστώ!
Εν τέλη για να είμαι σίγουρος, ούτε αυτό με τις τοπικές και καθολικές μεταβλητές είναι τίποτε το σπουδαίο ( όχι από χρησιμότητα, αλλά για να καταλάβω..
) απλώς μια μεταβλητή είναι καθολική όταν είναι
στο κύριος μέρος του προγράμματος και ΑΝ θέλω να την αλλάξω στο εσωτερικό κάποιας συνάρτησης ή υποπρογράμματος ( -διαδικασίας όπως λένε μερικοί - αν κάνω λάθος κάτι μου λες -), βάζω μπροστά την λέξη
global την πρώτη φορά που θα την χρησιμοποιήσω, και έπειτα από εκεί και πέρα ότι αλλαγή γίνει σε αυτή την μεταβλητή είναι για όλη την εμβέλεια του προγράμματος ( αλλάζει σε όλο το πρόγραμμα ) τέλος πάντως σωστά;
Ενώ στις nonlocal ( εδώ είναι που με μπερδεύει λίγο, ενώ για την global νομίζω το έχω πιάσει τι γίνεται.. ) την nonloca την χρησιμοποιούμε όταν.. φφ..
μόνο όταν έχουμε
συνάρτηση μέσα σε συνάρτηση και την χρησιμοποιούμε για να πούμε ότι δίνω π.χ. τιμή στο nonlocal χ = 6 σ' να του λέμε ότι εγώ τώρα σου δίνω τιμή στο χ
αλλά αν έχει πάρει άλλη τιμή ποιο πριν το χ αυτό είναι κάτι εντελώς διαφορετικά και ισχύει μόνο για εμένα; μόνο στη δική μου εμβέλεια - μόνο μέσα στο "σώμα μου" ( της συνάρτησης ) ;; Κατάλαβα καλά ή όχι;
Όποτε μπορέσεις και όποιος βασικά ας μου πείτε και λίγο αυτό που λέω στο 2.
2. Επίσης λίγο παρακάτω που ονομάζει κάτι "Παράμετροι VarArgs" (σελ: 43) πέρα του ότι μου φαίνεται κάπως άτοπο, λανθασμένο ίσος ( πάντα κατά την δική μου γνώμη ) σε αυτή την θέση του βιβλίο αυτό το πράγμα, δε καταλαβαίνω τίποτα κιόλας.
( ( Το αναφέρω απλώς, για αν το ξέχασες ή και σαν τελευταία μου απορία κιόλας ( αν κατάλαβα τα παραπάνω σωστά βέβαια ) )