自学一坤月的新手,有个想法,想让我构造的类对象可以使用切片或是下标号获取实例变量的值
目前想法是给实例初始化一个空列表属性variables_list,专门用于存放其他实例变量,但是问题就来了,存入列表的是每个实例变量的值,而我想要的是每个实例变量名称提取为字符串格式再存入这个列表,例如self.a = 0,我需要的是将字符串'a'存入列表,而不是将整数0存入列表,有什么方法能在我构造这个实例变量时提取出字符串的变量名?
后续__getitem__,__setitem__,__delitem__这些我都懂实现,我能想到的提取属性字符串名称的只有描述符相关的__setname__,但是这又违背我的初衷了,主要是我目前还不懂实现将动态添加的实例变量构造成描述符
最终我希望的效果是这样的,我任意一个实例对象新增了一个属性,例如x,此时会自动在这个实例对象的variables_list加入一个字符串元素'x',后续我就可以实现使用[lbk]下标号[rbk]、[lbk]切片[rbk]、[lbk]属性名[rbk]取值、赋值、删除,实现__len__返回len(self.variables_list),总之就是围绕如何将变量名提取为字符串,所以各位大佬有啥思路不?
至少我觉得这样构造的类,相对于普通的类,多了额外几种取值方法,相对于一个列表来说,多出了[lbk]属性名[rbk]甚至是[lbk]属性名1:属性名2:步长[rbk]的取值方法,不知道现实中有没有能用上的场景,纯脑洞,求轻喷
目前想法是给实例初始化一个空列表属性variables_list,专门用于存放其他实例变量,但是问题就来了,存入列表的是每个实例变量的值,而我想要的是每个实例变量名称提取为字符串格式再存入这个列表,例如self.a = 0,我需要的是将字符串'a'存入列表,而不是将整数0存入列表,有什么方法能在我构造这个实例变量时提取出字符串的变量名?
后续__getitem__,__setitem__,__delitem__这些我都懂实现,我能想到的提取属性字符串名称的只有描述符相关的__setname__,但是这又违背我的初衷了,主要是我目前还不懂实现将动态添加的实例变量构造成描述符
最终我希望的效果是这样的,我任意一个实例对象新增了一个属性,例如x,此时会自动在这个实例对象的variables_list加入一个字符串元素'x',后续我就可以实现使用[lbk]下标号[rbk]、[lbk]切片[rbk]、[lbk]属性名[rbk]取值、赋值、删除,实现__len__返回len(self.variables_list),总之就是围绕如何将变量名提取为字符串,所以各位大佬有啥思路不?
至少我觉得这样构造的类,相对于普通的类,多了额外几种取值方法,相对于一个列表来说,多出了[lbk]属性名[rbk]甚至是[lbk]属性名1:属性名2:步长[rbk]的取值方法,不知道现实中有没有能用上的场景,纯脑洞,求轻喷

