Tương tác giữa các phạm vi trong Python

Có những trường hợp khi biến bên ngoài (toàn cục) và biến bên trong (cục bộ) có cùng một tên:

pythonnum = 1

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

Đồng thời, điều quan trọng cần hiểu là biến cục bộ num dù có cùng tên với biến toàn cục, nhưng đối với Python thì nó là một biến khác. Điều này có nghĩa là biến toàn cục num KHÔNG bị ghi đè bên trong hàm, mà giữ nguyên giá trị ban đầu của nó. Khi gọi hàm func, console sẽ hiển thị chỉ giá trị của biến cục bộ num, còn qua print - giá trị của biến toàn cục:

pythonfunc() # sẽ hiển thị 2
print(num) # sẽ hiển thị 1
Задание 1

Kết quả thực hiện đoạn mã sau sẽ là gì:

pythonnum = 10

def func():
  num = 5
  return num

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

Kết quả thực hiện đoạn mã sau sẽ là gì:

pythonnum = 3

def func():
  num = 4
  return num

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

Kết quả thực hiện đoạn mã sau sẽ là gì:

pythonnum = 1

def func():
  num = 2
  return 1

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

Kết quả thực hiện đoạn mã sau sẽ là gì:

pythonnum1 = 1

def func():
  num2 = 2

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

Kết quả thực hiện đoạn mã sau sẽ là gì:

pythonnum1 = 1

def func():
  num2 = 2

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

Kết quả thực hiện đoạn mã sau sẽ là gì:

pythonnum1 = 1

def func():
  num2 = 2

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

Kết quả thực hiện đoạn mã sau sẽ là gì:

pythonnum1 = 1
num2 = 2

def func():
  num2 = 3

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

Kết quả thực hiện đoạn mã sau sẽ là gì:

pythonnum1 = 1

def func():
  num1 = 2

print(num1)