Python装饰类

时间:2016-12-02 04:33:16

标签: python python-decorators

我正在尝试用参数装饰class,但无法让它起作用:

这是装饰者:

 def message(param1, param2):
   def get_message(func):
        func.__init__(param1,param2)

   return get_message

我要把装饰器放在哪个类

@message(param1="testing1", param2="testing2")
class SampleClass(object):
   def __init__(self):
     pass

但这不起作用,我在运行时遇到错误。有谁知道这个问题是什么?,我正在尝试创建一个装饰器来初始化带有一些值的类。

1 个答案:

答案 0 :(得分:9)

我无法弄清楚你想要做什么。如果你想用带参数的装饰器来装饰一个类,那么一种方法就是这样。

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:background="@color/optionItemBackgroundColor"
    android:orientation="vertical"
    android:weightSum="100"
    android:baselineAligned="false">

    <LinearLayout
        android:id="@+id/fill_layout"
        android:layout_width="0dp"
        android:layout_height="match_parent"
        android:layout_weight="50"
        android:background="@color/percent_fill_color"
        android:orientation="horizontal">
    </LinearLayout>

</LinearLayout>