Alanları olan genel bir nesne.
Yapı oluşturulduktan sonra yapı alanları yeniden atanamaz. İki yapı, aynı alanlara ve karşılık gelen alan değerleri eşitse eşittir.
Üyeler
struct
struct struct(**kwargs)
s = struct(x = 2, y = 3) return s.x + getattr(s, "y") # returns 5
Parametreler
Parametre | Açıklama |
---|---|
kwargs
|
Varsayılan değer {} Arguments sözlüğü. |
to_json
string struct.to_json()
---incompatible_struct_has_no_methods
ile devre dışı bırakılır. Kodunuzun bu özelliğin yakında kaldırılmasıyla uyumlu olduğunu doğrulamak için bu işareti kullanın. Yapı parametresinden bir JSON dizesi oluşturur. Bu yöntem yalnızca tüm yapı öğeleri (özyinelemeli olarak) dizeler, tam sayılar, boole değerleri, diğer yapılar, bu türlerin listesi veya dize anahtarları ve bu türlerin değerlerini içeren bir sözlükse çalışır. Dizelerdeki tırnak işaretleri ve yeni satırlar çıkış karakteriyle gösterilir. Örnekler:
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"}}}
Kullanımdan kaldırıldı: Bunun yerine, yapıların dışındaki değerler için çalışan ve yapı alanı ad alanını kirletmeyen json.encode(x) veya json.encode_indent(x) işlevlerini kullanın.
to_proto
string struct.to_proto()
---incompatible_struct_has_no_methods
ile devre dışı bırakılır. Kodunuzun bu özelliğin yakında kaldırılmasıyla uyumlu olduğunu doğrulamak için bu işareti kullanın. Yapı parametresinden bir kısa mesaj oluşturur. Bu yöntem yalnızca tüm yapı öğeleri (özyinelemeli olarak) dize, tam sayı, Boole, diğer yapılar veya bu türlerin sözlükleri ya da listeleri ise çalışır. Dizelerdeki tırnak işaretleri ve yeni satırlar çıkış karakteriyle gösterilir. Yapı anahtarları sıralı düzende yinelenir. Örnekler:
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 # }
Desteği sonlandırıldı: Bunun yerine proto.encode_text(x) kullanın.