python - 多个索引一个类?
问题描述
我有以下代码:
class C:
def __getitem__(self,a,b):
return 1
c = C()
c[2,3]
TypeError: Missing 1 required positional argument : b
我的问题是如何在索引时提供第二个参数c
?
解决方案
没有办法直接在__getitem__
(docs)中处理这个问题;您必须c[x]
返回某种子对象,您可以使用第二个 inxed[y]
来获取单个项目。您可能想要的是__getitem__
接受具有此类坐标的元组:
def __getitem__(self, tuple):
y, x = tuple
return self.matrix[y][x]
然后做:
c[x, y]
推荐阅读
- azure-active-directory - Microsoft 身份平台 Azure AD 应用程序角色在 NET Core 3.1 Razor 页面中不起作用
- javascript - Angular 将对象设置为 localStorage,数量属性有问题
- teradata - Teradata dbc.columnsV
- python - 将行转置到具有特殊字符限制的列
- vba - 您可以设置 MaxLength 属性或向 Access Long Text 字段添加字符限制吗?
- java - 通过解析的 Gson 格式错误的异常
- react-native - 视频结尾的黑屏怎么去掉?
- javascript - Android Studio 如何运行复制任务?
- google-sheets - 用于有条件地获取数字中位数的 Google 表格函数
- javascript - 您如何使用 Google 跟踪代码管理器 (GTM) 跟踪每次会话的表单提交