Μετάδοση πολλαπλών παραμέτρων σε συνάρτηση στην Python
Ας υποθέσουμε ότι έχουμε μια συνάρτηση που δέχεται πολλαπλές αριθμητικές παραμέτρους:
def func(num1, num2):
return num1 + num2
print(func1(2, 3))
Κατά την κλήση της συνάρτησης, οι καθορισμένοι αριθμοί 2
και 3 θα εισαχθούν στις μεταβλητές num1
και num2 αντίστοιχα.
Αλλά υπάρχουν περιπτώσεις όπου χρειάζεται να μεταδώσουμε
πολλές παραμέτρους κατά την κλήση μιας συνάρτησης, των οποίων
ο αριθμός δεν είναι γνωστός εκ των προτέρων. Στην Python μπορούμε
να ορίσουμε κατά τη δήλωση της συνάρτησης μόνο μία
μεταβλητή, από την οποία αργότερα θα προκύψει
μια πλειάδα όλων των παραμέτρων που μεταδόθηκαν κατά την κλήση.
Για να γίνει αυτό, πριν από αυτή τη μεταβλητή πρέπει
να προσθέσουμε το σύμβολο *. Αυτή η μεταβλητή
συνήθως ονομάζεται args, αλλά μπορούμε
να της δώσουμε και οποιοδήποτε άλλο όνομα. Και για να
εμφανίσουμε όλες τις παραμέτρους, πρέπει να γράψουμε στο
σώμα της συνάρτησης αυτή τη μεταβλητή, αλλά τώρα χωρίς
*:
def func(*args):
return args
print(func(1, 2, 3)) # θα εμφανίσει (1, 2, 3)
Στη συνέχεια, με τις παραμέτρους που ελήφθησαν μπορούμε να εκτελέσουμε οποιεσδήποτε άλλες πράξεις. Ας πάρουμε το άθροισμά τους:
def func(*args):
return sum(args)
print(func(1, 2, 3)) # θα εμφανίσει 6
Γράψτε μια συνάρτηση που θα δέχεται ως παραμέτρους απεριόριστο αριθμό ονομάτων χρηστών και θα τα εμφανίζει στην κονσόλα σε μορφή πλειάδας.