list方法.append()是一个mutator吗?

时间:2014-11-17 22:32:02

标签: python-2.7

我有一个问题,我感到困惑,我正在审查期中考试并提出这个问题:

list方法.append()是一个mutator。 是或否。

根据答案键,正确答案为TRUE,但为什么?什么是变异者?

3 个答案:

答案 0 :(得分:1)

Python对象可以是可变的(可更改的)或不可变的。列表是可变的,因此任何作用于列表以更改它的方法都可以称为mutator。

答案 1 :(得分:0)

Mutator意味着改变了对象。它是setter方法的另一个名称。

答案 2 :(得分:0)

mutator (也称为 setter )是一个对象的方法,它允许您按照封装原则以一种控制的方式修改它的一些变量。

例如,如果您有一个名为age的变量来存储用户的年龄,那么您将要对其执行一些检查,以确保没有人将其值更改为{{1 }或-35。然后,您可以将该变量设为私有,这意味着您无法直接修改它,然后您需要使用 mutator 来检查新值的有效性。例如,这种方法可以称为Pi

这里,列表是一个Python对象,但由于其复杂的实现,用户无法直接修改内存。您必须使用方法setAge将项添加到列表中。因此,这种方法是一种改变者。