sách gpt4 ai đã đi

python - Hỏi và Đáp: Định nghĩa phương thức __getitem__ hoặc gán __getitem__ trong các lớp

In lại 作者:行者123 更新时间:2023-12-01 01:06:42 27 4
mua khóa gpt4 Nike

khi __getitem__ 映射到内部序列类型时,以下哪一项是推荐的执行方式?

class A:
def __init__(self, ...):
...
self._internal_sequence = []

def __getitem__(self, key):
return self._internal_sequence[key]

class B:
def __init__(self, ...):
...
self._internal_sequence = []

def __getitem__(self, key):
# I'm pretty sure it won't be this one.
return self._internal_sequence.__getitem__(key)

class C:
_internal_sequence = []
__getitem__ = _internal_sequence.__getitem__

1 Câu trả lời

我在写问题时意识到了我的答案,但我仍然会将其发布在这里,以便其他人受益。

C) 这似乎工作正常,直到您意识到 _internal_sequence 是一个类变量并且将在类之间保留自身。此外,重新定义 _internal_sequence = [...] 似乎会删除 __getitem__ 并导致 IndexError.

B)这看起来不像 A)那么好,并且对于内置类型,它会更慢 - 请参阅 đây .

因此,A 是将类的 __getitem__ 映射到内部序列的推荐方法。

关于python - 问答: Defining __getitem__ method or assigning __getitem__ in classes,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55277809/

27 4 0
行者123
Hồ sơ cá nhân

Tôi là một lập trình viên xuất sắc, rất giỏi!

Nhận phiếu giảm giá Didi Taxi miễn phí
Mã giảm giá Didi Taxi
Giấy chứng nhận ICP Bắc Kinh số 000000
Hợp tác quảng cáo: 1813099741@qq.com 6ren.com