如何在python中混合使用普通参数和切片参数

如何在python中混合使用普通参数和切片参数,python,slice,numpy-ndarray,Python,Slice,Numpy Ndarray,我有一个类,我想从一个数组和一个切片创建一个实例。我希望语法使用冒号语法,例如列表和numpy数组。以下示例是MNWE(最小非工作示例): 除了平面尺寸外,我希望结果是一样的。我不知道你想做的是否可行 制作一个工厂级怎么样 class AFactory: def __init__(self, x): self.x = x def __getitem__(self, index): return A.fromArray(self.x, index)

我有一个类,我想从一个数组和一个切片创建一个实例。我希望语法使用冒号语法,例如列表和numpy数组。以下示例是MNWE(最小非工作示例):


除了平面尺寸外,我希望结果是一样的。

我不知道你想做的是否可行

制作一个工厂级怎么样

class AFactory:
    def __init__(self, x):
        self.x = x

    def __getitem__(self, index):
        return A.fromArray(self.x, index)

c = AFactory(x)[:, 0, 0]
print(c.data)
或者,如果您更喜欢在数组之前设置切片:

class AFactory:
    def __getitem__(cls, index):
        return lambda x: A.fromArray(x, index)

c = AFactory()[:, 0, 0](x)
print(c.data)

MNWE是什么意思?@PeterWood“最小非工作示例”?@PeterWood抱歉,已在文本中更正。Python语言语法就是不是这样工作的。不能在函数参数中使用切片语法。
class AFactory:
    def __getitem__(cls, index):
        return lambda x: A.fromArray(x, index)

c = AFactory()[:, 0, 0](x)
print(c.data)