Samsara_v 2023-12-25 16:22 采纳率: 33.3%
浏览 7
已结题

Python如果变量的命名是有规律的,怎么批量操作

img


如题,如果类里的变量长这样,XX的值为0到23。怎么实现给awXX赋值

  • 写回答

3条回答 默认 最新

  • 无序繁星 2023-12-25 16:47
    关注

    可以用getattr取当前属性

    class Awards:
        def __init__(self):
            self.aw01 = []
            self.aw02 = []
            self.aw03 = []
            self.aw04 = []
            
    obj = Awards()
    
    for i in range(1, 5):
        var_name = "aw"+ f'{i:02}'
        print(getattr(obj, var_name))
    

    不过一般在设计类的时候尽量避免这样做,而是用字典保存

    class Awards:
        def __init__(self):
            self.datas = {}
            
            for i in range(1, 5):
                self.datas["aw" + f'{i:02}'] = []
    
    obj = Awards()
    print(obj.datas) 
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

问题事件

  • 系统已结题 1月4日
  • 已采纳回答 12月27日
  • 创建了问题 12月25日