Discuss / Python / python3中哪些函数是可变哪些不可变?

python3中哪些函数是可变哪些不可变?

Topic source

iSilent94021

#1 Created at ... [Delete] [Delete and Lock User]

在“使用dict和set”那一小节我们有下面的代码:

>>> a = 'abc'
>>> b = a.replace('a', 'A')
>>> b
'Abc'
>>> a
'abc'

当时是说. replace 只是改变了a 而不变‘a’对‘abc’的指针,相当于a.replace是一个新的变量。于是a是不变的。

但是在这一节的“默认参数“这一小节中

def add_end(L=[]):
    L.append('END')
    return L

L.append有是变化的 我能理解 变化的理由 但是不能判断什么函数是变化的什么是不变的,总不要一个一个试吧。 有没有什么道理?

Heath_Li

#2 Created at ... [Delete] [Delete and Lock User]

定义默认参数时所采用的值是可变对象就会出现这种现象,依据是否可变来判断就好了


  • 1

Reply