函数、数据-Python和数据结构学习 -by小雨
最近研究函数、数据-,稍微总结一下,以后继续补充:面下是应用Array现实Vector.也就是Python中自带的list().
代码如下:
class Vector:
def __init__(self):
self._length = 0
self._capacity = 2
self._array = Array(self._capacity)
def __len__(self):
return self._length
def __contains__(self,item):
for v in self:
if v == item:
return True
return False
def __getitem__(self,index):
return self._array
def __setitem__(self,index,value):
self._array = value
def __new_array(self):
oldCap = self._capacity
newCap = self._capacity * 2
newArray = Array(newCap)
for i,v in enumerate(self._array):
newArray = v
self._array = newArray
self._capacity = newCap
def append(self,item):
if self._length == self._capacity:
self.__new_array()
self._array = item
self._length += 1
def insert(self,ndx,item):
if self._length == self._capacity:
self.__new_array()
for i in range(self._length,ndx,-1):
self = self]
self._array = item
self._length += 1
def remove(self,ndx):
for i in range(ndx,self._length):
self = self]
self._length -= 1
def indexOf(self,item):
for i,v in enumerate(self):
if v == item:
return i
return -1
def extend(self,otherVector):
for v in otherVector:
self.append(v)
def subVector(self,f,t):
newV = Vector()
for i in range(f,t):
newV.append(self._array)
return newV
def __iter__(self):
return _VectorIterator(self)
class _VectorIterator:
def __init__(self,theVector):
self._vectorRef = theVector
self._curNdx = 0
def __iter__(self):
return self
def next(self):
if self._curNdx < len(self._vectorRef):
entry = self._vectorRef
self._curNdx += 1
return entry
else:
raise StopIteration
测试基本是跟list一样.
旁边涉及到一个小东东.想要在Python隐藏函数,数据.只需要在前面加上`__`以可就了.当然数据,函数还在.只是换了一个名字而已.详细可以看<Python级高程编>(记得..).
睡觉先...
文章结束给大家分享下程序员的一些笑话语录: 某程序员对书法十分感兴趣,退休后决定在这方面有所建树。花重金购买了上等的文房四宝。一日突生雅兴,一番磨墨拟纸,并点上了上好的檀香,颇有王羲之风 范,又具颜真卿气势,定神片刻,泼墨挥毫,郑重地写下一行字:hello world.
页:
[1]