Δημοσιεύτηκε: 20 Φεβ 2012, 23:27
από Ilias95
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 θα είναι μία λίστα ή μία πλειάδα;

Κατά πάσα πιθανότητα δεν γίνομαι ξεκάθαρος. :P :D

Edit: Πρέπει να το σκέφτομαι τελείως λάθος. Γιατί οι παρενθέσεις στην συνάρτηση δηλώνουν ότι πρόκειται για συνάρτηση, δεν δηλώνουν πλειάδα. :eh: