Hướng dẫn python dictionary wrapper - trình bao bọc từ điển python
Đây là một lớp đơn giản để lộ các khóa của một thuộc tính lớp, làm cho ít gõ hơn khi truy cập các giá trị từ điển. Lớp này cũng thực thi rằng hình dạng tổng thể của từ điển được duy trì.shape is maintained.
Việc sử dụng phổ biến của lớp này có thể được truy xuất và cập nhật các đối tượng mô hình từ các dịch vụ web (nghĩa là các dịch vụ web yên tĩnh) trong đó hình dạng của đối tượng mô hình phải được giữ nguyên giữa khi nó được truy xuất và khi nó được lưu. Chẳng hạn, nếu được sử dụng với các yêu cầu, đầu ra của cuộc gọi JSON () của yêu cầu có thể được gói và đối tượng kết quả sẽ hoạt động theo cách tương tự như một đối tượng mô hình thực. Các giá trị có thể được thao tác và sau đó chưa được gửi lại để gửi lại máy chủ bằng cách sử dụng cuộc gọi Post () yêu cầu. Sử dụng python_dict_wrapper khá đơn giản. Bạn bao bọc () một từ điển (hoặc danh sách). Sau đó, bạn thao túng và/hoặc truy vấn nó. Cuối cùng, bạn có thể mở () để lấy lại từ điển (hoặc danh sách). Một ví dụ tầm thường:
Cài đặtPython_dict_wrapper có sẵn trên PYPI, vì vậy cách dễ nhất để cài đặt nó là bằng cách sử dụng PIP:
hàm make_wrapper (** kargs)Make_Wrapper là một chức năng nhà máy để nhanh chóng khởi xướng một dictwrapper từ các đối số từ khóa. Nó dễ dàng hơn để chứng minh:
Chức năng bọc (dữ liệu, nghiêm ngặt = false, key_prefix = none, mutable = true)Wrap là một chức năng nhà máy để tạo ra một dictwrapper hoặc một người lập tên. Nó có một đối số bắt buộc và ba đối số tùy chọn:
Đây là một chức năng tiện lợi khi bạn có một đối tượng dữ liệu và không muốn kiểm tra xem đó là từ điển hoặc danh sách.
chức năng Unwrap (wrapping_item)Hàm Unwrap sẽ trả về mục gốc được gói.
Chức năng Unwrap sẽ hoạt động trên cả hai mục DictWrapper cũng như các mục ListWrapper. Nếu mục được chuyển cho Unwrap không phải là một DictWrapper hoặc một ListWrapper, Unwrap sẽ chỉ trả lại vật phẩm không bị ảnh hưởng. Các đối tượng Dictwrapper thao túng từ điển ban đầu mà chúng bao bọc vì vậy không cần thiết về mặt kỹ thuật là không cần thiết. Điều đó nói rằng, Unwrap có sẵn trong trường hợp một tham chiếu đến từ điển ban đầu bị mất hoặc đi ra khỏi phạm vi. function add_attribute (wrapping_item, us ấyHàm add_attribution có thể được sử dụng để thêm một thuộc tính vào một dictwrapper sau khi nó được khởi tạo. Nó có thể được sử dụng nếu từ điển ban đầu không còn có sẵn.
chức năng del_attribut (wrapping_item, usil_name)Ngược lại, DEL_Attribution loại bỏ một thuộc tính hiện có khỏi một DictWrapper hiện có. Del_attribution sẽ trả về giá trị cuối cùng của thuộc tính trước khi bị xóa.
lớp DictWrapper (dữ liệu, nghiêm ngặt = false, key_prefix = none, mutable = true)Giống như hàm bọc, mỗi phiên bản DictWrapper có một đối số bắt buộc và ba đối số tùy chọn:
Đây là một chức năng tiện lợi khi bạn có một đối tượng dữ liệu và không muốn kiểm tra xem đó là từ điển hoặc danh sách.chức năng Unwrap (wrapping_item) Hàm Unwrap sẽ trả về mục gốc được gói.Chức năng Unwrap sẽ hoạt động trên cả hai mục DictWrapper cũng như các mục ListWrapper. Nếu mục được chuyển cho Unwrap không phải là một DictWrapper hoặc một ListWrapper, Unwrap sẽ chỉ trả lại vật phẩm không bị ảnh hưởng.
Các đối tượng Dictwrapper thao túng từ điển ban đầu mà chúng bao bọc vì vậy không cần thiết về mặt kỹ thuật là không cần thiết. Điều đó nói rằng, Unwrap có sẵn trong trường hợp một tham chiếu đến từ điển ban đầu bị mất hoặc đi ra khỏi phạm vi.
function add_attribute (wrapping_item, us ấy 0Hàm add_attribution có thể được sử dụng để thêm một thuộc tính vào một dictwrapper sau khi nó được khởi tạo. Nó có thể được sử dụng nếu từ điển ban đầu không còn có sẵn. 1Phương phápCác trường hợp dictwrapper có hai phương thức: to_json () và to_dict (). to_json(pretty=False)Chuyển đổi các giá trị từ điển thành chuỗi JSON. Nếu đối số đẹp được đặt thành TRUE, JSON được trả lại sẽ được nhiều thứ và được thụt vào với 4 ký tự. Nếu đó là sai, JSON được trả lại sẽ là một dòng văn bản. to_dict()Chuyển đổi Dictwrapper trở lại từ điển Python. Làm tổCác trường hợp DictWrapper sẽ có thể xử lý các từ điển và danh sách lồng nhau mà không có vấn đề gì. Nó tự động kết thúc mọi từ điển lồng nhau trong các trường hợp DictWrapper của riêng họ cho bạn. 2Lớp ListWrapper (dữ liệu, nghiêm ngặt = false, key_prefix = none, mutable = true)ListWrapper là phiên bản "danh sách" của DictWrapper. Nó được sử dụng bởi DictWrapper khi các danh sách làm tổ trong các giá trị từ điển. Listwrapper là một lớp con của danh sách Python tích hợp và hoạt động gần như chính xác giống như một danh sách Python với một ngoại lệ. Khi lấy các mục ra khỏi danh sách nếu mục là từ điển, nó sẽ bọc nó trong một dictwrapper. Nếu mục trong câu hỏi là một danh sách Python, nó sẽ bọc nó trong một danh sách khác. 3Tính đột biếnNếu DictWrapper được khởi tạo với Retable được đặt thành True (mặc định), DictWrapper sẽ bị thay đổi, có nghĩa là thuộc tính có thể được thay đổi. Tuy nhiên, nếu có thể thay đổi được đặt thành sai khi dictwrapper được khởi tạo, nó sẽ là bất biến. Bạn sẽ không thể thay đổi bất kỳ thuộc tính nào (hoặc thuộc tính lồng nhau). Bất kỳ người lập danh sách nào kết quả từ các danh sách trong Dicting Dicting cũng sẽ là bất biến. Bạn sẽ không thể thêm/loại bỏ khỏi chúng. 4Màn biểu diễnCác trường hợp Dictwrapper và Listwrapper Lazy Đánh giá trên các danh sách/danh sách ban đầu mà chúng được đưa ra khi được bọc. Kết quả là hiệu suất của các lớp này nên gần giống như các đối tác bản địa của họ. |