例子来自edx intermediate关于范围

时间:2018-03-01 16:10:56

标签: python-3.x scope

我在第2周的练习中重新输入了代码范围内的代码。我在声称是python 3.6.3的mac上输入我的anaconda环境。这是代码

def update(x,n):
    print("update ",x)
    n=2
    x.append(4)
    print ("update",n,x)

def main():
    n=1
    x=[0,1,2,3]
    print ("main",n,x)
    update(n,x)
    print ("main",n,x)

如果我在更新(n,x)注释掉的情况下运行它,代码就可以运行,因为不会调用update。但是,如果我运行它应该运行我得到下面的错误,这意味着在更新x内被视为一个int。

文件“/Users/brian/Documents/Programming/Python/EdX/legb.py”,第12行,更新x.append(4)

AttributeError:'int'对象没有属性'append'

我期待更新收到x作为0,1,2,3的列表吗?

0 个答案:

没有答案