Sắc thái làm việc với phạm vi trong Python

Hãy xem xét các sắc thái quan trọng khi làm việc với biến cục bộ và biến toàn cục.

Giả sử chúng ta có biến toàn cục num. Hãy tạo một hàm func, hàm này sẽ in biến toàn cục num ra console:

pythonnum = 1

def func():
  print(num)

func() # sẽ in ra 1

Bây giờ hãy khai báo biến cục bộ num ở dòng dưới hàm print. Sau khi thực thi mã, một lỗi sẽ được in ra console. Điều này xảy ra vì Python bên trong hàm coi num chỉ là một biến cục bộ, biến này chưa được khai báo:

pythonnum = 1

def func():
  print(num) # sẽ báo lỗi
  num = 2

Bây giờ hãy viết lại mã bên trong hàm để giá trị của biến num tăng lên 2:

pythonnum = 1

def func():
  num += 2 # sẽ báo lỗi

Lỗi được gây ra bởi biểu thức num += 2 đại diện cho cách viết sau:

pythonnum = num + 2

Tuy nhiên, bản thân biến cục bộ, mà việc cộng thêm được thực hiện, chưa được khai báo. Và do đó Python báo lỗi, vì không thể cộng một số vào một giá trị không tồn tại.

Задание 1

Kết quả thực thi mã sau đây sẽ là gì:

pythontst = '12'

def func():
  tst = 12
  return tst
  
print(tst)
Задание 2

Kết quả thực thi mã sau đây sẽ là gì:

pythontst = 'abc'

def func():
  tst = tst.upper()
  return tst

func()
print(tst)
Задание 3

Kết quả thực thi mã sau đây sẽ là gì:

pythontst = 'abc'

def func():
txt = tst.upper()
return txt
    
print(func())
print(tst)