Я новичок в Python и объектно ориентировать программирования, и есть очень простой вопрос: 101методы Python: изменить оригинальную против возвращения другого объекта
я вижу некоторые методы возвращают измененный объект и сохранить оригинал:
In: x="hello"
In: x.upper()
Out: 'HELLO'
In: x
Out: 'hello'
Я вижу другие способы изменения и перезаписать исходный объект:
In: y=[1,2,3]
In: y.pop(0)
Out: 1
In: y
Out: [2, 3]
ли либо из них норма? Есть ли способ узнать, к какому случаю я отношусь к данному классу и методу?
Методы изменчивых объектов не «перезаписывают» исходный объект - они мутируют их. Оба изменяемых и неизменяемых объекта являются центральными для Python. Любое базовое введение в Python должно объяснить разницу. Переполнение стека не предназначено для воспроизведения информации, которая легко доступна в других местах. –
Чтобы узнать, что происходит с конкретным классом/методом, просто посмотреть на документы - это хороший способ узнать. Они используются в разных ситуациях. – qxz
См. [Неизменяемые vs Mutable types] (http://stackoverflow.com/questions/8056130/immutable-vs-mutable-types) и ссылки на официальные документы Python. –