在 Python 中实现数组类时,一个常见的错误是初始化方法 ___init__() 中的双下划线使用错误,应该是两个,即 __init__()。类似的错误也会出现在 __setitem__()__getitem__() 方法中。

错误代码:

class Array:
    def ___init__(self,n):
        self._size = n
        self._data = [0] * n
    def __len__(self):
        return self._size
    def __setitem__(self,i,val):
        self._data[i] =val
    def __getitem__(self,i):
        return self._data[i]   
arr=Array(5)
arr[4] = 10
print(arr[4])
for i in arr:
    print(i) 

修正后的代码:

class Array:
    def __init__(self,n):
        self._size = n
        self._data = [0] * n
    def __len__(self):
        return self._size
    def __setitem__(self,i,val):
        self._data[i] = val
    def __getitem__(self,i):
        return self._data[i]   
arr=Array(5)
arr[4] = 10
print(arr[4])
for i in arr:
    print(i)

通过修正双下划线的错误,代码能够正常实现数组类的功能,并可以方便地使用 __getitem__()__setitem__() 方法访问和修改数组元素。

Python 数组类实现:修复双下划线错误

原文地址: https://www.cveoy.top/t/topic/KtQ 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录