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

Hôm nay, chúng ta sẽ xem cách kiểm tra xem một biến có tồn tại hay không. Trong Python, một biến có thể được định nghĩa trên toàn cục hoặc cục bộ

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

đầ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

đầ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

đầ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

đầ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

đầ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

đầ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

đầ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

đầ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

Chủ Đề