পাইথন মেমো
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 ডিজাইন প্যাটার্নগুলো ২৩টি ডিজাইন প্যাটার্নের একটি সেট, যা "Design Patterns: Elements of Reusable Object-Oriented Software" বইতে বর্ণনা করা হয়েছে।
নাম |
বিবরণ |
कारखाना पद्धতি |
ঠিক ক্লাস নির্দিষ্ট না করে, অবজেক্ট তৈরি করো |
অবস্ট্র্যাক্ট ফ্যাক্টরি |
বাস্তব ক্লাসকে উল্লেখ না করে সংশ্লিষ্ট বা নির্ভরশীল অবজেক্টের পরিবার তৈরি করুন। |
বিল্ডার |
জটিল বস্তুর নির্মাণকে তার উপস্থাপনায় পৃথক করুন যাতে একই নির্মাণ প্রক্রিয়া ভিন্ন-ভিন্ন উপস্থাপনা তৈরি করতে পারে। |
প্রোটোটাইপ |
একটি বিদ্যমান প্রোটোটাইপ কপি করে নতুন বস্তু তৈরি করে। |
একক |
একটি ক্লাসের ইন্সট্যান্সিয়েশনকে একমাত্র বস্তুতে সীমাবদ্ধ করে। |
অ্যাডাপ্টার |
একটি ক্লাসের ইন্টারফেসকে অন্য একটি ইন্টারফেসে রূপান্তর করে যা ক্লায়েন্ট প্রত্যাশা করে |
ব্রিজ |
একটি abstractionsকে এর বাস্তবায়ন থেকে বিচ্ছিন্ন করুন যাতে উভয়টি স্বাধীনভাবে পরিবর্তিত হতে পারে। |
কম্পোজিট |
অবজেক্ট গুলোকে গাছের গঠনে গঠন করে অংশ-বিশেষের হিরারকি উপস্থাপন করুন। |
ডেকোরেটর |
গতিশীলভাবে একটি বস্তুকে অতিরিক্ত দায়িত্ব সংযুক্ত করুন। |
প্রশস্ত |
একটি সাবসিস্টেমে ইন্টারফেসের একটি সেটকে একীভূত ইন্টারফেস প্রদান করে। |
হালকা ওজনের |
হালকা বস্তু তৈরি ও ব্যবহারে খরচ কমায়। |
প্রক্সি |
একটি অন্য বস্তুর জন্য একটি প্রতিস্থাপন বা স্থান ধরন প্রদান করে, যাতে তার অ্যাক্সেস নিয়ন্ত্রণ করা যায়। |
দায়িত্বের শৃंखলা |
একাধিক অবজেক্টকে একটি অনুরোধ পরিচালনায় অনুমতি দেয়। |
আদেশ |
একটি অনুরোধকে একটি অবজেক্টে এনক্যাপসুলেট করে, যা আপনাকে বিভিন্ন অনুরোধ, কিউ বা লগের সাথে ক্লায়েন্টকে প্যারামিটারাইজ করতে দেয় এবং অনুত্থাপনযোগ্য অপারেশন সমর্থন করে। |
অনুবাদক |
একটি ভাষার ব্যাকরণের একটি উপস্থাপনা প্রদান কর এবং সেই উপস্থাপনাটি ব্যবহার করে সেই ভাষার বাক্যাগুলি ব্যাখ্যা কর। |
ইটেরেটর |
একটি সংগঠিত অবজেক্টের উপাদানগুলোকে ক্রমানুসারে অনুসরণ করার উপায় প্রদান করে, কোনো অন্তর্নিহিত উপস্থাপন প্রকাশ না করে। |
Mediator |
এটি অবজেক্ট জটিল নির্ভরতা কমাতে সাহায্য করে, কারণ এটি অবজেক্টগুলোকে শুধুমাত্র একটি মিডিয়েটর অবজেক্টের মাধ্যমে যোগাযোগ করতে বাধ্য করে। |
স্মৃতিচিহ্ন |
একটি বস্তুকে এর পূর্বের অবস্থায় পুনঃস্থাপন করার ক্ষমতা প্রদান করে (এনক্যapsulation ভাঙা না করে). |
অवलোকক |
একটি এক‑এর‑বহু নির্ভরতা সংজ্ঞায়িত করে object‑গুলোকে, যাতে যখন কোনো object‑এর state পরিবর্তিত হয়, তাহলে তার সব নির্ভরতাকে স্বয়ংক্রিয়ভাবে বিজ্ঞপ্তি দেওয়া হয় এবং আপডেট করা হয়। |
স্টেট |
একটি বস্তুকে তার আंतरিক অবস্থা পরিবর্তিত হওয়ার সময় তার আচরণ পরিবর্তিত করার অনুমতি দেয়। |
রণনীতি |
একটি অ্যালগরিদমের পরিবারকে সংজ্ঞায়িত করে, প্রতিটিকে ক্যাপসুল করে এবং একে অকে বিনিময়যোগ্য করে। |
টেমপ্লেট পদ্ধতি |
একটি পদ্ধতিতে একটি অ্যালগরিদমের কাঠামো নির্ধারণ করে, কিছু ধাপকে উপশ্রেণীগুলিতে委譲 করা হয়। |
দর্শক |
এটি একটি অবজেক্টের স্ট্রাকচারে একটি নতুন অপারেশন নির্ধারণ করতে দেয়, সেই অবজেক্টদের শ্রেণি পরিবর্তন না করে। |
ফাংশনাল প্রোগ্রামিং
লাইব্রেরি |
URL |
বর্ণনা |
PyMonad |
PyMonad হল Python-এ মোনাডিক ডেটা স্ট্রাকচারের একটি বাস্তবায়ন যা Haskell এবং F# মতো প্রোগ্রামিং ভাষাগুলোর উপর ভিত্তি করে গঠিত এবং ফাংশনাল প্রোগ্রামিংয়ে সর্বাধিক ব্যবহৃত মোনাডের ধরনের জন্য বাস্তবায়ন অন্তর্ভুক্ত করে।https://www.miguelfarrajota.com/2021/06/monads-in-python-with-pymonad/[আর্টিকেল] |
|
PyFunctional |
PyFunctional একটি Python লাইব্রেরি যা ফাংশনাল প্রোগ্রামিংয়ের জন্য সরবরাহ করে এবং শুধুমাত্র ফাংশন ও ইটারেবলের সাথে কাজ করার জন্য সরঞ্জাম প্রদান করে। |
|
Toolz |
Toolz একটি পাইথন লাইব্রেরি যা ফাংশনাল প্রোগ্রামিংয়ের জন্য ডিজাইন করা হয়েছে এবং শुद्ध ফাংশন এবং Iterable নিয়ে কাজ করার জন্য সরঞ্জাম প্রদান করে। |
|
Fn.py |
Fn.py` একটি পাইথন লাইব্রেরি ফাংশনাল প্রোগ্রামিংয়ের জন্য যা শুদ্ধ ফাংশন ও iterable নিয়ে কাজ করার জন্য সরঞ্জাম দেয়। |
|
নারিকেল |
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)