Δημοσιεύτηκε: 13 Ιουν 2014, 22:55
midkin έγραψε:Μία ερώτηση από το επόμενο μάθημα...
Γιατί μερικές μεταβλητές τις χρησιμοποιούναι ως __name__, __version__ κλπ;
Δεν καταλαβαίνω ποια ακριβώς είναι η απορία σου.
Κάποιες απ' αυτές τις μεταβλητές παίρνουν τιμή αυτόματα κατά την εκτέλεση:
- Κώδικας: Επιλογή όλων
>>> print(__name__)
__main__
>>>
midkin έγραψε:Υ.Γ. Πάντως όσον αφορά τη global, δεν βρίσκω το λόγο να μη τη χρησιμοποιώ από τη στιγμή που υπάρχει μέσα στην python! Θεωρώ πως η χρήση των global, nonlocal είναι συγκεκριμένη και δεν νομίζω πως μπερδεύει!
https://www.google.gr/?gfe_rd=cr&ei=qlO ... ls+are+bad
Τους τίτλους δες μόνο.
Δεν καταλαβαίνεις το πρόβλημα αυτή τη στιγμή επειδή δεν έχεις γράψει προγράμματα μεγαλύτερα από 10-20 σειρές. Όταν πας να γράψεις πιο πολύπλοκα προγράμματα θα δεις ότι με τις global γίνεται χαμός και δεν βγάζεις άκρη.
Το ότι υπάρχουν στην python δεν λέει κάτι. Μπορεί να φανούν χρήσιμες υπό συνθήκες.
Πάντως και το goto υπήρχε στην java και το αφαίρεσαν. Στην C υπάρχει ακόμα. Για ρώτα κάποιον που γράφει σε C να σου πει τη γνώμη του για το πόσο συχνά πρέπει να χρησιμοποιείται.
Το nonlocal δεν το έχω χρησιμοποιήσει ποτέ σε κανένα πρόγραμμα γιατί ποτέ δεν χρησιμοποίησα nested functions και δεν βρίσκω και τον λόγο να το κάνω. Οι περισσότερες γλώσσες δεν το επιτρέπουν καν.
Όταν αποκτήσεις μεγαλύτερη εμπειρία και μπορείς να καταλαβαίνεις τι κάνεις και γιατί, θα καταλαβαίνεις μόνος σου πότε συμφέρει να κάνεις κάτι με κάποιο τρόπο, αλλά τώρα που είσαι στην αρχή καλύτερα να υιοθετείς τα best practises που σου προτείνουν.
Keep it simple.