学习编程第213天 python编程 自定义序列的实现

liftword5个月前 (12-10)技术文章43

今天学习的是刘金玉老师零基础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)

相关文章

Python入门第4课:字符串、序列

这是学习笔记的第43篇文章上一篇分享主要讲了列表、元组,为什么又要返回来讲字符串呢?因为通过类比列表和元组,学习字符串、序列就会简单很多呀!而且字符串、列表、元组有很多共同的地方,这大概也和马大师所...