python怎么看函数是否改变原来变量的值

比如append()函数会改变原来序列的值但是比如lstrip(),在消除左边空格后,原来的变量值还是不变

楼上说的很好,初学小白的我也想到了同样的问题。按照楼上的提示我搜索了不可变对象与可变对象,参考该篇博文摘取部分网页链接网页链接

python中,对象分为可变(mutable)和不可变(immutable)两种类型,元组(tuple)、数值型(number)、字符串(string)均为不可变对象,而字典型(dictionary)和列表型(list)的对象是可变对象。

所谓可变对象是所谓可变对象是指,对象的内容可变,而不可变对象是指对象内容不可变。

题目中l是列表变量,为可变变量,每次调用函数可以改变该对象的内容;而题中的s为字符串变量,是不可变对象,调用了字符串操作函数lstrip()只会生成一个拷贝,对拷贝去除空格,而变量s本身不发生改变。

温馨提示:答案为网友推荐,仅供参考
第1个回答  2018-03-28
读函数说明。lstrip()函数会返回一个去除空格后的新字符串,而不是修改当前的字符串,因为字符串是不可变对象。本回答被提问者和网友采纳
相似回答