struct

Một đối tượng chung có các trường.

Bạn không thể chỉ định lại các trường cấu trúc sau khi tạo cấu trúc. Hai cấu trúc bằng nhau nếu chúng có cùng các trường và nếu các giá trị trường tương ứng bằng nhau.

Hội viên

struct

struct struct(**kwargs)

Tạo một cấu trúc bất biến bằng cách sử dụng các đối số từ khoá làm thuộc tính. Cấu trúc này được dùng để nhóm nhiều giá trị lại với nhau. Ví dụ:
s = struct(x = 2, y = 3)
return s.x + getattr(s, "y")  # returns 5

Thông số

Tham số Mô tả
kwargs mặc định là {}
Từ điển đối số.

to_json

string struct.to_json()

Không dùng nữa. API này không dùng nữa và sẽ sớm bị loại bỏ. Vui lòng không phụ thuộc vào API này. API này đã tắt bằng ---incompatible_struct_has_no_methods. Hãy dùng cờ này để xác minh rằng mã của bạn tương thích với việc loại bỏ sắp tới.
Tạo một chuỗi JSON từ tham số cấu trúc. Phương thức này chỉ hoạt động nếu tất cả các phần tử cấu trúc (đệ quy) là chuỗi, số nguyên, giá trị boolean, các cấu trúc khác, danh sách các loại này hoặc từ điển có khoá và giá trị chuỗi của các loại này. Dấu ngoặc kép và dòng mới trong chuỗi được thoát. Ví dụ:
struct(key=123).to_json()
# {"key":123}

struct(key=True).to_json()
# {"key":true}

struct(key=[1, 2, 3]).to_json()
# {"key":[1,2,3]}

struct(key='text').to_json()
# {"key":"text"}

struct(key=struct(inner_key='text')).to_json()
# {"key":{"inner_key":"text"}}

struct(key=[struct(inner_key=1), struct(inner_key=2)]).to_json()
# {"key":[{"inner_key":1},{"inner_key":2}]}

struct(key=struct(inner_key=struct(inner_inner_key='text'))).to_json()
# {"key":{"inner_key":{"inner_inner_key":"text"}}}
.

Không dùng nữa: thay vào đó, hãy dùng json.encode(x) hoặc json.encode_indent(x). Các hàm này hoạt động cho các giá trị khác ngoài cấu trúc và không làm ô nhiễm không gian tên trường cấu trúc.

to_proto

string struct.to_proto()

Không dùng nữa. API này không dùng nữa và sẽ sớm bị loại bỏ. Vui lòng không phụ thuộc vào API này. API này đã tắt bằng ---incompatible_struct_has_no_methods. Hãy dùng cờ này để xác minh rằng mã của bạn tương thích với việc loại bỏ sắp tới.
Tạo một thông báo văn bản từ tham số cấu trúc. Phương thức này chỉ hoạt động nếu tất cả các phần tử cấu trúc (đệ quy) là chuỗi, số nguyên, giá trị boolean, các cấu trúc khác hoặc từ điển hoặc danh sách các loại này. Dấu ngoặc kép và dòng mới trong chuỗi được thoát. Các khoá cấu trúc được lặp lại theo thứ tự đã sắp xếp. Ví dụ:
struct(key=123).to_proto()
# key: 123

struct(key=True).to_proto()
# key: true

struct(key=[1, 2, 3]).to_proto()
# key: 1
# key: 2
# key: 3

struct(key='text').to_proto()
# key: "text"

struct(key=struct(inner_key='text')).to_proto()
# key {
#   inner_key: "text"
# }

struct(key=[struct(inner_key=1), struct(inner_key=2)]).to_proto()
# key {
#   inner_key: 1
# }
# key {
#   inner_key: 2
# }

struct(key=struct(inner_key=struct(inner_inner_key='text'))).to_proto()
# key {
#    inner_key {
#     inner_inner_key: "text"
#   }
# }

struct(foo={4: 3, 2: 1}).to_proto()
# foo: {
#   key: 4
#   value: 3
# }
# foo: {
#   key: 2
#   value: 1
# }

Không dùng nữa: thay vào đó, hãy dùng proto.encode_text(x).