设为首页 收藏本站
查看: 854|回复: 0

[经验分享] 函数、数据-Python和数据结构学习 -by小雨

[复制链接]

尚未签到

发表于 2017-5-5 10:32:01 | 显示全部楼层 |阅读模式
  最近研究函数、数据-,稍微总结一下,以后继续补充:
  面下是应用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[index]
def __setitem__(self,index,value):
self._array[index]
= 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[self._length]
= 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[i-1]
self._array[ndx]
= item
self._length
+= 1
def remove(self,ndx):
for i in range(ndx,self._length):
self
= self[i+1]
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]
self._curNdx
+= 1
return entry
else:
raise StopIteration

  测试基本是跟list一样.
  旁边涉及到一个小东东.想要在Python隐藏函数,数据.只需要在前面加上`__`以可就了.当然数据,函数还在.只是换了一个名字而已.详细可以看<Python级高程编>(记得..).
  睡觉先...
  文章结束给大家分享下程序员的一些笑话语录: 某程序员对书法十分感兴趣,退休后决定在这方面有所建树。花重金购买了上等的文房四宝。一日突生雅兴,一番磨墨拟纸,并点上了上好的檀香,颇有王羲之风 范,又具颜真卿气势,定神片刻,泼墨挥毫,郑重地写下一行字:hello world.

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-373345-1-1.html 上篇帖子: Python 3.x 控制台输入密码的方法总结 下篇帖子: 关键字作用域Python中nonlocal关键字
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表