不使用继承创建类似字典对象
创始人
2024-12-28 21:30:32
0

要创建类似字典对象而不使用继承,可以使用组合来实现。下面是一个示例代码:

class Dictionary:
    def __init__(self):
        self.keys = []
        self.values = []

    def __getitem__(self, key):
        if key in self.keys:
            index = self.keys.index(key)
            return self.values[index]
        else:
            return None

    def __setitem__(self, key, value):
        if key in self.keys:
            index = self.keys.index(key)
            self.values[index] = value
        else:
            self.keys.append(key)
            self.values.append(value)

    def __delitem__(self, key):
        if key in self.keys:
            index = self.keys.index(key)
            del self.keys[index]
            del self.values[index]

    def __contains__(self, key):
        return key in self.keys

    def __len__(self):
        return len(self.keys)

    def keys(self):
        return self.keys

    def values(self):
        return self.values

    def items(self):
        return zip(self.keys, self.values)

你可以使用这个类来创建一个类似字典的对象,并且可以像操作字典一样使用它。以下是一个示例:

d = Dictionary()
d['name'] = 'John'
d['age'] = 30

print(d['name'])  # 输出: John
print('age' in d)  # 输出: True
print(len(d))  # 输出: 2
print(d.keys())  # 输出: ['name', 'age']
print(d.values())  # 输出: ['John', 30]
print(d.items())  # 输出: [('name', 'John'), ('age', 30)]

del d['age']
print(len(d))  # 输出: 1
print('age' in d)  # 输出: False

相关内容

热门资讯

红龙扑克辅助器!红龙扑克电脑模... 红龙扑克辅助器!红龙扑克电脑模拟器,(红龙扑克)真是真的有挂(详细辅助工具教程)是一款可以让一直输的...
微扑克辅助软件!微扑克有保险吗... 微扑克辅助软件!微扑克有保险吗,(微扑克游戏)其实是有挂(详细全自动机器人教程);一、微扑克辅助软件...
德扑自定义!德扑线上创建房间,... WePoker透视辅助版本稳定性对比与推荐‌:德扑自定义!德扑线上创建房间,德扑之星ai代打原来是有...
德扑之星比赛!德扑软件决策,德... 德扑之星比赛!德扑软件决策,德扑开发真是是真的有挂(详细ai代打教程);亲真的是有正版授权,小编(透...
德州ai辅助软件!德扑之星开桌... 德州ai辅助软件!德扑之星开桌怎么设置,德扑之星ai软件其实有挂(详细功能教程);德州ai辅助软件软...
aapoker透明挂!wepo... 【福星临门,好运相随】;aapoker透明挂!wepoke有软件吗(Wepoke是真的)本来是真的有...
德扑ai软件!德扑人工智能软件... 德扑ai软件!德扑人工智能软件,德扑之星内部都是真的有挂(详细有挂吗教程);超受欢迎的稳赢小游戏,经...
微扑克有辅助挂!微扑克有辅助挂... 微扑克有辅助挂!微扑克有辅助挂吗,(微扑克苹果版)都是存在有挂(详细有辅助挂教程);是一款可以让一直...
we辅助poker德之星!wo... 1、we辅助poker德之星!wopoker游戏辅助器(wepoke)本来存在有挂(详细透明挂教程)...
红龙扑克辅助!红龙扑克是正规的... 红龙扑克辅助!红龙扑克是正规的吗,(红龙扑克)确实真的有挂(详细辅助教程);是一款可以让一直输的玩家...