پائیٹن مذکرہ
Publié le 19 November 2023
پائیٹھن وینڈوز پر انسٹال کریں
پایتھن چلتا ہے
حوالہ:
cd mon_projet
python -m venv mon_venv
source mon_venv/bin/activate
# Sur windows
mon_venv\Scripts\activate
deactivate
انسٹال کی ضرورت
pip install -r requirements.txt
پایتھن میں GoF ڈیزائن پٹرنز
GoF کے ڈیزین پٹرنز 23 ڈیزین پٹرنز کا مجموعہ ہیں جو کتاب "Design Patterns: Elements of Reusable Object-Oriented Software" میں وضاحت کی گئی ہے۔
۔یہ GoF ڈیزائن پтерنز کی فہرست ہے
نام |
تفصیل |
فیکٹری میتھڈ |
اشیاء بنائیں صحیح کلاس اناستنسिए کے لئے كئے بغیر |
مجرد مصنع |
اشیا کے مربوط یا مستند خاندان بنائیں ان کی ملموس کلاس کا ذکر نہ کیے بغير |
بنانے والا |
مخلوط اشیاء کی تعمیر کو اس کی نمائندگی سے الگ کر دیں تاکہ یکساں تعمیر کا عمل مختلف نمائندگیوں کو پیدا کر سکے۔ |
نمونہ |
موجودہ نمونے کو کپی کر نئے اشیا بنائیں۔ |
سنگلٹن |
کلاس کی انตัวٹییشن کو صرف ایک شے تک محدود کیا جاتا ہے۔ |
مطابق بنانا |
کلاس کے انٹرفيس کو دوسرا انٹرفيس جو كلينت مت Expected ہے میں تبدیل کرتا ہے |
پول |
انتزاع کو اس کی تنفیذ سے الگ کریں تاکہ دونوں مستقل طور پر بدل سکیں۔ |
مرکب |
درختی ڈھانچوں میں اشیاء کو شامل کریں تا جز-کل کے سلسلے کی نمائندگی کی جا سکے۔ |
سجاوٹ کرنے والا |
ایک شیء پر ڈینامک طور پر اضافی ذمے جوڑیں۔ |
فیسڈ |
ایک سسٹم کے اندر انٹرーフیسی کے ایک مجموعے کے لیے یکسانی انٹرéfیس فراہم کرتا ہے۔ |
ہلکا وزنی |
خفیف اشیاء کی بنائ اور استعمال کے اخراجات کو کم کرتا ہے۔ |
پروکسی |
ایک دیگر شیء کے لیے ایک بدیل یا جگہ محفوظ فراہم کرتا ہے تاکہ اس پر رسائی کو کنٹرول کیا جا سکے۔ |
ذمہ داری کی زنجیر |
یہ ایک سے زیادہ اشیاء کو ایک طلب کی معالجہ کرنے کی اجازت دیتا ہے. |
حکم |
ایک درخواست کو ایک اشیاء میں لفاف کرکے، اس طرح کلیئنتس کو مختلف طلبات، کিউز یا لاگز کے ساتھ پارامیٹرائز کیا جا سکتا ہے اور واپس لینے والی آپریشنز کا ساتھ دینا ممکن بنایا جاتا ہے۔ |
ترجمان |
ایک زبان کی گرائمر کی نمائندگی کریں اور اس نمائندگی کا استعمال اس زبان میں جملوں کی تعبیر کرنے کے لیے کریں۔ |
ایٹریٹر |
یہ مجموعی اشیاء کے اجزاء کوسلسلہ وار گزرنا کا ایک طریقہ فراہم کرتا ہے، جس سے اس کی نیچے کی نمائندگی کو ظاہر نہیں کیا جاتا۔ |
وساط |
اشیاء کے درمیان پیچیدہ وابستگیوں کو کم کرنے کی اجازت دیتا ہے، انہیں صرف یک mediator object کے ذریعے رابطہ کرنے پر مجبور کر کر۔ |
یادگار |
یہ ایک شیئ کو اس کی قبلی حالت تک واپس لाने کی صلاحیت فراہم کرتا ہے (ایンキپسولیشن کو نقض کرنے کے بغیر). |
دیکھیں |
ایک object سے multiples objects تک ایک سے زیادہ (one-to-many) dependency کا تعین کرتا ہے، تاکہ جب کوئی object کی حالت تبدیل ہوتی ہے، تو اس کے تمام dependent خود بخود خبردار اور اپ ڈیٹ کر دیے جاتے ہیں۔ |
ریاست |
ایک اشیاء کو اجازت دیتا ہے کہ وہ اپنے اندرونی حالت کے تبدیل ہونے پر اپنا سلوک بدلے۔ |
**استراتژی |
فنکشنل پروگرامنگ
کتاب خانہ |
URL |
تفصیل |
PyMonad |
PyMonad، Python میں مونادِک ڈیٹر ساختوں کی ایک امپلیمنٹ ہے جو Haskell اور F# جیسے پروگرامنگ زبانوں پر مبنی ہے اور فنگکشنل پروگرامنگ میں عام طور پر استعمال ہونے والی موناد کی اقسام کے لیے امپلیمنٹس پیش کرتا ہے۔https://www.miguelfarrajota.com/2021/06/monads-in-python-with-pymonad/[مضمون] |
|
PyFunctional |
PyFunctional ایک Python لائبریری ہے جو فینکشنل پروگرامنگ کے لیے بنائی گئی ہے، جو صاف وظائف اور قابل تكرار اشیاء کے ساتھ کام کرنے کے لیے ٹولز فراہم کرتی ہے۔ |
|
Toolz |
Toolz ایک Python لائبریری ہے جوفنکشنل پروگرامنگ کے لیے ہوتی ہے جو صافِ عمل (pure functions) اور iterables کے ساتھ کام کرنے کے لیے ٹولز فراہم کرتی ہے۔ |
|
Fn.py |
Fn.py Python کے لیے ایک فائنکشنل پروگرامنگ لائبریری ہے جو pure functions اور iterables کے ساتھ کام کرنے کے لیے ٹولز فراہم کرتا ہے۔ |
|
ناریل |
Coconut Python میں فینکشنل پروگرامنگ کے لیے کئی خصوصیات شامل کرتی ہے، جس میں پیٹرن ماچنگ شامل ہے۔https://stackoverflow.com/questions/11909681/are-there-pattern-matching-functions-in-python-like-this[بات چیت sof] |
پرا جانبی اثرات
لوپیں
# impérative way
result = []
for i in inputs:
x = f(g(i))
result.append(x)
# idiomatic way
result = map(comp(f,g), inputs)