Hướng dẫn python check if class has member variable - python kiểm tra xem lớp có biến thành viên không

Bạn có thể sử dụng thuộc tính

In [3]: "b" in Foo.__dict__.values[]
Out[3]: True
7 bao gồm một lớp, ví dụ:

In [1]: class Foo[object]:
   ...:     bar = "b"
   ...:     zulu = "z"
   ...:     
In [2]: "bar"  in Foo.__dict__
Out[2]: True

Hoặc khi bạn đang tìm kiếm các giá trị, sử dụng

In [3]: "b" in Foo.__dict__.values[]
Out[3]: True
8:

In [3]: "b" in Foo.__dict__.values[]
Out[3]: True

Như Peter Wood chỉ ra,

In [3]: "b" in Foo.__dict__.values[]
Out[3]: True
9 tích hợp cũng có thể được sử dụng để truy xuất
In [3]: "b" in Foo.__dict__.values[]
Out[3]: True
7:

In [12]: "b" in vars[Foo].values[]
Out[12]: True

Thuộc tính

In [3]: "b" in Foo.__dict__.values[]
Out[3]: True
7 được sử dụng làm không gian tên cho các lớp và do đó cũng sẽ trả về tất cả các phương thức, phương thức ma thuật và thuộc tính riêng trong lớp, vì vậy, đối với sự mạnh mẽ, bạn có thể muốn sửa đổi tìm kiếm của mình một chút để bù.

Trong trường hợp của bạn, bạn có thể muốn sử dụng

In [12]: "b" in vars[Foo].values[]
Out[12]: True
2, chẳng hạn như:

class States[object]:
    ALABAMA = "AL"
    FLORIDA = "FL"

    @classmethod
    def is_state[cls, to_find]:
        print[vars[cls]]
        states = [val for key, val in vars[cls].items[]
                  if not key.startswith["__"]
                  and isinstance[val, str]]
        return to_find in states

States.is_state["AL"] # True
States.is_state["FL"] # True
States.is_state["is_state"] # False
States.is_state["__module__"] # False

Cập nhật câu trả lời rõ ràng của câu hỏi OPS, nhưng độc giả cũng có thể quan tâm đến thư viện

In [12]: "b" in vars[Foo].values[]
Out[12]: True
3 trong Python 3, điều này hoàn toàn có thể là một thùng chứa tốt hơn cho dữ liệu như thế này. This clearly answer's the OPs question, but readers may also be interested in the
In [12]: "b" in vars[Foo].values[]
Out[12]: True
3 library in Python 3, which would quite possibly be a better container for data such as this.

Xin chào các lập trình viên !! Trong bài viết này, chúng tôi sẽ học cách kiểm tra xem một biến có tồn tại trong Python không. Các biến Python là địa phương hoặc toàn cầu. Trong bài viết này, chúng ta sẽ xem cách kiểm tra cả hai biến địa phương và toàn cầu trong Python.

  • Kiểm tra nếu biến có tồn tại không: phạm vi cục bộ
  • Kiểm tra nếu biến có tồn tại không: phạm vi toàn cầu
  • Kiểm tra xem một biến có tồn tại trong một danh sách trong Python:
  • 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:
  • Kiểm tra Python nếu biến tồn tại sau đó kiểm tra giá trị của nó
  • Phải đọc
  • Từ cuối cùng

Kiểm tra nếu biến có tồn tại không: phạm vi cục bộ

Kiểm tra nếu biến có tồn tại không: phạm vi toàn cầulocals[] function.

  • Kiểm tra xem một biến có tồn tại trong một danh sách trong Python: locals[]
  • Kiểm tra xem biến có tồn tại trong URL không: no input parameter
  • Để kiểm tra sự tồn tại của một biến cục bộ, chúng tôi sử dụng hàm locals []. information stored in the local symbol table

Cú pháp: & nbsp; locals []

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[] 

Output:

Đầu ra

Tham số: & nbsp; không có tham số đầu vào

Loại trả về: & nbsp; thông tin được lưu trữ trong bảng biểu tượng cục bộ

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[]

Output:

Đầu ra

Ví dụ 1: Để kiểm tra xem biến có tồn tại cục bộ không

Kiểm tra nếu biến có tồn tại không: phạm vi toàn cầu

Kiểm tra xem một biến có tồn tại trong một danh sách trong Python:globals[] function.

  • Kiểm tra xem một biến có tồn tại trong một danh sách trong Python: locals[]
  • Kiểm tra xem biến có tồn tại trong URL không: no input parameter
  • Để kiểm tra sự tồn tại của một biến cục bộ, chúng tôi sử dụng hàm locals []. information stored in current global symbol table

Cú pháp: & nbsp; locals []

var = 'Python Pool'

def function1[]: 
    print['The global present are:']
    print[globals[]]

function1[] 

Output:

Đầu ra

Tham số: & nbsp; không có tham số đầu vào

Loại trả về: & nbsp; thông tin được lưu trữ trong bảng biểu tượng cục bộ

var = 'Python Pool'

print['Before modification:']
print[globals[]]

globals[]['var'] = 'Coding in Python'
print['After modification:']
print[globals[]]

Output:

Đầu ra

Ví dụ 1: Để kiểm tra xem biến có tồn tại cục bộ không

Trong chức năng1, không có biến cục bộ hiện diện. Kết quả là, hàm locals [] trả về một bảng ký hiệu cục bộ trống. Mặt khác, trong Function2, chúng tôi đã khai báo một biến cục bộ ‘var, có giá trị‘ pythonpool, do đó, hàm locals [] 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

Giống như trong ví dụ trước, ở đây cũng chức năng1 không có biến cục bộ. Kết quả là, hàm locals [] trả về một bảng ký hiệu cục bộ trống. Và tương tự, trong Function2, chúng tôi đã khai báo một biến cục bộ ‘var, có giá trị‘ pythonpool, do đó, hàm locals [] 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 locals [] nhưng vì chúng tôi có thể thấy giá trị của biến không được cập nhật.

  • Để kiểm tra sự tồn tại của một biến trên toàn cầu, chúng tôi sử dụng hàm Globals []. var in List
  • Loại trả về: & nbsp; Thông tin được lưu trữ trong bảng biểu tượng toàn cầu hiện tại True, if the variable is present in the list otherwise false.

list_color = ['red','blue','orange','green']
var = 'blue'
print['The list is: ' ]
print[list_color]
print['The variable we are searching is: '+var]
print[]
if var in list_color:
    print['The variable is present in the list']
else:
    print['The variable is not present in the list']

Output:

Đầu ra

Ví dụ 1: Kiểm tra xem biến có tồn tại trên toàn cầu không

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ầu đượ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

Syntax:

list.count[var]

Giá trị trở lại:

Số lần xuất hiện của biến đã cho trong danh sách

In [3]: "b" in Foo.__dict__.values[]
Out[3]: True
0

Output:

Đầu ra

Ở đây, sự xuất hiện của màu xanh 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ó mặt trong URL hay không, chúng ta có thể chỉ cần sử dụng toán tử trong các toán tử trong các bộ điều khiển.

In [3]: "b" in Foo.__dict__.values[]
Out[3]: True
1

Output:

Đầu ra

Ở đây, sự xuất hiện của màu xanh 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ó mặt trong URL hay không, chúng ta có thể chỉ cần sử dụng toán tử trong các toán tử trong các bộ điều khiển.hasattr[] 
  • 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 [] & NBSP; – object whose named attribute is to be checked
    • Cú pháp: HasAttr [] & nbsp; – name of the attribute to be searched
  • Danh sách tham số:True, if the object contains the given named attribute, otherwise false

In [3]: "b" in Foo.__dict__.values[]
Out[3]: True
2

Output:

Đầu ra

Ở đây, sự xuất hiện của màu xanh 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ó mặt trong URL hay không, chúng ta có thể chỉ cần sử dụng toán tử trong các toán tử trong các bộ điều khiển.

Kiểm tra xem biến có tồn tại trong lớp không:

In [3]: "b" in Foo.__dict__.values[]
Out[3]: True
3

In [3]: "b" in Foo.__dict__.values[]
Out[3]: True
4

Để 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 [] & NBSP;

In [3]: "b" in Foo.__dict__.values[]
Out[3]: True
5

In [3]: "b" in Foo.__dict__.values[]
Out[3]: True
6

Cú pháp: HasAttr [] & nbsp;

  • Danh sách tham số:
  • đối tượng & nbsp; - đối tượng có thuộc tính được đặt tên
  • Tên & nbsp; - Tên của thuộc tính sẽ được tìm kiếm

Giá trị trả về: Đúng, nếu đối tượng chứa thuộc tính được cho đã cho, nếu không thì sai

Ở đây, lớp có một biến id id và do đó nó trả về true. Mặt khác, nó không có biến gọi là ‘chủ đề và do đó, nó trả về một giá trị sai.

Kiểm tra Python nếu biến tồn tại sau đó kiểm tra giá trị của nó

Chúng tôi đã thấy cách kiểm tra sự hiện diện của một biến trong các kịch bản khác nhau. Bây giờ chúng ta sẽ thấy cách lấy lại các giá trị của các yếu tố này.

Bài Viết Liên Quan

Chủ Đề