Thí dụ
variable = 'I am a variable' def method_1[]: print["The Local Variable are:", locals[]] method_1[]
đầu ra
3. Sử dụng hasattr[]
Hàm này dùng để tìm sự tồn tại của một biến trong một lớp. Hàm này nhận hai tham số, đối tượng và varaiable_name. Nó trả về một giá trị Boolean, True nếu biến có mặt khác Sai . .
Thí dụ
class Week: name='Sunday' name= 1 day = Week[] print['Week has number?', hasattr[day, 'number']] print['Week has name?', hasattr[day, 'name']]
đầu ra
4. Sử dụng danh sách. đếm[]
Hàm này tìm số lần xuất hiện của một biến đã cho trong danh sách đã cho. Nếu giá trị trả về là lớn hơn 0 , thì nó biểu thị sự hiện diện của biến đó trong danh sách. Nó nhận một tham số, biến cần kiểm tra.
Trước khi đi sâu vào các phương pháp để kiểm tra tính khả dụng của một biến trong mã, trước tiên chúng ta hãy hiểu tại sao chúng ta cần làm như vậy?
Để trả lời câu hỏi trên, bạn phải hiểu “____________ và UnboundLocalError
trong Python là gì?”
🐞 NameError và UnboundLocalError trong Python
📌 Trong Python, nếu bạn cố gắng truy cập hoặc tương tác với một tên biến không được xác định, bạn sẽ nhận được ngoại lệ NameError: name 'variable_name' is not defined
Thí dụ
1
2
3
4
5
6
7
8
số = [30,40,25,70,50,35]
num = 40
cho x trong số.
if x > num:
add_up += 1
in[add_up]
đầu ra
Traceback [cuộc gọi gần đây nhất cuối cùng]
Tập tin “chính. py”, dòng 5, trong
add_up += 1
TênLỗi. tên 'add_up' không được xác định
❖ Vì biến có tên 'add_up' không được định nghĩa trong mã của chúng ta trong ví dụ trên, nên chúng ta có một NameError
📌 Tương tự, bạn nhận được ngoại lệ UnboundLocalError: local variable 'variable_name' referenced before assignment
khi tham chiếu một biến cục bộ trước khi gán nó trong chương trình của mình
Thí dụ
1
2
3
4
5
6
7
8
9
10
11
12
13
# Chương trình tìm trung bình cộng của một số
def tổng[num]:
l = len[num]
cho x in num:
trung bình += x / l
return avg
số = [30, 10, 60, 20]
in['Trung bình = ', tổng num:
if 'add_up' in dir[]: # đang kiểm tra biến trong danh sách tên
add_up += 1
khác.
add_up = 1
in["Không. của các giá trị > {} = {}". định dạng[num, add_up]]
đầu ra
Không. của các giá trị > 40 = 2
✨ Cách 3. Sử dụng thử và ngoại trừ Chặn
Các khối UnboundLocalError
1 và UnboundLocalError
2 là một trong những giải pháp hiệu quả nhất khi bạn phải xử lý ngoại lệ trong Python. Bạn có thể triển khai mã lỗi trong khối thử và xử lý nó trong khối ngoại trừ
Thí dụ
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
def tổng[num]:
l = len[num]
cho x in num:
thử.
avg += x / l # error code
ngoại trừ.
trung bình = x / l # exception handling code
return avg
số = [30, 10, 60, 20]
in['Trung bình = ', tổng