相关疑难解决方法(0)

5409
推荐指数
22
解决办法
75万
查看次数

任何人都可以帮助压缩这个Python代码吗?

我正在用Python编写脚本并遇到一些问题:

class LightDMUser(QObject):
  def __init__(self, user):
    super(LightDMUser, self).__init__()
    self.user = user

  @pyqtProperty(QVariant)
  def background(self):      return self.user.get_background()

  @pyqtProperty(QVariant)
  def display_name(self):    return self.user.get_display_name()

  @pyqtProperty(QVariant)
  def has_messages(self):    return self.user.get_has_messages()

  @pyqtProperty(QVariant)
  def home_directory(self):  return self.user.get_home_directory()

  @pyqtProperty(QVariant)
  def image(self):           return self.user.get_image()

  @pyqtProperty(QVariant)
  def language(self):        return self.user.get_language()

  @pyqtProperty(QVariant)
  def layout(self):          return self.user.get_layout()

  @pyqtProperty(QVariant)
  def layouts(self):         return self.user.get_layouts()

  @pyqtProperty(QVariant)
  def logged_in(self):       return self.user.get_logged_in()

  @pyqtProperty(QVariant)
  def name(self):            return self.user.get_name()

  @pyqtProperty(QVariant)
  def real_name(self):       return self.user.get_real_name()

  @pyqtProperty(QVariant)
  def session(self):         return self.user.get_session()
Run Code Online (Sandbox Code Playgroud)

如您所见,此代码非常多余.我尝试像这样冷凝它:

class LightDMUser(QObject):
  attributes = ['background', 'display_name', 'has_messages', 'home_directory', …
Run Code Online (Sandbox Code Playgroud)

python class pyqt

7
推荐指数
1
解决办法
698
查看次数

标签 统计

python ×2

class ×1

metaclass ×1

oop ×1

pyqt ×1

python-datamodel ×1