是否有可能在Python中拥有一个未绑定的类成员?

时间:2015-08-29 05:32:30

标签: python

希望我能正确地提出这个问题。我有代码示例:

class myc:
    a = ['a', 'b']

    def f1(self):
        b = myc.a
        b.extend(['c', 'd'])
        return b

    def f2(self):
        b = myc.a
        b.extend(['f','g'])
        return b


cvar = myc()

print cvar.f1()
print cvar.f2()
print cvar.f1()

我得到了输出:

['a', 'b', 'c', 'd']
['a', 'b', 'c', 'd', 'f', 'g']
['a', 'b', 'c', 'd', 'f', 'g', 'c', 'd']

我想要的是" a"是静止的。

我的理解是因为"绑定",当我做" b = myc.a"然后我做了" b.extend ...",我实际上正在影响myc.a.

我想要的是复制myc.a并将其存储在b中,这样我在b上的操作就不会影响myc.a.

我显然缺少一些超出绑定的基本Python概念。

我想要的输出是:

['a', 'b', 'c', 'd']
['a', 'b', 'f', 'g']
['a', 'b', 'c', 'd']

0 个答案:

没有答案