Pertanyaan yang diberi tag «decorator»

Dekorator adalah pola desain berorientasi objek yang memungkinkan penambahan perilaku ke kelas yang ada secara dinamis. Ini adalah salah satu pola desain struktural Gang of Four.

5
Apa itu "dekorator" dan bagaimana mereka digunakan?
Saya ingin tahu apa sebenarnya dekorator di AngularJS. Tidak ada banyak informasi online untuk dekorator kecuali untuk uraian dalam dokumentasi AngularJS dan penyebutan singkat (meskipun menarik) dalam video youtube . Seperti yang dikatakan orang Angular sebagai dekorator adalah: Dekorasi layanan, memungkinkan dekorator untuk mencegat pembuatan contoh layanan. Instance yang dikembalikan …

11
Dekorator Python di kelas
Bisakah seseorang menulis sesuatu seperti: class Test(object): def _decorator(self, foo): foo() @self._decorator def bar(self): pass Ini gagal: self in @self tidak diketahui Saya juga mencoba: @Test._decorator(self) yang juga gagal: Tes tidak diketahui Saya ingin sementara mengubah beberapa variabel contoh di dekorator dan kemudian menjalankan metode yang dihiasi, sebelum mengubahnya kembali.
140 python  class  decorator  self 


8
Perbedaan antara Proxy dan Pola Dekorator
Bisakah Anda memberikan penjelasan yang baik apa perbedaan antara Proxy dan Dekorator ? Perbedaan utama yang saya lihat adalah bahwa ketika kita mengasumsikan bahwa Proxy menggunakan komposisi dan Dekorator menggunakan agregasi maka tampaknya menjadi jelas bahwa dengan menggunakan beberapa Dekorator, Anda dapat memodifikasi / menambahkan fungsionalitas ke instance yang sudah …

8
Bagaimana cara menghias kelas?
Dalam Python 2.5, apakah ada cara untuk membuat dekorator yang menghiasi kelas? Secara khusus, saya ingin menggunakan dekorator untuk menambahkan anggota ke kelas dan mengubah konstruktor untuk mengambil nilai bagi anggota itu. Mencari sesuatu seperti berikut (yang memiliki kesalahan sintaks pada 'class Foo:': def getId(self): return self.__id class addID(original_class): def …

7
dekorator di lib standar python (@deprecated khusus)
Saya perlu menandai rutinitas sebagai usang, tetapi tampaknya tidak ada dekorator perpustakaan standar untuk penghentian. Saya mengetahui resep untuk itu dan modul peringatan, tetapi pertanyaan saya adalah: mengapa tidak ada dekorator perpustakaan standar untuk tugas (umum) ini? Pertanyaan tambahan: apakah ada dekorator standar di perpustakaan standar?
127 python  decorator 

3
Cara membuat properti abstrak di kelas abstrak python
Dalam kode berikut, saya membuat kelas abstrak dasar Base. Saya ingin semua kelas yang diwarisi Basemenyediakan nameproperti, jadi saya menjadikan properti ini sebagai @abstractmethod. Kemudian saya membuat subclass dari Base, disebut Base_1, yang dimaksudkan untuk menyediakan beberapa fungsionalitas, tetapi tetap abstrak. Tidak ada nameproperti di Base_1, namun python membuat objek …


6
Melestarikan tanda tangan dari fungsi yang didekorasi
Misalkan saya telah menulis seorang dekorator yang melakukan sesuatu yang sangat umum. Misalnya, ini mungkin mengubah semua argumen ke tipe tertentu, melakukan logging, mengimplementasikan memoization, dll. Berikut ini contohnya: def args_as_ints(f): def g(*args, **kwargs): args = [int(x) for x in args] kwargs = dict((k, int(v)) for k, v in kwargs.items()) …
111 python  decorator 

8
Python memoising / deferred lookup property decorator
Baru-baru ini saya telah melalui basis kode yang ada yang berisi banyak kelas di mana atribut contoh mencerminkan nilai yang disimpan dalam database. Saya telah merefaktor banyak atribut ini agar pencarian database mereka ditangguhkan, yaitu. tidak akan dijalankan di konstruktor tetapi hanya setelah dibaca pertama kali. Atribut ini tidak berubah …
109 python  decorator 

13
Dapatkah seorang dekorator metode instance mengakses kelas?
Saya memiliki sesuatu yang kira-kira seperti berikut ini. Pada dasarnya saya perlu mengakses kelas metode contoh dari dekorator yang digunakan pada metode contoh dalam definisinya. def decorator(view): # do something that requires view's class print view.im_class return view class ModelA(object): @decorator def a_method(self): # do some stuff pass Kode apa …
109 python  decorator 

5
Webpack babel 6 dekorator ES6
Saya punya proyek yang ditulis dalam ES6 dengan webpack sebagai bundler saya. Sebagian besar transpiling berfungsi dengan baik, tetapi ketika saya mencoba menyertakan dekorator di mana saja, saya mendapatkan kesalahan ini: Decorators are not supported yet in 6.x pending proposal update. Saya telah memeriksa pelacak masalah babel, dan belum dapat …

1
Perintah eksekusi dekorator
def make_bold(fn): return lambda : "<b>" + fn() + "</b>" def make_italic(fn): return lambda : "<i>" + fn() + "</i>" @make_bold @make_italic def hello(): return "hello world" helloHTML = hello() Keluaran: "<b><i>hello world</i></b>" Saya kira-kira mengerti tentang dekorator dan cara kerjanya dengan salah satunya di sebagian besar contoh. Dalam contoh …

3
Menentukan apakah root logger disetel ke level DEBUG dengan Python?
Jika saya mengatur modul logging ke DEBUG dengan parameter baris perintah seperti ini: if (opt["log"] == "debug"): logging.basicConfig(level=logging.DEBUG) Bagaimana saya nanti bisa tahu jika logger telah diatur ke DEBUG? Saya sedang menulis dekorator yang akan mengatur waktu fungsi jika True flag diteruskan ke sana, dan jika tidak ada flag yang …

13
Bagaimana cara membuat dekorator Python yang dapat digunakan dengan atau tanpa parameter?
Saya ingin membuat dekorator Python yang dapat digunakan baik dengan parameter: @redirect_output("somewhere.log") def foo(): .... atau tanpa mereka (misalnya untuk mengarahkan output ke stderr secara default): @redirect_output def foo(): .... Apakah itu mungkin? Perhatikan bahwa saya tidak mencari solusi berbeda untuk masalah pengalihan keluaran, ini hanya contoh sintaks yang ingin …
90 python  decorator 
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.