学习编程第213天 python编程 自定义序列的实现
今天学习的是刘金玉老师零基础Python教程111期自定义序列的实现。
一、序列
序列有:字典、元组、列表、字符串等。
使用符号:
字典{key:value}
元组()
列表[]
字符串"" ‘’
二、序列的原理
以字典举例,其它的序列类似。
在调用序列的时候,其实一些操作对应魔法方法:
len获取长度,对应_len_;
增加字典的键值对通过字典名称[键]=值,对应_setitem_;
获取字典的值,使用字典名称[键],对应_getitem_;
删除字典中某个键值对,使用del字典名称[键],对应_delitem_
三、自定义类的序列
通过序列的各项操作与魔法方法的对应关键,我们可以自定义一个自己的序列。
案例:
class Mydict:
#类的构造方法
def __init__(self):
self.length=0
self.scdic={}
print("已经实例化类")
#模拟序列操作,获取字典的长度
def __len__(self):
return self.length
# 模拟序列,设置字典
def __setitem__(self, key, value):
self.scdic[key]=value
self.length+=1
print("字典增加了一项",key,"=",value)
# 模拟序列,获取字典
def __getitem__(self, item):
self.scdic(item)
# 模拟序列,删除某个项
def __delitem__(self, key):
del self.scdic[key]
self.length-=1
# 实例化类
WD=Mydict()
WD["aaa"]="四川二流子"
print("字典长度",len(WD),WD.scdic)
WD["bbb"]="零基础"
print("字典长度",len(WD),WD.scdic)
WD["ccc"]="学习编程"
print("字典长度",len(WD),WD.scdic)
del WD["bbb"]
print("字典长度",len(WD),WD.scdic)