Δημοσιεύτηκε: 05 Ιουν 2009, 00:24
από chrish
Κατ' άρχην ζητώ συγγνώμη με την απουσία μου μου έτυχε κάτι σοβαρο και δεν μπόρεσα να ασχοληθώ σοβαρά με το θέμα..... έχω κάνει πολύ λίγο απο το κεφάλαιο 16 και το παραθέτω σαν ένα μικρο τμήμα, για τον dimosfire
Κώδικας: Επιλογή όλων
Python el : Περισσότερα

Εισαγωγή
Μέχρι τώρα έχουμε καλύψει την πλειοψηφία των διάφορων πτυχών της Python που θα χρησιμοποιήσετε. Σε αυτό το κεφάλαιο, θα καλύψουμε λίγο περισσότερες πτυχές που θα κάνουν τη γνώση σας στην Python ποίο σφαιρική.

Περνώντας tuples γύρω
Μήπως θα επιθυμούσατε να μπορούσατε να επιστρέψετε δύο διαφορετικές τιμές από μια λειτουργία; Μπορείτε. Το μόνο που πρέπει να κάνετε είναι χρήση μιας tuple.

>>> def get_error_details ():
... return (2, 'second error details')
...
>>> errnum, errstr = get_error_details()
>>> errnum
2
>>> errstr
'second error details'

Παρατηρήστε ότι η χρήση του a, b = <some expression> μεταφράζει το αποτέλεσμα της έκφρασης ως tuple με δύο τιμές.
Εάν θέλετε να μεταφράσετε τα αποτελέσματα όπως (a, < όλα τα άλλα >), κατόπιν χρειάζεστε ακριβώς στο αστέρι που ακριβώς όπως σας στις παραμέτρους λειτουργίας:

>>> a, *b = [1, 2, 3, 4]
>>> a
1
>>> b
[2, 3, 4]

Αυτό σημαίνει επίσης ότι ο γρηγορότερος τρόπος να ανταλλαχθούν δύο μεταβλητές στην Python είναι:

>>> a = 5; b = 8
>>> a, b = b, a
>>> a, b
(8, 5)

Ειδικές Μέθοδοι

Υπάρχουν ορισμένες μέθοδοι όπως το __init και __del__ μέθοδοι που έχουν πρόσθετη σημασία στις κατηγορίες.
Οι πρόσθετες μέθοδοι χρησιμοποιούνται για να μιμηθούν ορισμένες συμπεριφορές των ενσωματωμένων τύπων. Παραδείγματος χάριν, εάν θέλετε να χρησιμοποιήσετε τη λειτουργία ευρετηρίασης Χ [βασική] για την κατηγορία σας (ακριβώς όπως την χρησιμοποιήσατετε για τους καταλόγους και tuples), κατόπιν το μόνο που πρέπει να κάνετε είναι μέσο η μέθοδος __getitem () και η εργασία σας γίνεται. Εάν το σκεφτείτε, αυτό είναι αυτό που η Python κάνει για η ίδια την κατηγορία καταλόγων!
Μερικές χρήσιμες ειδικές μέθοδοι απαριθμούνται στον ακόλουθο πίνακα. Εάν θέλετε να ξέρετε για όλες τις ειδικές μεθόδους, δείτε το εγχειρίδιο (http://docs.python.org/dev/3.0/reference/datamodel. html#special-method-names).

Όνομα
Επεξήγηση
__init__(self, ...)
Αυτή η μέθοδος καλείται αμέσως πριν να επιστραφεί το πρόσφατα δημιουργημένο αντικείμενο για τη χρήση

Θέλει έλενγχο όμως γιατί δεν ξέρω τι σημαίνει tuple και δύο σημεία τα μετάφρασα επ' ακριβώς και δεν βγαίνει και το καλύτερο νόημα.... ένα σημείο είναι αυτό --> αυτό είναι αυτό που η Python κάνει για η ίδια την κατηγορία καταλόγων! και το άλλο σημείο είναι αυτό --> κατόπιν χρειάζεστε ακριβώς στο αστέρι που ακριβώς όπως σας στις παραμέτρους λειτουργίας