
Привет!
Осваиваю в Python работу с кортежами и списками, сравниваю их возможности и назначение. Начиталась интернетов, но чем больше углубляюсь, тем больше вопросов. Попробую у вас уточнить пару моментов.
Кто-нибудь понимает, зачем Питон кортеж в строку превращает, если в скобках задано одно строковое значение без запятой на конце? Вот так tuple1=('string'). Это чтоб нубам типа меня жизнь мёдом не казалась? ^_^
Второй момент. Как и везде, в Python длина кортежа ограничена и сам он неизменяем, т.к. это вроде бы защита от косяков. И в то же время, в кортеже могут быть ссылки на изменяемые объекты, те же списки. То есть не напрямую, но окольными путями можно что-то менять и имитировать добавление элемента в кортеж. Зачем тогда эти неудобства, когда для правки отдельных элементов надо кортеж в список преобразовать, а после изменений — обратно, это ведь лишний код?
Верно ли, что возвращаемые значения функции в Python кортежем оформлены? Или только перечисление аргументов функций?
И последний вопрос. Про использование питоновых списков и кортежей в словаре в качестве ключей. Весь tuple может быть ключом, только если в нём нет ссылок на изменяемые объекты. Почему так? Это ограничение связано со свойствами словаря?



