Μεταβίβαση αντικειμένων ως παραμέτρων στην Python

Οι μεταβλητές που περιέχουν αντικείμενα (λίστες, σύνολα, πλειάδες, λεξικά) σε συναρτήσεις μεταβιβάζονται με αναφορά. Ας ξαναγράψουμε τον κώδικα στη συνάρτηση έτσι ώστε το πρώτο στοιχείο της μεταβιβαζόμενης μεταβλητής να αλλάζει σε θαυμαστικό. Και κάτω από τη συνάρτηση να δηλώσουμε μια μεταβλητή, της οποίας η τιμή είναι μια λίστα:

pythondef func(tst):
  tst[0] = '!'
  print(tst)
  
lst = [1, 2, 3, 4, 5]

Δεδομένου ότι οι λίστες μεταβιβάζονται με αναφορά, κατά την κλήση της συνάρτησης θα αλλάξει και η τιμή lst στη γενική εμβέλεια:

pythonfunc(lst) # θα εκτυπώσει ['!', 2, 3, 4, 5]
print(lst) # θα εκτυπώσει ['!', 2, 3, 4, 5]
Задание 1

Ποιο θα είναι το αποτέλεσμα εκτέλεσης του ακόλουθου κώδικα:

pythondef func(lst):
  lst[0] = '!'
  
lst = [1, 2, 3, 4, 5]
func(lst)

print(lst)
Задание 2

Ποιο θα είναι το αποτέλεσμα εκτέλεσης του ακόλουθου κώδικα:

pythondef func(lst):
  lst[0] = '!'
  
lst = [1, 2, 3, 4, 5]
lst = func(lst)

print(lst)
Задание 3

Ποιο θα είναι το αποτέλεσμα εκτέλεσης του ακόλουθου κώδικα:

pythondef func(lst):
  lst = '!'

lst = [1, 2, 3, 4, 5]
func(lst[0])

print(lst)
Задание 4

Ποιο θα είναι το αποτέλεσμα εκτέλεσης του ακόλουθου κώδικα:

pythondef func(dct):
  for key in dct.keys():
    dct[key] += 2
  
dct = {
  'a': 1,
  'b': 2,
  'c': 3,
}

func(dct)
print(dct)