Python面向对象进阶示例--自定义数据类型

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python面向对象进阶示例--自定义数据类型相关的知识,希望对你有一定的参考价值。

需求:

基于授权定制自己的列表类型,要求定制的自己的__init__方法,
定制自己的append:只能向列表加入字符串类型的值
定制显示列表中间那个值的属性(提示:property)
其余方法都使用list默认的(提示:__getattr__加反射)

 1 class List:
 2     def __init__(self,value):
 3         self.x=list(value)
 4     def append(self,value):
 5         if not isinstance(value,str):
 6             raise TypeError(append到列表的内的元素必须是str类型)
 7         self.x.append(value)
 8     def insert(self,index,value):
 9         self.x.insert(index,value)
10     def __getattr__(self, item):
11         return getattr(self.x,item)
12 
13     @property
14     def type(self):
15         print(self.x)
16         t=int(len(self.x)/2)
17         print(self.x[t],type(self.x[t]))
18 
19 
20 l=List([1,2,3])
21 l.append("egon")
22 l.append(hello)
23 l.append(alex)
24 l.insert(7,5)
25 l.pop()
26 l.type

 




以上是关于Python面向对象进阶示例--自定义数据类型的主要内容,如果未能解决你的问题,请参考以下文章

python----03(面向对象进阶02)

python之路文章目录

python学习笔记-面向对象进阶&异常处理

python学习笔记-面向对象进阶&异常处理

面向对象进阶2:二次加工标准类型(包装)

Python进阶:自定义对象实现切片功能