在函数python中复制列表

2024-04-27 15:19:23 发布

您现在位置:Python中文网/ 问答频道 /正文

我对这段代码很失望,我读过一些文章,但似乎我没有弄明白:

class c:
def __init__(self):
    self.k = [9, 8]
def a(x):
    k = c()
    x = k.k

l = [1, 9]
a(l)

print l # expects [9, 8], got [1, 9]

更新,我发现了一个相当流氓的方法:

^{pr2}$

Tags: 方法代码selfinitdef文章classprint
1条回答
网友
1楼 · 发布于 2024-04-27 15:19:23

我很难告诉你想做什么。让我做一些假设并指出一些事情。在

您更正的代码:

class C:     # by convention, Python classes are capitalized...
    def __init__(self):
        self.k = 10       
    def a(self, x):       # you need 'self' to refer to what instance
        x[1] = self.k

现在你可以做我认为你想做的事情:

^{pr2}$

属性kc具有相同的作用域,因此,如果您希望.k是全局的,请将c设为全局:

>>> c.k
10
>>> c.k=22
>>> c.k
22

相关问题 更多 >