Κατανόηση Προορισμών FOR Loop στον Προγραμματισμό

Προορισμός FOR Loop: Επεξήγηση Πηγής Επανάληψης

Στον προγραμματισμό, ένας FOR προορισμός (πιο συχνά ονομάζεται iterable ή iteration source) ορίζει τη συλλογή τιμών που μια μεταβλητή βρόχου θα αναλάβει διαδοχικά κατά κάθε επανάληψη ενός FOR loop.

Γενική Σύνταξη

for identifier in destination: # loop body commands 

Όπου:

  • identifier — η μεταβλητή βρόχου (λαμβάνει κάθε τιμή από τον προορισμό)
  • destination — οποιοδήποτε επαναληπτικό αντικείμενο (ο FOR προορισμός)
  • loop body — εντολές που εκτελούνται για κάθε τιμή

Συνηθισμένοι Τύποι FOR Προορισμού (Παραδείγματα Python)

1. Επανάληψη Λίστας

numbers = [1, 2, 3, 4] for number in numbers: print(number) # Output: 1, 2, 3, 4 (κάθε ένα σε νέα γραμμή) 

2. Αντικείμενο Range (Αριθμητικές Ακολουθίες)

for number in range(5): print(number) # Output: 0, 1, 2, 3, 4 

3. Επανάληψη String (Χαρακτήρας-κατά-Χαρακτήρα)

word = "Hello" for letter in word: print(letter) # Output: H, e, l, l, o 

4. Αντικείμενο Αρχείου (Γραμμή-κατά-Γραμμή)

with open("myfile.txt", "r") as file: for line in file: print(line.strip()) 

5. Επανάληψη Λεξικού

ages = {"Alice": 30, "Bob": 25} for name, age in ages.items(): print(f"{name} is {age} years old") 

6. Επανάληψη Set

unique_numbers = {1, 2, 3, 2, 1} for num in unique_numbers: print(num) # Output: 1, 2, 3 (η σειρά δεν εγγυάται) 

Κλειδιά Έννοιες

  • Πρωτόκολλο Επανάληψης: Οποιοδήποτε αντικείμενο που υλοποιεί __iter__() ή __getitem__() μπορεί να είναι FOR προορισμός
  • Αργή Αξιολόγηση: Generators και range αντικείμενα υπολογίζουν τιμές κατ' απαίτηση, εξοικονομώντας μνήμη
  • Αποσυμπίεση: Πολλαπλές αναγνωριστικά μπορούν να αποσυμπιέσουν στοιχεία tuple: for x, y in points:
  • Else Clause: Το for-else της Python εκτελεί το else block αν ο βρόχος ολοκληρωθεί χωρίς break

Διακυμάνσεις Γλώσσας

Ενώ η σύνταξη διαφέρει, η έννοια υπάρχει σε όλες τις γλώσσες:

  • JavaScript: for (const item of iterable)
  • Java: for (Type item : collection)
  • C++: Range-based for (auto& item : container)
  • C#: foreach (var item in collection)
Copyright Ταξίδια © https://el.ynyoo.com