Beri tag pada fungsi Anda
Memberi tag berarti Anda menambahkan satu atau lebih string yang bertindak sebagai label. Misalnya, kita sering memberi tag pada email atau foto agar bisa dicari kembali nanti. Anda memutuskan untuk menulis sebuah dekorator yang memungkinkan Anda memberi tag pada fungsi-fungsi Anda dengan daftar tag apa pun. Anda dapat menggunakan tag ini untuk banyak hal:
- Menambahkan informasi tentang siapa yang telah mengerjakan fungsi tersebut, sehingga pengguna dapat mencari siapa yang harus ditanya jika mengalami kendala saat menggunakannya.
- Melabeli fungsi sebagai "eksperimental" agar pengguna tahu bahwa masukan dan keluaran mungkin berubah di masa mendatang.
- Menandai fungsi apa pun yang Anda rencanakan untuk dihapus pada versi kode berikutnya.
- Dst.
Latihan ini adalah bagian dari kursus
Menulis Function di Python
Petunjuk latihan
- Definisikan dekorator baru bernama
decorator()untuk dikembalikan. - Pastikan fungsi yang didekorasi mempertahankan metadata-nya.
- Panggil fungsi yang didekorasi dan kembalikan hasilnya.
- Kembalikan dekorator yang baru.
Latihan interaktif praktis
Cobalah latihan ini dengan menyelesaikan kode contoh berikut.
def tag(*tags):
# Define a new decorator, named "decorator", to return
def ____(____):
# Ensure the decorated function keeps its metadata
@____(____)
def wrapper(*args, **kwargs):
# Call the function being decorated and return the result
return ____(____, ____)
wrapper.tags = tags
return wrapper
# Return the new decorator
return ____
@tag('test', 'this is a tag')
def foo():
pass
print(foo.tags)