Làm cách nào để kiểm tra xem một biến có tồn tại trong một lớp python không?

Hàm có sẵn này cũng không nhận bất kỳ tham số nào. Nó trả về tất cả thông tin được lưu trữ trong bảng ký hiệu chung hiện tại .

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 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ì?”

🐞  NameErrorUnboundLocalError 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ửngoại trừ Chặn

Các khối UnboundLocalError1 và UnboundLocalError2 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

Chủ Đề