本文和大家分享的主要是python语言中类的特殊方法相关用法,希望对大家有帮助。
构造序列
1.len(self)
2.getitem(self,key)
3.setitem(self,key,value)
4.delitem(self,key)
程序演示:
myseq.py
class MySeq:
def init(self):
self.lseq = ["I","II","III","IV"]
def len(self):
return len(self.lseq)
def getitem(self,key):
if 0 <= key < 4:
return self.lseq[key]
if name == 'main':
m = MySeq()
for i in range(4):
print(m[i])
程序的运行结果为:
构造iter
1.iter(self)
2.next(self)
程序演示如下:
class MyIter:
def init(self,start,end):
self.count = start
self.end = end
def iter(self):
return self
def next(self):
if self.count < self.end:
r = self.count
self.count += 1
return r
else:
raise StopIteration
if name == 'main':
for i in MyIter(1,10):
print(i)
程序的运行结果为:
构造可比较类
1.it()
2.le()
3.gt()
4.ge()
5.eq()
6.ne()
程序演示如下:
mycmp.py
class MyIter:
def init(self,start,end):
self.count = start
self.end = end
def iter(self):
return self
def next(self):
if self.count < self.end:
r = self.count
self.count += 1
return r
else:
raise StopIteration
if name == 'main':
for i in MyIter(1,10):
print(i)
程序的运行结果为:
构造可运算类
1.add()
2.sub()
3.mul()
4.div()
程序演示如下:
class Point:
def init(self,x,y):
self.x = x
self.y = y
def add(self,oth):
return Point(self.x + oth.x , self.y + oth.y)
def info(self):
print(self.x,self.y)
if name == 'main':
pa = Point(1,2)
pb = Point(3,4)
pc = pa + pb
pc.info()
程序的运行结果为:
有疑问加站长微信联系(非本文作者)
