网页资讯视频图片知道文库贴吧地图采购
进入贴吧全吧搜索

 
 
 
日一二三四五六
       
       
       
       
       
       

签到排名:今日本吧第个签到,

本吧因你更精彩,明天继续来努力!

本吧签到人数:0

一键签到
成为超级会员,使用一键签到
一键签到
本月漏签0次!
0
成为超级会员,赠送8张补签卡
如何使用?
点击日历上漏签日期,即可进行补签。
连续签到:天  累计签到:天
0
超级会员单次开通12个月以上,赠送连续签到卡3张
使用连续签到卡
12月05日漏签0天
python吧 关注:479,930贴子:1,980,779
  • 看贴

  • 图片

  • 吧主推荐

  • 视频

  • 游戏

  • 5回复贴,共1页
<<返回python吧
>0< 加载中...

想实现一个伪列表

  • 只看楼主
  • 收藏

  • 回复
  • 攒银子的但丁
  • 榜眼
    12
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
自学一坤月的新手,有个想法,想让我构造的类对象可以使用切片或是下标号获取实例变量的值
目前想法是给实例初始化一个空列表属性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]的取值方法,不知道现实中有没有能用上的场景,纯脑洞,求轻喷


  • 攒银子的但丁
  • 榜眼
    12
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
搞什么鬼,辛苦码的字左中括号[和右中括号]都被自动替换了


2025-12-05 20:17:46
广告
不感兴趣
开通SVIP免广告
  • 攒银子的但丁
  • 榜眼
    12
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
顶


  • xelloss_sc
  • 探花
    11
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
把对象名字符串化,再把字符串转换成对象名强制转换成对象


  • 贴吧用户_Q6b7MNM
  • 贡士
    6
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
使用eval并提供一个增添属性的方法,传入一个字符串和值 如果只是完成类似这种取值的多种方法,也可以直接维护两个dict,而不用list


  • 一周休七日
  • 吧主
    12
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
。。。。。。。。。。。。
。。def __setattr__(self, key, value):
。。。。self.__dict__[key] = value


登录百度账号

扫二维码下载贴吧客户端

下载贴吧APP
看高清直播、视频!
  • 贴吧页面意见反馈
  • 违规贴吧举报反馈通道
  • 贴吧违规信息处理公示
  • 5回复贴,共1页
<<返回python吧
分享到:
©2025 Baidu贴吧协议|隐私政策|吧主制度|意见反馈|网络谣言警示