NỘI DUNG BÀI VIẾT:
I. Biến Locals Trong Hàm
II. Biến Globals Trong Hàm
III. Hàm Globals và Hàm Globals
IV. Kết Luận
I. Biến Locals Trong Hàm

Biến locals là biến được tạo ra bên trong 1 hàm. Nếu ta sử dụng biến đó bên ngoài hàm thì sẽ báo lỗi
Ví dụ 1:
Các câu lệnh:
def calcul(a,b):
x = a*b
print(x)
calcul(6,9)
#In ra biến x
print(x)
Kết quả trả ra:
54
Traceback (most recent call last):
File “c:\Users\Admin\Desktop\Lam video\Chua bai\test_fix.py”, line 8, in <module>
print(x)
NameError: name ‘x’ is not defined

Đối với biến x bên trong hàm, khi ta sử dụng x bên ngoài hàm thì sẽ báo lỗi. Do biến locals chỉ có ý nghĩa bên trong hàm chứa nó.
II. Biến Globals Trong Hàm
Để khắc phục nhược điểm của biến Locals, Python cung cấp 1 công cụ là lệnh Global.
Cú pháp:
global variable
Ví dụ 2 (sử dụng biến Global):
Các câu lệnh:
def calcul(a,b):
global x #Khởi tạo biến global
x = a*b
print(x)
calcul(6,9)
#In ra biến x
print(x)
Kết quả trả ra:
54
54

III. Hàm Locals và Hàm Globals
Hai hàm này sẽ trả ra tất cả các biến Locals và Globals.
Kết quả trả ra của hai hàm này là một Dict. Với key là tên biến và value là giá trị của biến.
Ví dụ 3:
Các câu lệnh:
def calcul1(a,b):
global x #Khởi tạo biến global
x = a*b
print(x)
calcul1(6,9)
#Khởi tạo hàm 2
y = c+d
print(y)
#Truyền vào hàm 2 các phần tử 9,6
calcul2(9,6)
#In ra các biến locals:
print(locals())
#In ra các biến globals:
print(globals())
Kết quả trả ra:
54
15
{‘__name__’: ‘__main__’, ‘__doc__’: None, ‘__package__’: None, ‘__loader__’: <_frozen_importlib_external.SourceFileLoader object at 0x000001F8401EA100>, ‘__spec__’: None, ‘__annotations__’: {}, ‘__builtins__’: <module ‘builtins’ (built-in)>, ‘__file__’: ‘c:\\Users\\Admin\\Desktop\\Lam video\\Chua bai\\test_fix.py’, ‘__cached__’: None, ‘calcul1’: <function calcul1 at 0x000001F84021DF70>, ‘x’: 54, ‘calcul2’: <function calcul2 at 0x000001F8402BCF70>}
{‘__name__’: ‘__main__’, ‘__doc__’: None, ‘__package__’: None, ‘__loader__’: <_frozen_importlib_external.SourceFileLoader object at 0x000001F8401EA100>, ‘__spec__’: None, ‘__annotations__’: {}, ‘__builtins__’: <module ‘builtins’ (built-in)>, ‘__file__’: ‘c:\\Users\\Admin\\Desktop\\Lam video\\Chua bai\\test_fix.py’, ‘__cached__’: None, ‘calcul1’: <function calcul1 at 0x000001F84021DF70>, ‘x’: 54, ‘calcul2’: <function calcul2 at 0x000001F8402BCF70>}

IV. Kết Luận
Như vậy, chúng tôi đã tiếp tục giới thiệu tới các bạn các khái niệm cơ bản của hàm (function) trong Python. Nếu có vấn đề nào chưa rõ, các bạn hãy liên hệ với chúng tôi để được giúp đỡ.