Nếu một biến được định nghĩa bên trong một hàm, thì nó có phạm vi cục bộ. Mặt khác [được xác định bên ngoài bất kỳ chức năng nào], nó có phạm vi toàn cầu. Hãy xem cách kiểm tra sự tồn tại của chúng từng cái một
Sự tồn tại của một biến cục bộ
Chúng tôi sẽ sử dụng phương thức local[] để xem liệu một biến có tồn tại cục bộ hay không. Phương thức locals[] trả về một từ điển các biến cục bộ của phạm vi hiện tại. Hãy lấy một ví dụ
summ=4 def test[c]: a = 3 b = 4 result = a + b + c if 'result' in locals[]: print["The result variable exists in the local scope. Value is:", result] else: print["Sorry, the variable does not exist in the local scope."] if 'summ' in locals[]: print["The summ variable exists in the local scope. Value is:", summ] else: print["Sorry, the variable does not exist in the local scope."] test[4]
The result variable exists in the local scope. Value is: 11 Sorry, the variable does not exist in the local scope.
Trong ví dụ trên, chúng ta tạo một hàm test[]. Nó tính tổng của ba giá trị và lưu trữ nó trong biến kết quả
Sau đó, nó kiểm tra xem kết quả có tồn tại trong phạm vi cục bộ hay không. Vì đúng như vậy, điều kiện được đánh giá là True và câu lệnh trong khối if sẽ chạy
Mặt khác, biến tổng không phải là cục bộ. Do đó, điều kiện if của nó được đánh giá là Sai
Sự tồn tại của biến toàn cục
Để kiểm tra xem biến toàn cục có tồn tại hay không, chúng ta sẽ sử dụng phương thức globals[]. Nó trả về một từ điển chứa các biến toàn cục của phạm vi hiện tại. Hãy lấy một ví dụ
summ=4 def test[c]: a = 3 b = 4 result = a + b + c if 'result' in globals[]: print["The result variable exists in the local scope. Value is:", result] else: print["Sorry, the variable does not exist in the local scope."] if 'summ' in globals[]: print["The summ variable exists in the local scope. Value is:", summ] else: print["Sorry, the variable does not exist in the local scope."] test[4]
đầu ra
Sorry, the variable does not exist in the local scope. The summ variable exists in the local scope. Value is: 4
Đây là ví dụ tương tự như trên, ngoại trừ chúng tôi kiểm tra phạm vi toàn cầu. Vì summ là một biến toàn cục, giá trị của nó được hiển thị và kết quả là một biến cục bộ, nên điều kiện của nó được đánh giá là Sai
Marcel
này các cậu. Là tôi, Marcel, hay còn gọi là Maschi. Trên MaschiTuts, đó là tất cả về hướng dẫn. Bất kể chủ đề của bài viết là gì, mục tiêu luôn giống nhau. Cung cấp cho các bạn những hướng dẫn chuyên sâu và hữu ích nhất
Xin chào các lập trình viên. Trong bài viết này, chúng ta sẽ tìm hiểu cách kiểm tra xem một biến có tồn tại trong Python hay không. Các biến python là cục bộ hoặc toàn cầu. Trong bài viết này, chúng ta sẽ xem cách kiểm tra cả biến cục bộ và biến toàn cục trong python
nội dung
- Kiểm tra nếu biến tồn tại. Phạm vi địa phương
- Kiểm tra nếu biến tồn tại. Phạm vi toàn cầu
- Kiểm tra xem một biến có tồn tại trong danh sách trong Python không
- Kiểm tra xem biến có tồn tại trong url không
- Kiểm tra xem biến có tồn tại trong lớp không
- Python kiểm tra nếu biến tồn tại thì kiểm tra giá trị của nó
- Phải đọc
- Từ cuối cùng
Kiểm tra nếu biến tồn tại. Phạm vi địa phương
Để kiểm tra sự tồn tại của một biến cục bộ, chúng ta sử dụng hàmlocal[]
- cú pháp. người dân địa phương[]
- Thông số. không có tham số đầu vào
- Loại trả lại. thông tin được lưu trữ trong bảng ký hiệu cục bộ
ví dụ 1. để Kiểm tra xem biến có tồn tại cục bộ không
def function1[]: print["No Local Variables Present in Function1"] print["Local Variables:", locals[]] def function2[]: var = 'PythonPool' print['Local Variable Is Present in Function2'] print["Local Variables:", locals[]] function1[] function2[]
đầu ra
Trong hàm 1, không có biến cục bộ nào. Kết quả là, hàmlocal[] trả về một bảng ký hiệu cục bộ trống. Mặt khác, trong hàm 2, chúng tôi đã khai báo một biến cục bộ 'var' có giá trị 'PythonPool', do đó hàm local[] trả về một bảng ký hiệu cục bộ chứa biến và giá trị tương ứng của nó
ví dụ 2. Để sử dụng locals[] để cập nhật một biến
def function1[]: print["No Local Variables Present in Function1"] print["Local Variables:", locals[]] def function2[]: var = 'PythonPool' print['Local Variable Is Present in Function2'] print["Local Variables:", locals[]] locals[]['var'] = 'Coding with Python' print["After updating:", locals[]] function1[] function2[]
đầu ra
Giống như ví dụ trước, ở đây hàm 1 cũng không có biến cục bộ. Kết quả là, hàmlocal[] trả về một bảng ký hiệu cục bộ trống. Và tương tự, trong hàm 2, chúng tôi đã khai báo một biến cục bộ 'var' có giá trị 'PythonPool', do đó hàm local[] trả về một bảng ký hiệu cục bộ chứa biến và giá trị tương ứng của nó. Sau đó, chúng tôi đã cố gắng cập nhật giá trị của biến bằng phương thức local[] nhưng như chúng tôi có thể thấy giá trị của biến không được cập nhật
Kiểm tra nếu biến tồn tại. Phạm vi toàn cầu
Để kiểm tra sự tồn tại của một biến trên toàn cục, chúng ta sử dụng hàm globals[]
- cú pháp. người dân địa phương[]
- Thông số. không có tham số đầu vào
- Loại trả lại. thông tin được lưu trữ trong bảng ký hiệu toàn cầu hiện tại
ví dụ 1. Kiểm tra xem biến có tồn tại trên toàn cầu không
var = 'Python Pool' def function1[]: print['The global present are:'] print[globals[]] function1[]
đầu ra
Như chúng ta có thể thấy, khi hàm globals[] được gọi, các biến trong bảng ký hiệu toàn cục được hiển thị trên màn hình đầu ra
Ví dụ2. Sử dụng globals[] để cập nhật một biến
var = 'Python Pool' print['Before modification:'] print[globals[]] globals[]['var'] = 'Coding in Python' print['After modification:'] print[globals[]]
đầu ra
Chúng ta có thể thấy rằng bằng cách sử dụng hàm globals[], chúng ta đã cập nhật giá trị của biến toàn cục ‘var’. Giá trị thay đổi cũng được cập nhật trong bảng ký hiệu
Kiểm tra xem một biến có tồn tại trong danh sách trong Python không
Có nhiều cách khác nhau để người ta có thể kiểm tra xem một biến có tồn tại trong danh sách hay không. Hãy để chúng tôi thảo luận từng cái một
1] Sử dụng toán tử “in”
Chúng ta có thể sử dụng toán tử “in” để kiểm tra xem một biến có xuất hiện trong danh sách hay không
- cú pháp. var trong danh sách
- Giá trị trả về. Đúng, nếu biến có trong danh sách, ngược lại là sai
________số 8
đầu ra
Trong mã này, trong danh sách các màu, chúng tôi đã sử dụng toán tử “in” để kiểm tra xem màu 'xanh lam' có trong danh sách hay không
2] Sử dụng danh sách. đếm[]
Hàm này được sử dụng để tìm số lần xuất hiện của một biến nhất định trong danh sách đã cho. Nếu giá trị trả về của hàm này lớn hơn 0, thì nó khẳng định sự hiện diện của biến đó trong danh sách
cú pháp
list.count[var]
Giá trị trả về
số lần xuất hiện của biến đã cho trong danh sách
The result variable exists in the local scope. Value is: 11 Sorry, the variable does not exist in the local scope.0
đầu ra
Ở đây, sự xuất hiện của màu xanh lam lớn hơn 0, biểu thị sự hiện diện của nó trong danh sách
Kiểm tra xem biến có tồn tại trong url không
Để kiểm tra xem một biến nhất định có xuất hiện trong một URL hay không, chúng ta chỉ cần sử dụng toán tử “in”
The result variable exists in the local scope. Value is: 11 Sorry, the variable does not exist in the local scope.1
đầu ra
Kiểm tra xem biến có tồn tại trong lớp không
Để kiểm tra sự tồn tại của một biến trong lớp, chúng ta có thể sử dụng hàm hasattr[]
- cú pháp. hasattr[]
- danh sách tham số
- đối tượng – đối tượng có thuộc tính được đặt tên sẽ được kiểm tra
- name – tên của thuộc tính cần tìm kiếm
- Giá trị trả về. Đúng, nếu đối tượng chứa thuộc tính được đặt tên, ngược lại là sai
The result variable exists in the local scope. Value is: 11 Sorry, the variable does not exist in the local scope.2
đầu ra
Ở đây, lớp có một biến 'id' và do đó, nó trả về True. Mặt khác, nó không có biến gọi là 'chủ đề' và vì vậy nó trả về giá trị Sai
Python kiểm tra nếu biến tồn tại thì kiểm tra giá trị của nó
Chúng ta đã thấy cách kiểm tra sự hiện diện của một biến trong các tình huống khác nhau. Bây giờ chúng ta sẽ xem cách lấy giá trị của các phần tử này
1] sử dụng toàn cầu[]
The result variable exists in the local scope. Value is: 11 Sorry, the variable does not exist in the local scope.3
def function1[]: print["No Local Variables Present in Function1"] print["Local Variables:", locals[]] def function2[]: var = 'PythonPool' print['Local Variable Is Present in Function2'] print["Local Variables:", locals[]] locals[]['var'] = 'Coding with Python' print["After updating:", locals[]] function1[] function2[]0
2] sử dụng getattr[]
def function1[]: print["No Local Variables Present in Function1"] print["Local Variables:", locals[]] def function2[]: var = 'PythonPool' print['Local Variable Is Present in Function2'] print["Local Variables:", locals[]] locals[]['var'] = 'Coding with Python' print["After updating:", locals[]] function1[] function2[]1
def function1[]: print["No Local Variables Present in Function1"] print["Local Variables:", locals[]] def function2[]: var = 'PythonPool' print['Local Variable Is Present in Function2'] print["Local Variables:", locals[]] locals[]['var'] = 'Coding with Python' print["After updating:", locals[]] function1[] function2[]2
Phải đọc
- BIẾN TĨNH CỦA PYTHON VÀ CÁC PHƯƠNG PHÁP CỦA NÓ
- Null trong Python là gì. Không có gì trong Python
- Mã Python để chuyển đổi bảng thành dạng bình thường đầu tiên
Từ cuối cùng
Trong bài viết này, chúng ta đã học cách kiểm tra xem một biến có được khai báo hay không ở cả khía cạnh cục bộ và toàn cục. Chúng ta cũng đã thấy cả hai hàm này khác nhau như thế nào trong việc cập nhật giá trị của một biến. Chúng tôi cũng đã học cách kiểm tra một biến trong các tình huống khác nhau như trong danh sách, lớp, v.v. Và cuối cùng, chúng ta đã biết cách truy xuất giá trị của các biến này
Tuy nhiên, nếu bạn có bất kỳ nghi ngờ hoặc câu hỏi nào, hãy cho tôi biết trong phần bình luận bên dưới. Tôi sẽ cố gắng giúp bạn trong thời gian sớm nhất