Проектировал ли Protobuf файл
Python
Middle
СБЕР Центр ИИ
Проектировал ли Protobuf файл
Ответы
Protobuf (Protocol Buffers) — это язык-независимый бинарный формат сериализации данных, разработанный Google. Его файлы (`.proto`) описывают структуру данных (сообщения, сервисы) и генерируют код для работы с ними.
Пример простого `.proto` файла:
```
syntax = "proto3";
message Person {
string name = 1;
int32 age = 2;
repeated string emails = 3;
}
```
Ключевые особенности:
- **Синтаксис**: `proto2` или `proto3` (рекомендуется proto3)
- **Поля**: имеют уникальные числовые теги (1, 2, 3...)
- **Типы**: скалярные (`int32`, `string`), составные (`repeated` для массивов)
- **Генерация кода**: компилятор `protoc` создает классы на Python/Java/C++ и др.
После компиляции (`protoc --python_out=. person.proto`) генерируется `person_pb2.py`, позволяющий сериализовать/десериализовать данные:
```
person = Person(name="Alice", age=30)
serialized = person.SerializeToString()
```