Δημοσιεύτηκε: 09 Ιουν 2014, 14:48
από Ilias95
Όταν χρησιμοποιείς την σύνταξη με το ένα αστεράκι σαν παράμετρο μιας συνάρτησης τότε ότι στοιχεία δώσεις θα αποθηκευτούν σε μια tuple:
Κώδικας: Επιλογή όλων
>>> def func(*args):
... print(args)
...
>>> func(1, 'dyo', 'gianis', 3)
(1, 'dyo', 'gianis', 3)
>>>


Με τα δύο αστεράκια, με τα ορίσματα που θα δώσεις δημιουργείτε ένα dict:
Κώδικας: Επιλογή όλων
>>> def func(**args):
... print(args)
...
>>> func(vegetables=50, fruits=100, horses=12)
{'vegetables': 50, 'fruits': 100, 'horses': 12}
>>>


Στο παραπάνω παράδειγμα τα χρησιμοποιεί ταυτόχρονα και αθροίζει τις τιμές τους μέσα στην συνάρτηση χρησιμοποιώντας σαν counter την μεταβλητή count.

Ο τελεστής += (γιατί θυμάμαι ότι στο συγκεκριμένο βιβλίο δεν τον εξηγεί) προσθέτει στην ήδη υπάρχουσα τιμή της μεταβλητής ότι του δώσεις:
Spoiler: show
Κώδικας: Επιλογή όλων
>>> a = 10
>>> a += 3
>>> print(a)
13
>>> a += 12
>>> print(a)
25
>>>


Μπορείς αντίστοιχα να τον χρησιμοποιήσεις για οποιαδήποτε πράξη:
Spoiler: show
Κώδικας: Επιλογή όλων
>>> a = 10
>>> a *= 2
>>> print(a)
20
>>> a /= 4
>>> print(a)
5.0
>>>


Τα for loops τα χεις δει λογικά, οπότε τα υπόλοιπα τα καταλαβαίνεις. Την σύνταξη με το initial=5 άστη για τώρα και γενικά προσπέρνα το συγκεκριμένο παράδειγμα δεν θα σου φανεί και τόσο χρήσιμο στην αρχή, παρά θα σε μπερδέψει.

PS.
Σχετικά με αυτό που λέγαμε στο άλλο thread, όχι δεν νομίζω ότι έχω να προτείνω κάτι στα ελληνικά/μεταφρασμένο. Δυστυχώς ή ευτυχώς αν θες να ασχοληθείς με προγραμματισμό τα αγγλικά είναι απαραίτητα και η άπειρη βιβλιογραφία που θα βρεις για οποιοδήποτε θέμα σε ενδιαφέρει πάντα θα είναι στα αγγλικά. Το συγκεκριμένο βιβλίο απλά και επειδή το έχω διαβάσει ολόκληρο δεν μου αρέσει καθόλου και γι' αυτό δεν το προτείνω. Όπως βλέπεις ήδη σε μπερδεύει πολλές φορές και δεν εξηγεί πολλά πράγματα.

Αφού όμως αναφέρεις ότι τα αγγλικά σου είναι αρκετά καλά, με ποιο βιβλίο δυσκολεύτηκες και δεν το καταλάβαινες;