我正在嘗試創建一種將前綴應用於修改項目現有統計信息的項目的方法。例如,在下面的代碼中,我試圖將'巨大'前綴應用於'jar'項目。我想讓代碼可重用,這樣我就可以擁有不同的前綴('快速','健康'),可以修改不同的項目統計信息。參考類成員的變量 - Python
- 是否可以在變量中保存類成員的名稱?
- 如果是這樣,有什麼理由我不應該?
- 如果沒有,還有什麼替代方案?
class Prefix(object):
def __init__(self, word, stat, valu):
self.word = word
self.stat = stat
self.valu = valu
class Item(object):
def __init__(self, name, size):
self.name = name
self.size = size
def apply_prefix(self, prefix):
self.prefix.stat += prefix.valu # <-- Here is my issue
self.name = prefix.word + ' ' + self.name
# My hope is to make the code reusable for any stat
def print_stats(self):
print self.name, self.size
def main():
jar = Item('jar', 10)
huge_prefix = Prefix('huge', 'size', 5)
jar.apply_prefix(huge_prefix)
jar.print_stats()
你是什麼意思的「持有類成員」的名字? – aIKid
如果項目類可能具有大小或速度,我希望前綴類stat變量指向大小或速度。這將允許我使用一行代碼而不是一堆if語句。 – Jehy