python语法错误声明变量

时间:2017-03-20 22:17:41

标签: python variables

我是python的新手。这是我的档案:

contiguous.py:

def fillArray(len, val):
    var arr = [], i
    for i = 0; i < len; i++:
        arr.append(val)
    return arr

我尝试执行:

$ python contiguous.py
  File "contiguous.py", line 2
    var arr = [], i
          ^
SyntaxError: invalid syntax
$ python -V
Python 3.6.0

为什么会出错?我错过了什么?

5 个答案:

答案 0 :(得分:2)

您不必声明变量以在Python中使用它。你只是实例化。所以你只想写arr = []而不是i。此外,您的循环语法不正确。你应该写for i in range(len)

答案 1 :(得分:1)

好的,您在Python中的功能是:

def fillArray(len, val):
    arr = []
    for _ in range(len):
        arr.append(val)
    return arr

相当于:

def fillArray(len, val):
    return [val] * len

如果valmutable,哪些都很危险:Python为pass by assignment,因此如果您尝试通过fillArray(len, [])创建一系列空列表,您将拥有糟糕的一天。

答案 2 :(得分:0)

python中没有var关键字。只需删除它。

变量设置为:

[i]

另外,你在python中每行设置多个变量的方式是:

variable_x = []

此外,你的循环看起来错了。它应该是:

variable_x, i = [], 0

答案 3 :(得分:0)

您不需要关键字var。要使arr成为一个数组,只需执行:

arr = []

python中的变量没有类型,只有对象可以。任何给定时刻的变量类型是它们在那个时刻引用的对象的类型。因此,上面的行会将arr初始化为空列表,从而有效地使arr成为列表。此外,还有一些关于代码的其他注意事项:您正在尝试使用值填充数组。有一种更简单的方法:

arr = [val] * len

在这种情况下,您甚至不需要arr=[],您的整个功能可以被上面的行代替。

答案 4 :(得分:0)

在python中,你不需要说var来分配变量,因为python中有 no 变量声明。你只是arr = []。在分配给变量之后,您也不应该说, i,因为i将引用变量不存在。由于您稍后分配i,实际上根本不需要这样做。也可以使用for i in range(len)