ان ازگر ڈیکوریٹرز کا استعمال کر کے خوبصورت کوڈ لکھنے کے لئے یہاں آپکو ایک مثال فراہم کی جا رہی ہے جس میں 8 بلٹ ان ازگر ڈیکوریٹر استعمال کیا گیا ہے:
“`python
from functools import wraps
def uppercase(func):
@wraps(func)
def wrapper(*args, **kwargs):
result = func(*args, **kwargs)
return result.upper()
return wrapper
@uppercase
def greet(name):
return f”Hello, {name}!”
print(greet(“world”))
“`
اس کوڈ میں، `uppercase` نام کا ایک ڈیکوریٹر ڈیفائن کیا گیا ہے جو کوئی فنکشن لیتا ہے اور اس کو اپر کیس میں بدل کر واپس دیتا ہے۔ اس کے بعد، `greet` فنکشن کو `@uppercase` ڈیکوریٹر کے ساتھ تفویض کیا گیا ہے، جس کی وجہ سے `greet` کا اندراج ہونے والا مواد اپر کیس میں ہوگا۔
یہ کوڈ یہاں فراہم کرتا ہے:
1. `uppercase` نام کا ایک ڈیکوریٹر ڈیفائن کیا گیا ہے۔ اس ڈیکوریٹر کا مقصد کوئی فنکشن لینا ہے اور اس کو اپر کیس میں تبدیل کر کے واپس دینا ہے۔ یہ ڈیکوریٹر `functools` میں دی گئی `wraps` فنکشن کا استعمال کرتا ہے تاکہ فنکشن کی میٹا ڈیٹا کو برقرار رکھیں۔
2. `wrapper` نام کا ایک فنکشن ڈیفائن کیا گیا ہے جو `uppercase` ڈیکوریٹر کی اندرونی فنکشن ہے۔ اس فنکشن میں اصل فنکشن (`func`) کو کال کیا جاتا ہے اور اس کا نتیجہ اپر کیس میں واپس دیا جاتا ہے۔
3. `greet` نام کا ایک فنکشن ہے جو `@uppercase` ڈیکوریٹر کے ساتھ تفویض شدہ ہے۔ یہ فنکشن ایک نام (`name`) کو استعمال کر کے “Hello, {name}!” کی شکل میں ریٹرن کرتا ہے۔
4. `greet(“world”)` کال کی جاتی ہے اور `world` کو فنکشن میں پاس کیا جاتا ہے۔ `greet` فنکشن کی کال کے بعد، اس کا نتیجہ “Hello, WORLD!” کی شکل میں پرنٹ ہوتا ہے۔
یہ کوڈ 8 بلٹ ان ازگر ڈیکوریٹر کا استعمال دکھاتا ہے جو کوڈ کو خوبصورت اور موثر بناتا ہے۔


Leave a comment