2013-06-14 4 views
0

Я просто подхожу к Python, поэтому я пытаюсь понять «эмпирические правила», чтобы понять, как биты и куски работают вместе.метод возвращает строку ...... но почему?

Так что для этого кода:

string = "Hello World" 
string.replace ("World", "Mars") 
print string (which would equal "Hello World") 

Я понимаю, что это не изменяет объект данных и для того, чтобы сделать это, вам нужно будет назначить переменную.

hello = string.replace("World", "Mars") 
print hello 

Мне больше интересно, если возвращение строки является чем-то типичным для методов. Или здесь есть более существенное правило. Потому что, когда я думаю о функции, вы не можете изменить объект данных там, если вы не назначили ему переменную. Так это общее правило в Python? Что вы не можете изменить объект, не делая:

Надеюсь, все это имеет смысл?

+0

@ user2246674 Почему бы вам не опубликовать это как ответ? Это коротко, просто и точно. –

+0

@CharlesDuffy Done: D – user2246674

+0

Кроме того, это не относится к Python. – Ryaminal

ответ

10

Строки в Python неизменяемы - они не могут быть изменены. В этом смысле строки Python очень похожи на числа. Необходимо использовать результат операторов/методов манипуляции строкой.

Теперь изменяемые объектов предназначены для изменения: списки и словари изменяемых объектов - большинство (все стандартные?) В нем побочные методы возвращают None (показывая, что это мутация, что имеет важное значение).

+0

Прохладный хорошо объяснил. Восемь минут, и я тебя поклеву. – Danrex

Смежные вопросы