簡體   English   中英

動態創建python屬性函數

[英]Create python property function dynamically

我想動態創建屬性方法。

這意味着,例如,我希望第一類A與第二類相同。

有什么辦法嗎?

class A(object):
  def __init__(self):
    self._a = 10
    self.createPropertyMethod(a, self._a, getFunc, setFunc, delFunc)

  def createPropertyMethod(self, name, value, getFunc, setFunc, delFunc)
     #TODO

class A(object):
  def __init__(self):
    self._a = 10

  @property
  def a(self):
    return getFunc(self._a)
  @a.setter
  def a(self, value):
    setFunc(self._a, value)
  @a.deleter
  def a(self):
    delFunc(self._a)

你不能,不是實例 property對象需要是它依賴的描述符協議的類的一部分。

您可以使用__getattr____getattr__ __setattr____delattr__掛鈎代替動態代理屬性訪問。

暫無
暫無

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

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