Δημοσιεύτηκε: 20 Φεβ 2012, 23:27
pmav99 έγραψε:Explicit is better than implicit.
Δεν βλέπω τι σχέση έχει εδώ. Όχι δεν μου κάνει το παραπάνω.
Το σκέφτομαι με την λογική:
- Κώδικας: Επιλογή όλων
>>> def foo(x, y, z):
... print(x, y, z)
...
>>> a = foo
>>> a('one', 'two', 'three')
one two three
Οπότε αφού όλα στην python είναι objects γιατί να μην γίνεται κάτι σαν:
- Κώδικας: Επιλογή όλων
>>> _tuple = ('one', 'two', 'three')
>>> foo_tuple
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
NameError: name 'foo_tuple' is not defined
>>>
Φυσικά το τελευταίο παράδειγμα δίνει NameError. Επίσης ούτε το "foo(_tuple)" θα δούλευε.
Μήπως υπάρχει κάποιος τρόπος να δηλώσουμε ότι αυτό που ακολουθεί της συνάρτησης foo είναι τα ορίσματα χωρίς να βάλουμε τις παρενθέσεις;
Ή κάποια συνάρτηση του στυλ "execute(function, arguments)" όπου τα arguments θα είναι μία λίστα ή μία πλειάδα;
Κατά πάσα πιθανότητα δεν γίνομαι ξεκάθαρος.
Edit: Πρέπει να το σκέφτομαι τελείως λάθος. Γιατί οι παρενθέσεις στην συνάρτηση δηλώνουν ότι πρόκειται για συνάρτηση, δεν δηλώνουν πλειάδα.