Image

работа со структурами

Сколько я не пишу на питоне (не так уж и много, увы), но каждый раз, когда залажу в глубь кода, у меня получаются жуткие речекряки.

Суть в чём?

В Си были (т.е. есть) замечательные структуры.

typedef struct struct_s {
int value1;
int* array1;
int** array2;
char* text1;
struct substruct{
int sub_value1;
char* sub_value2;
int** sub_array;
}
} type_t;

работа с которыми выглядела так (оставляя в стороне инициализацию да выделение памяти):

type_t variable;
(variable.substruct->sub_array)[2]=foobar();

А в питоне у меня (аналогичным же образом) получается этакий речекряк:
variable["substruct"]["sub_array"][0][2]=foobar


Вопрос: как правильно создавать структуры с именованными полями, вложенными структурами и т.д.?