Customize Consent Preferences

We use cookies to help you navigate efficiently and perform certain functions. You will find detailed information about all cookies under each consent category below.

The cookies that are categorized as "Necessary" are stored on your browser as they are essential for enabling the basic functionalities of the site. ... 

Always Active

Necessary cookies are required to enable the basic features of this site, such as providing secure log-in or adjusting your consent preferences. These cookies do not store any personally identifiable data.

No cookies to display.

Functional cookies help perform certain functionalities like sharing the content of the website on social media platforms, collecting feedback, and other third-party features.

No cookies to display.

Analytical cookies are used to understand how visitors interact with the website. These cookies help provide information on metrics such as the number of visitors, bounce rate, traffic source, etc.

No cookies to display.

Performance cookies are used to understand and analyze the key performance indexes of the website which helps in delivering a better user experience for the visitors.

No cookies to display.

Advertisement cookies are used to provide visitors with customized advertisements based on the pages you visited previously and to analyze the effectiveness of the ad campaigns.

No cookies to display.

Όταν δημιουργούμε ένα tuple, του αναθέτουμε συνήθως τιμές στη διάρκεια της δημιουργίας του. Αυτή η διαδικασία ονομάζεται “packing” του tuple. Το “packing” σημαίνει ότι συγκεντρώνουμε τις τιμές σε ένα tuple.

Επιπλέον, μπορούμε να αναθέσουμε τις τιμές του tuple σε μεταβλητές, ώστε να μπορούμε να αναφερθούμε σε κάθε μεταβλητή ξεχωριστά. Αυτή η διαδικασία ονομάζεται “unpacking” του tuple. Κατά το “unpacking”, αντιστοιχούμε κάθε στοιχείο του tuple σε μια μεταβλητή με βάση τη θέση του στο tuple.

Έτσι, το “packing” και το “unpacking” αποτελούν δύο συνηθισμένες διαδικασίες που σχετίζονται με τη χρήση των tuple στην Python.

Για παράδειγμα, μπορούμε να δημιουργήσουμε ένα tuple με τις ημερομηνίες γέννησης ενός ανθρώπου ως εξής:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
birth_dates = ("1980-01-01", "1995-05-15", "2002-11-30")
birth_dates = ("1980-01-01", "1995-05-15", "2002-11-30")
birth_dates = ("1980-01-01", "1995-05-15", "2002-11-30")

Στο παραπάνω παράδειγμα, το tuple birth_dates περιέχει τρεις ημερομηνίες γέννησης, αναπαρασταμένες ως συμβολοσειρές. Κάθε στοιχείο του tuple αναπαριστά την ημερομηνία γέννησης ενός ανθρώπου. Το tuple είναι αμετάβλητο, δηλαδή δεν μπορεί να τροποποιηθεί μετά τη δημιουργία του.

Το “unpacking” επιτρέπει την ανάθεση των τιμών ενός tuple σε μεταβλητές χρησιμοποιώντας μια συγκεκριμένη σύνταξη. Ας δούμε ένα παράδειγμα:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
my_tuple = ("apple", "banana", "cherry")
fruit1, fruit2, fruit3 = my_tuple
print(fruit1) # Εκτυπώνει 'apple'
print(fruit2) # Εκτυπώνει 'banana'
print(fruit3) # Εκτυπώνει 'cherry'
my_tuple = ("apple", "banana", "cherry") fruit1, fruit2, fruit3 = my_tuple print(fruit1) # Εκτυπώνει 'apple' print(fruit2) # Εκτυπώνει 'banana' print(fruit3) # Εκτυπώνει 'cherry'
my_tuple = ("apple", "banana", "cherry")
fruit1, fruit2, fruit3 = my_tuple

print(fruit1)  # Εκτυπώνει 'apple'
print(fruit2)  # Εκτυπώνει 'banana'
print(fruit3)  # Εκτυπώνει 'cherry'

Στον παραπάνω κώδικα, αποθηκεύουμε τις τιμές του tuple my_tuple σε τρεις μεταβλητές fruit1, fruit2 και fruit3. Κατά την εκχώρηση, το πλήθος των μεταβλητών πρέπει να είναι ίσο με το πλήθος των στοιχείων του tuple. Κάθε μεταβλητή λαμβάνει την αντίστοιχη τιμή από το tuple. Έτσι, μπορούμε να προσπελάσουμε και να χρησιμοποιήσουμε τις τιμές των στοιχείων του tuple μέσω των μεταβλητών.

Μπορούμε να χρησιμοποιήσουμε έναν αστερίσκο (*) για να αναφερθούμε σε όλες τις επιπλέον τιμές που δεν χωρούν στις μεταβλητές. Αυτές οι τιμές θα αντιστοιχιστούν στη μεταβλητή με τον αστερίσκο ως ένα νέο tuple.

Παρακάτω παρουσιάζεται ένα παράδειγμα:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
my_tuple = (1, 2, 3, 4, 5)
a, b, *rest = my_tuple
print(a) # Εκτυπώνει: 1
print(b) # Εκτυπώνει: 2
print(rest) # Εκτυπώνει: [3, 4, 5]
my_tuple = (1, 2, 3, 4, 5) a, b, *rest = my_tuple print(a) # Εκτυπώνει: 1 print(b) # Εκτυπώνει: 2 print(rest) # Εκτυπώνει: [3, 4, 5]
my_tuple = (1, 2, 3, 4, 5)
a, b, *rest = my_tuple

print(a)  # Εκτυπώνει: 1
print(b)  # Εκτυπώνει: 2
print(rest)  # Εκτυπώνει: [3, 4, 5]

Στον παραπάνω κώδικα, η μεταβλητή a αντιστοιχίζεται στην πρώτη τιμή του tuple, η μεταβλητή b αντιστοιχίζεται στη δεύτερη τιμή, και η μεταβλητή rest αντιστοιχίζεται στις υπόλοιπες τιμές ως ένα νέο tuple [3, 4, 5]. Έτσι, μπορούμε να αποθηκεύσουμε τις επιπλέον τιμές σε μια μεταβλητή και να τις χρησιμοποιήσουμε ανάλογα.

[adinserter block=”2″]

Στην Python, μπορούμε να χρησιμοποιήσουμε τη σύνταξη με τον αστερίσκο (*) για να ορίσουμε μια μεταβλητή με προεπιλεγμένη τιμή για τις υπόλοιπες τιμές ενός tuple. Αυτή η μεταβλητή θα αντιστοιχίσει τις υπόλοιπες τιμές σε μια λίστα.

Ένα παράδειγμα κώδικα είναι το εξής:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
def print_fruits(first, second, *rest):
# Εκτύπωση του πρώτου φρούτου
print("First fruit:", first)
# Εκτύπωση του δεύτερου φρούτου
print("Second fruit:", second)
# Εκτύπωση των υπόλοιπων φρούτων
print("Rest fruits:", rest)
# Κλήση της συνάρτησης print_fruits με παραμέτρους
# "apple", "banana", "cherry", "date", "elderberry"
print_fruits("apple", "banana", "cherry", "date", "elderberry")
def print_fruits(first, second, *rest): # Εκτύπωση του πρώτου φρούτου print("First fruit:", first) # Εκτύπωση του δεύτερου φρούτου print("Second fruit:", second) # Εκτύπωση των υπόλοιπων φρούτων print("Rest fruits:", rest) # Κλήση της συνάρτησης print_fruits με παραμέτρους # "apple", "banana", "cherry", "date", "elderberry" print_fruits("apple", "banana", "cherry", "date", "elderberry")
def print_fruits(first, second, *rest):
    # Εκτύπωση του πρώτου φρούτου
    print("First fruit:", first)
    
    # Εκτύπωση του δεύτερου φρούτου
    print("Second fruit:", second)
    
    # Εκτύπωση των υπόλοιπων φρούτων
    print("Rest fruits:", rest)

# Κλήση της συνάρτησης print_fruits με παραμέτρους
# "apple", "banana", "cherry", "date", "elderberry"
print_fruits("apple", "banana", "cherry", "date", "elderberry")

Στον παραπάνω κώδικα, ορίζεται η συνάρτηση print_fruits με τρία ορίσματα: first, second και *rest. Το *rest χρησιμοποιείται για να αποδεχθεί μια μεταβλητή αριθμό ορισμάτων.

Στη συνέχεια, καλούμε τη συνάρτηση print_fruits με τις παραμέτρους "apple", "banana", "cherry", "date" και "elderberry". Τα δύο πρώτα ορίσματα συνδέονται με τις μεταβλητές first και second, αντίστοιχα. Τα υπόλοιπα ορίσματα "cherry", "date" και "elderberry" συνδέονται με τη μεταβλητή rest, η οποία είναι μια πλειάδα που περιέχει όλα τα επιπλέον ορίσματα.

Στη συνέχεια, εκτυπώνονται τα φρούτα με τη χρήση των κατάλληλων μηνυμάτων εξόδου. Το πρώτο φρούτο είναι η μεταβλητή first, το δεύτερο φρούτο είναι η μεταβλητή second, και τα υπόλοιπα φρούτα είναι η μεταβλητή rest. Το rest είναι μια πλειάδα που περιέχει όλα τα υπόλοιπα ορίσματα που δόθηκαν κατά την κλήση της συνάρτησης.

Στο παράδειγμα, η έξοδος θα είναι:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
First fruit: apple
Second fruit: banana
Rest fruits: ('cherry', 'date', 'elderberry')
First fruit: apple Second fruit: banana Rest fruits: ('cherry', 'date', 'elderberry')
First fruit: apple
Second fruit: banana
Rest fruits: ('cherry', 'date', 'elderberry')

Η τιμή “cherry” αντιστοιχεί στην παράμετρο first, η τιμή “banana” αντιστοιχεί στην παράμετρο second, και οι υπόλοιπες τιμές (“cherry”, “date”, “elderberry”) αντιστοιχούν στη μεταβλητή rest ως μια λίστα.

Αν ο αριθμός των μεταβλητών είναι μικρότερος από τον αριθμό των τιμών, μπορείτε να προσθέσετε έναν αστερίσκο (*) μπροστά από το όνομα της μεταβλητής στον ορισμό της συνάρτησης. Αυτό θα καταχωρήσει τις επιπλέον τιμές ως μια λίστα στην αντίστοιχη μεταβλητή. Έτσι, θα μπορείτε να αντιμετωπίσετε δυναμικά τον αριθμό των τιμών που περνούν στη συνάρτηση.

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
fruits = ("apple", "banana", "cherry", "orange", "kiwi")
(a, b, *c) = fruits
print(a) # Εκτύπωση της μεταβλητής 'a', αναμένεται 'apple'
print(b) # Εκτύπωση της μεταβλητής 'b', αναμένεται 'banana'
print(c) # Εκτύπωση της μεταβλητής 'c', αναμένεται ['cherry', 'orange', 'kiwi']
fruits = ("apple", "banana", "cherry", "orange", "kiwi") (a, b, *c) = fruits print(a) # Εκτύπωση της μεταβλητής 'a', αναμένεται 'apple' print(b) # Εκτύπωση της μεταβλητής 'b', αναμένεται 'banana' print(c) # Εκτύπωση της μεταβλητής 'c', αναμένεται ['cherry', 'orange', 'kiwi']
fruits = ("apple", "banana", "cherry", "orange", "kiwi")
(a, b, *c) = fruits
print(a)  # Εκτύπωση της μεταβλητής 'a', αναμένεται 'apple'
print(b)  # Εκτύπωση της μεταβλητής 'b', αναμένεται 'banana'
print(c)  # Εκτύπωση της μεταβλητής 'c', αναμένεται ['cherry', 'orange', 'kiwi']

Με αυτόν τον κώδικα, χρησιμοποιούμε την τεχνική του unpacking για να αποσυνθέσουμε τη λίστα fruits σε μεταβλητές. Ορίζουμε τις μεταβλητές a και b για τα πρώτα δύο στοιχεία της λίστας, ενώ τη μεταβλητή c την ορίζουμε με τη χρήση της αστερίσκου * για να αντιστοιχίσουμε τα υπόλοιπα στοιχεία της λίστας.

Μπορούμε επίσης να χρησιμοποιήσουμε τον αστερίσκο (*) ως προεπιλεγμένη τιμή για τις υπόλοιπες τιμές. Αυτό σημαίνει ότι αν έχουμε μια λίστα με ορισμένα στοιχεία και θέλουμε να εκχωρήσουμε τα πρώτα στοιχεία σε μεμονωμένες μεταβλητές και τα υπόλοιπα στοιχεία σε μια μεταβλητή, μπορούμε να χρησιμοποιήσουμε τον αστερίσκο () ως προεπιλεγμένη τιμή για τη μεταβλητή που αντιπροσωπεύει τα υπόλοιπα στοιχεία.

Ένα παράδειγμα κώδικα είναι το εξής:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9]
first, second, *rest = numbers
print(first) # Εκτύπωση της μεταβλητής 'first', αναμένεται 1
print(second) # Εκτύπωση της μεταβλητής 'second', αναμένεται 2
print(rest) # Εκτύπωση της μεταβλητής 'rest', αναμένεται [3, 4, 5, 6, 7, 8, 9]
numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9] first, second, *rest = numbers print(first) # Εκτύπωση της μεταβλητής 'first', αναμένεται 1 print(second) # Εκτύπωση της μεταβλητής 'second', αναμένεται 2 print(rest) # Εκτύπωση της μεταβλητής 'rest', αναμένεται [3, 4, 5, 6, 7, 8, 9]
numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9]
first, second, *rest = numbers
print(first)  # Εκτύπωση της μεταβλητής 'first', αναμένεται 1
print(second)  # Εκτύπωση της μεταβλητής 'second', αναμένεται 2
print(rest)  # Εκτύπωση της μεταβλητής 'rest', αναμένεται [3, 4, 5, 6, 7, 8, 9]

Σε αυτόν τον κώδικα, οι μεταβλητές first και second θα πάρουν τις πρώτες δύο τιμές της λίστας numbers, ενώ η μεταβλητή rest θα πάρει τα υπόλοιπα στοιχεία χρησιμοποιώντας τον αστερίσκο (*) ως προεπιλεγμένη τιμή.

1 Ιουνίου, 2023
top
error: Content is protected !!
Μετάβαση σε γραμμή εργαλείων