簡體   English   中英

動態調用屬性setter

[英]call a property setter dynamically

self.__dict__.update resp。 self.__dict__....正在覆蓋serial setter功能:

class Overwrite:
  serial_ = None

  @property
  def serial(self):
    print("get serial...")
    return self.serial_

  @serial.setter
  def serial(self, v):
    print("set serial...")
    self.serial_ = v

  def demo(self):
    test = {'serial': 'D1D297C1E8839EF2C0E69EF709653C05'}
    self.__dict__.update(test)


ow = Overwrite()
ow.demo()
print(ow.serial)

我想找到一種動態設置serial setter功能的方法。 有人能幫我嗎?

你可以使用setattr

for k, v in test.items():
    setattr(self, k, v)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM