struct

Informar un problema Ver fuente

Objeto genérico con campos.

Los campos Structs no se pueden reasignar una vez que se crea el struct. Dos estructuras son iguales si tienen los mismos campos y si los valores de campo correspondientes son iguales.

Miembros

struct

struct struct(**kwargs)

Crea una struct inmutable con los argumentos de la palabra clave como atributos. Se usa para agrupar múltiples valores. Ejemplo:
s = struct(x = 2, y = 3)
return s.x + getattr(s, "y")  # returns 5

Parámetros

Parámetro Descripción
kwargs la opción predeterminada es {}
Diccionario de argumentos.

to_json

string struct.to_json()

Obsoleto.. Esta API dejó de estar disponible y se quitará pronto. No dependas de ello. Está inhabilitada con ---incompatible_struct_has_no_methods. Usa esta marca para verificar que tu código sea compatible con la eliminación inminente.
Crea una string JSON a partir del parámetro struct. Este método solo funciona si todos los elementos de la estructura (de forma recurrente) son strings, ints, booleanos, otras estructuras, una lista de estos tipos o un diccionario con claves de string y valores de estos tipos. Las comillas y las líneas nuevas en las strings tienen formato de escape. 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 structs y no contaminan el espacio de nombres del campo struct.

to_proto

string struct.to_proto()

Obsoleto.. Esta API dejó de estar disponible y se quitará pronto. No dependas de ello. Está inhabilitada con ---incompatible_struct_has_no_methods. Usa esta marca para verificar que tu código sea compatible con la eliminación inminente.
Crea un mensaje de texto a partir del parámetro struct. Este método solo funciona si todos los elementos de la estructura (de forma recurrente) son strings, ints, booleanos, otras estructuras, diccionarios o listas de estos tipos. Las comillas y las líneas nuevas en las strings tienen formato de escape. Las claves de struct 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.