Un objeto genérico con campos.
Los campos de las estructuras no se pueden reasignar una vez que se crea la estructura. Dos structs son iguales si tienen los mismos campos y si los valores de los campos correspondientes son iguales.
Miembros
struct
struct struct(**kwargs)
s = struct(x = 2, y = 3) return s.x + getattr(s, "y") # returns 5
Parámetros
Parámetro | Descripción |
---|---|
kwargs
|
El valor predeterminado es {} . Diccionario de argumentos. |
to_json
string struct.to_json()
---incompatible_struct_has_no_methods
. Usa esta marca para verificar que tu código sea compatible con su eliminación inminente. Crea una cadena JSON a partir del parámetro struct. Este método solo funciona si todos los elementos de la struct (de forma recursiva) son cadenas, números enteros, valores booleanos, otras estructuras, una lista de estos tipos o un diccionario con claves y valores de cadenas de estos tipos. Se escapan las comillas y las líneas nuevas en las cadenas. Ejemplos:
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"}}}
Obsoleto: En su lugar, usa json.encode(x) o json.encode_indent(x), que funcionan para valores distintos de las estructuras y no contaminan el espacio de nombres del campo de la estructura.
to_proto
string struct.to_proto()
---incompatible_struct_has_no_methods
. Usa esta marca para verificar que tu código sea compatible con su eliminación inminente. Crea un mensaje de texto a partir del parámetro de struct. Este método solo funciona si todos los elementos de la estructura (de forma recursiva) son cadenas, números enteros, valores booleanos, otras estructuras, diccionarios o listas de estos tipos. Se escapan las comillas y las líneas nuevas en las cadenas. Las claves de la estructura se iteran en el orden ordenado. Ejemplos:
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 # }
Obsoleto: Usa proto.encode_text(x) en su lugar.