Computer >> Máy Tính >  >> Lập trình >> Python

hàm vars () trong Python

Hàm

vars () thuộc bộ sưu tập các hàm có sẵn được cung cấp bởi thư viện chuẩn Python. Nó trả về thuộc tính __dic__ của một đối tượng được liên kết cho bảng điều khiển.

Cú pháp

vars(object)

Loại trả lại

<Dictionary Type>

Tham số

hàm vars () chỉ chấp nhận một tham số. Nó nhận một đối tượng làm tham số của nó, có thể là bất kỳ mô-đun, lớp hoặc bất kỳ đối tượng nào có thuộc tính __dict__ được liên kết với nó.

Tham số này là tùy chọn về bản chất. Trong trường hợp hàm được sử dụng mà không có tham số Một từ điển chứa bảng ký hiệu cục bộ sẽ được hiển thị.

Có các trường hợp ngoại lệ

Nếu đối số được truyền không khớp với thuộc tính, nó sẽ làm tăng ngoại lệ TypeError.

Phạm vi

Vars () hoạt động giống như phương thức local () khi không có đối số nào được truyền. Phương thức local () sửa đổi và trả về từ điển của bảng ký hiệu cục bộ hiện tại.

Cơ chế làm việc

liên kết với thuộc tính __name__; tuple cơ sở được chia thành từng mục với các lớp cơ sở và liên kết thuộc tính __bases__ &từ điển là không gian tên hiện tại chứa các định nghĩa có trong nội dung lớp và được sao chép sang loại từ điển chuẩn để hiển thị dưới dạng thuộc tính __dict__.

Chúng ta hãy thảo luận một số ví dụ để chúng ta có thể nắm được khái niệm về hàm vars ()

Ví dụ

class test:
   def __init__(self, integer_1=555, integer_2=787):
      self.integer_1 = integer_1
      self.integer_2 = integer_2
   obj_test = test()
print(vars(obj_test))

Đầu ra

{'integer_1': 555, 'integer_2': 787}

Ví dụ

class sample:
   company = "Tutorial's Point "
   Number = 4
   Topic = "Python 3.x."
obj = vars(sample)
print(obj)

Đầu ra

{'__doc__': None, '__weakref__': <attribute '__weakref__' of 'sample' objects>, 'Topic': 'Python 3.x.', 'company': "Tutorial's Point ", '__module__': '__main__', 'Number': 4, '__dict__': <attribute '__dict__' of 'sample' objects>}

Ví dụ

class test():
# Python __repr__() function returns the representation of the object.
# It may contain any valid expression such as tuples, list, dictionary, string, set etc
   def __repr__(self):
      return "Tutorial's point"
   def localvariables(self):
      number = 4
      return locals()

if __name__ == "__main__":
   obj = test()
   print (obj.localvariables())

Đầu ra

{'self': Tutorial's point, 'number': 4}

Giải thích

Mã ví dụ đầu tiên mô tả việc sử dụng các thuộc tính __dict__ được liên kết với phương thức khởi tạo của lớp với giá trị mặc định được đặt trong phương thức phương thức khởi tạo.4

Mã ví dụ thứ hai mô tả việc sử dụng các thuộc tính __dict__ được liên kết với chính lớp có thuộc tính __doc__ trống.

Mã ví dụ thứ ba mô tả việc sử dụng các thuộc tính __dict__ được liên kết với một hàm do người dùng xác định bên trong lớp với biến trong phạm vi cục bộ.

Kết luận

Trong bài viết này, chúng ta đã học cách triển khai hàm vars trong các trường hợp khác nhau trong Python 3.x. Hoặc sớm hơn. Bạn có thể triển khai cùng một thuật toán để sử dụng hàm vars bất cứ khi nào cần.