Αλληλεπίδραση Περιοχών Ορατότητας στην Python

Υπάρχουν περιπτώσεις όπου μια εξωτερική (καθολική) και μια εσωτερική (τοπική) μεταβλητή έχουν το ίδιο όνομα:

pythonnum = 1

def func():
  num = 2
  print(num)

Σε αυτή την περίπτωση, είναι σημαντικό να κατανοήσουμε ότι η τοπική num αν και έχει το ίδιο όνομα με την καθολική, για την Python είναι μια διαφορετική μεταβλητή. Αυτό σημαίνει ότι η καθολική num ΔΕΝ αναγράφεται μέσα στη συνάρτηση, αλλά διατηρεί την αρχική της τιμή. Κατά την κλήση της συνάρτησης func στην κονσόλα θα εμφανιστεί η τιμή μόνο της τοπικής num, ενώ μέσω του print - η τιμή της καθολικής μεταβλητής:

pythonfunc() # θα εμφανίσει 2
print(num) # θα εμφανίσει 1
Задание 1

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

pythonnum = 10

def func():
  num = 5
  return num

func()
print(num)
Задание 2

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

pythonnum = 3

def func():
  num = 4
  return num

num = func()
print(num)
Задание 3

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

pythonnum = 1

def func():
  num = 2
  return 1

num = func()
print(num)
Задание 4

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

pythonnum1 = 1

def func():
  num2 = 2

func()
print(num1)
Задание 5

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

pythonnum1 = 1

def func():
  num2 = 2

func()
print(num2)
Задание 6

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

pythonnum1 = 1

def func():
  num2 = 2

func()
num2 = 3
print(num2)
Задание 7

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

pythonnum1 = 1
num2 = 2

def func():
  num2 = 3

func()
print(num2)
Задание 8

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

pythonnum1 = 1

def func():
  num1 = 2

print(num1)