如果类属性是这样设置的,并且我想更改以DBT为例开始的所有属性,那么有没有一种方法可以做到这一点,而无需对每个属性单独显式使用setattr
class AttrTester():
def __init__(self):
self.DBTname = "dbt name"
self.DBTage = "dbt age"
self.DBTclass = "dbt class"
self.RCCname = "rcc name"
self.RCCage = "rcc age"
self.RCCclass = "rcc class"
def wipe_dbt(self):
setattr(self, "DBTname", "None")
setattr(self, "DBTage", "None")
setattr(self, "DBTclass", "None")
attr = AttrTester()
attr.wipe_dbt()
print(getattr(attr, "DBTname"))
print(getattr(attr, "DBTage"))
print(getattr(attr, "DBTclass"))
以下是一种相当通用的方法:
如果您愿意,也可以将其作为单独的功能:
来自评论的解决方案
首先,最好正确地说“实例属性”,因为它们绑定到实例(自身)而不是类
我假设您要做的是获取任何以
"DBT"
开头的实例属性,并将new_value
设置为该属性相关问题 更多 >
编程相关推荐