Разве это не зависит от того, что нужно вашему проекту?Если символы важны, вам понадобится какой-то способ с ними справиться.
Я не программист на Ruby, но из того, что я только что прочитал, я думаю, что преобразовать их в строки, вероятно, проще всего.Стандартный интерпретатор Python повторно использует память для идентичных коротких строк, что, по-видимому, является основной причиной, по которой рекомендуется использовать символы.
РЕДАКТИРОВАТЬ: Если необходимо работать с другими программистами, передавая значения обратнои вперед не должны их менять.Так что вам нужно либо правильно обрабатывать символы, либо сразу же выдавать ошибку.Это должно быть достаточно просто в Python:
class Symbol(str):
pass
# In serialising code:
if isinstance(x, Symbol):
serialise_as_symbol(x)