Scope Resolution trong Python liên quan đến việc xác định nơi mà một tên (biến, hàm, lớp, v.v.) có thể được truy cập trong chương trình. Nó giúp xác định ngữ cảnh mà tên đó có hiệu lực và cách mà Python xác định giá trị của tên khi có nhiều nơi mà tên đó có thể tồn tại.
Trong Python, có bốn loại phạm vi chính:
def my_function(): local_var = 10 # Biến cục bộ print(local_var) my_function() # In ra 10 # print(local_var) # Gây lỗi: local_var không được định nghĩa ở đây
def outer_function(): outer_var = 20 # Biến của hàm bao quanh def inner_function(): print(outer_var) # Truy cập vào biến của hàm bao quanh inner_function() outer_function() # In ra 20
global_var = 30 # Biến toàn cục def my_function(): print(global_var) # Truy cập biến toàn cục my_function() # In ra 30
print()
và len()
thuộc về phạm vi này.print(len("Hello")) # In ra 5, truy cập vào hàm tích hợp sẵn len
Scope Resolution là một phần quan trọng trong Python giúp quản lý và xác định ngữ cảnh của các biến và tên khác. Việc hiểu rõ các loại phạm vi khác nhau sẽ giúp bạn viết mã rõ ràng hơn và tránh được các lỗi không mong muốn.