语法错误:每次把数组作为参数传给__init__时都会出现

-1 投票
1 回答
929 浏览
提问于 2025-04-18 04:30

比如说,这个方法:

import pygame
import mapas

class ContenedoresPorCapa():

    def __init__(self, layers[]):
        self.mapasCapas = len(self.mapas.capas)
        for i in range(mapasCapas):
            return layers[i]

1 个回答

3

在参数列表中,你不需要使用 []

import pygame
import mapas

class ContenedoresPorCapa:
    def __init__(self, layers):
        self.mapasCapas = len(self.mapas.capas)
        for i in range(mapasCapas):
            return layers[i]

另外,从类的 __init__ 方法(构造函数)中返回值是没有意义的(这样做会导致运行时出现 TypeError 错误,正如 Aशwini चhaudhary 友好地指出的那样)。

而且,类定义末尾的 () 是多余的。

此外,这个 for 循环只会执行一次,然后就会立即返回:

for i in range(mapasCapas):
    return layers[i]

除非你说明你的目标是什么,否则似乎很难给你提供进一步的指导(我强烈建议你阅读一些像 http://learnpythonthehardway.org 这样的资料)。

撰写回答