Python প্রোগ্রামিং শব্দকোষ — ১০৬২টি শব্দের সহজ বাংলা মানে
Python Programming Glossary in Bangla — every technical term from the course, with pronunciation and a plain Bangla explanation.
কোর্সের প্রতিটি পর্বে যে ইংরেজি শব্দগুলো এসেছে — class, thread, stack — সবগুলো এখানে এক জায়গায়। প্রতিটির পাশে বাংলা উচ্চারণ, সহজ মানে আর কোন পর্বে বিস্তারিত শিখবেন, তার লিংক।
মোট ১০৬২টি শব্দ
#
- %-formattingপার্সেন্ট ফরম্যাটিং
- C-র printf থেকে নেওয়া সবচেয়ে পুরোনো formatting পদ্ধতি, যেমন "%s পেয়েছে %d" % (name, n) লেখা। পুরোনো কোড ও logging-এ দেখা যায়।যেখানে শিখবেন: পর্ব ১০
- **kwargsডাবল স্টার কোয়ার্গস
- ফাংশনের সংজ্ঞায় দুই তারা-চিহ্নওয়ালা parameter, যা কোনো parameter-এর সাথে নাম না মেলা সব keyword argument একটি dict-এ জমা করে — চাবি হলো নাম, মান হলো argument. এটি সবসময় parameter তালিকার শেষে বসে।যেখানে শিখবেন: পর্ব ২০পর্ব ৩৫পর্ব ৫৪
- *argsস্টার আর্গস
- ফাংশনের সংজ্ঞায় তারা-চিহ্নওয়ালা parameter, যা নির্দিষ্ট parameter ভরার পর বাড়তি সব positional argument একটি tuple-এ জমা করে। args শুধু প্রচলিত নাম; আসল কাজ * চিহ্নের।যেখানে শিখবেন: পর্ব ২০পর্ব ৩৫পর্ব ৫৪
- @classmethodক্লাসমেথড
- যে method প্রথম argument হিসেবে object নয়, class নিজেকে (cls) পায়। প্রধান ব্যবহার বিকল্প constructor, যেমন Wallet.from_string(...).যেখানে শিখবেন: পর্ব ২৯
- @contextmanagerকনটেক্সটম্যানেজার ডেকোরেটর
- contextlib-এর decorator, যা একবার yield করা একটি generator ফাংশনকে context manager বানায়: yield-এর আগের কোড ঢোকা, পরের কোড (finally-তে) বেরোনো।যেখানে শিখবেন: পর্ব ৩৬
- @staticmethodস্ট্যাটিকমেথড
- class-এর ভেতরে রাখা সাধারণ ফাংশন, যা কোনো স্বয়ংক্রিয় প্রথম argument (self বা cls) পায় না। প্রায়ই module-স্তরের ফাংশন দিয়েও একই কাজ হয়।যেখানে শিখবেন: পর্ব ২৯
A
- Absolute importঅ্যাবসোলিউট ইমপোর্ট
- top-level package-এর নাম থেকে পুরো পথ লিখে import করা, যেমন from shop.pricing import with_vat. যেকোনো ফাইল থেকে একই রকম দেখায়; PEP 8 সাধারণত এটিই পছন্দ করে।যেখানে শিখবেন: পর্ব ২২পর্ব ৪৪
- Absolute pathঅ্যাবসোলিউট পাথ
- file system-এর মূল থেকে শুরু পূর্ণ ঠিকানা, যেমন Linux-এ /home/rahim/a.txt বা Windows-এ C:\Users\Rahim\a.txt. কোথা থেকে চালানো হলো তার ওপর নির্ভর করে না।যেখানে শিখবেন: পর্ব ২৫
- Abstract base class (ABC)অ্যাবস্ট্র্যাক্ট বেস ক্লাস
- abc.ABC থেকে inherit করা base class, যা চুক্তি হিসেবে abstract method ঘোষণা করে; সব abstract method পূরণ না হলে subclass-এর object বানানো যায় না।যেখানে শিখবেন: পর্ব ৩১পর্ব ৩৩পর্ব ৫৩
- Abstract methodঅ্যাবস্ট্র্যাক্ট মেথড
- @abstractmethod দিয়ে চিহ্নিত method, যা প্রতিটি concrete subclass-কে নিজে লিখতেই হবে; ABC ছাড়া চিহ্নটির কোনো প্রভাব নেই।যেখানে শিখবেন: পর্ব ৩৩
- Abstract propertyঅ্যাবস্ট্র্যাক্ট প্রপার্টি
- @property-র নিচে @abstractmethod দিয়ে ঘোষিত property, যা subclass-কে অবশ্যই দিতে হবে।যেখানে শিখবেন: পর্ব ৩৩
- Abstractionঅ্যাবস্ট্রাকশন
- অপ্রয়োজনীয় খুঁটিনাটি লুকিয়ে শুধু দরকারি অংশটুকু সামনে রাখা। যেমন print() ব্যবহার করতে স্ক্রিনে লেখা কীভাবে পৌঁছায় তা জানতে হয় না।যেখানে শিখবেন: পর্ব ০২পর্ব ৫৪
- Accumulatorঅ্যাকিউমুলেটর
- লুপের আগে একটি “জমার খাতা” খুলে (যেমন total = 0) প্রতি ঘোরায় তাতে কিছু যোগ করার প্যাটার্ন — যোগফল, গণনা বা সর্বোচ্চ বের করতে।যেখানে শিখবেন: পর্ব ১২পর্ব ৩০
- Activation (venv)অ্যাক্টিভেশন
- virtual environment-এর activate স্ক্রিপ্ট চালানো, যা শুধু এই terminal-এর PATH-এর শুরুতে venv-এর ফোল্ডার বসায়, VIRTUAL_ENV ঠিক করে আর প্রম্পটে নাম দেখায়। এটি সুবিধা মাত্র; venv-এর python সরাসরি চালালেও একই কাজ হয়।যেখানে শিখবেন: পর্ব ২৩
- Adjacency listঅ্যাডজেসেন্সি লিস্ট
- গ্রাফ রাখার পদ্ধতি, যেখানে প্রতিটি node-এর জন্য তার প্রতিবেশীদের একটি তালিকা থাকে। Python-এ সাধারণত list-এর list বা defaultdict(list).যেখানে শিখবেন: পর্ব ৪৫
- Administrator rightsঅ্যাডমিন রাইটস
- কম্পিউটারের সিস্টেম-ফোল্ডারে লেখা বা সবার জন্য সফটওয়্যার ইনস্টলের অনুমতি। শেয়ার করা কম্পিউটারে সাধারণ ব্যবহারকারীর এই অনুমতি থাকে না।যেখানে শিখবেন: পর্ব ০৩পর্ব ২৩
- Aggregationঅ্যাগ্রিগেশন
- অনেক মানকে একটি সারাংশ মানে নামিয়ে আনা — যোগফল, গড়, সর্বোচ্চ, সংখ্যা ইত্যাদি।যেখানে শিখবেন: পর্ব ৪৬
- Algorithmঅ্যালগরিদম
- কোনো সমস্যা সমাধানের নির্দিষ্ট, ধাপে ধাপে সাজানো নির্দেশের তালিকা, যা সীমিত ধাপে শেষ হয় এবং ইনপুট থেকে সঠিক আউটপুট দেয়।যেখানে শিখবেন: পর্ব ০২পর্ব ৪৫
- Aliasএলিয়াস
- একই object-এর আরেকটি নাম। b = a লিখলে b হলো a-র alias; mutable object বদলালে দুই নামেই সেই বদল দেখা যায়।যেখানে শিখবেন: পর্ব ০৫পর্ব ০৬পর্ব ০৮
- __all__ডান্ডার অল
- module-এর public নামের তালিকা, string-এর একটি list. from x import * শুধু এই নামগুলো আনে; পাঠক আর টুলের কাছে এটি module-এর public API-এর দলিল।যেখানে শিখবেন: পর্ব ২২
- Allow-listঅ্যালাউ-লিস্ট
- যা অনুমোদিত শুধু তার নিয়ম বা তালিকা লিখে বাকি সব বাতিল করার যাচাই-পদ্ধতি — যেমন ঠিক ৬টি অঙ্ক। deny-list-এর চেয়ে নিরাপদ।যেখানে শিখবেন: পর্ব ৫০
- Alternationঅল্টারনেশন
- regex-এ | চিহ্ন, মানে “এটা অথবা ওটা” — যেমন bKash|Nagad. Python বিকল্পগুলো বাম থেকে চেষ্টা করে আর প্রথম যেটা মেলে সেটাই নেয়, সবচেয়ে লম্বাটা নয়।যেখানে শিখবেন: পর্ব ২৮
- Alternative constructorঅল্টারনেটিভ কনস্ট্রাক্টর
- object বানানোর একটি বিকল্প পথ, সাধারণত from_ দিয়ে শুরু একটি @classmethod, যা ইনপুট রূপান্তর করে শেষে cls(...) ডাকে — যেমন dict.fromkeys বা datetime.fromisoformat.যেখানে শিখবেন: পর্ব ২৯
- Amdahl's lawঅ্যামডালস ল
- প্রোগ্রামের যে অংশ সমান্তরাল করা যায় না, সেটিই গতির সর্বোচ্চ লাভ ঠিক করে: লাভ = 1 / ((1 − p) + p / n).যেখানে শিখবেন: পর্ব ৪১
- Amortized costঅ্যামর্টাইজড
- একটি কাজ অনেকবার করলে প্রতিবারের গড় খরচ। list.append মাঝে মাঝে পুরো list কপি করে দামি হয়, কিন্তু গড়ে প্রতিটির খরচ ধ্রুবক — তাই একে amortized O(1) বলা হয়।যেখানে শিখবেন: পর্ব ১৪পর্ব ৪৫পর্ব ৫৪
- Anagramঅ্যানাগ্রাম
- একই অক্ষরগুলো একই সংখ্যায় নিয়ে ভিন্ন ক্রমে সাজানো শব্দ — যেমন listen আর silent.যেখানে শিখবেন: পর্ব ৫৫
- Anchorঅ্যাংকর
- regex-এর যে অংশ কোনো অক্ষর মেলায় না, শুধু একটি অবস্থান দাবি করে — যেমন ^ (শুরু), $ (শেষ) আর \b (শব্দের সীমানা)।যেখানে শিখবেন: পর্ব ২৮
- Annotationঅ্যানোটেশন
- parameter, return বা ভ্যারিয়েবলের পাশে : বা -> দিয়ে লেখা অতিরিক্ত তথ্য, যেমন price: float. Python এটি __annotations__-এ জমা রাখে কিন্তু যাচাই করে না।যেখানে শিখবেন: পর্ব ৩৭
- __annotations__ডান্ডার অ্যানোটেশনস
- ফাংশন, class বা module-এর annotation জমা রাখা dict, যেমন {'roll': int, 'return': ...}. Python 3.14 থেকে প্রথমবার পড়ার সময় এটি হিসাব হয়।যেখানে শিখবেন: পর্ব ৩৭
- Anonymizationঅ্যানোনিমাইজেশন
- ডেটা থেকে নাম, ফোন, NID-এর মতো পরিচয়ের সূত্র সরিয়ে বা বদলে এমনভাবে সাজানো, যাতে কোনো সারি থেকে আর নির্দিষ্ট মানুষকে চেনা না যায়।যেখানে শিখবেন: পর্ব ৪৬
- Anonymous functionঅ্যানোনিমাস ফাংশন
- নাম ছাড়া ফাংশন, যা সাধারণত তৈরি করেই অন্য ফাংশনে পাঠানো হয়। Python-এ lambda দিয়ে বানানো হয়, আর তার __name__ হয়
.যেখানে শিখবেন: পর্ব ৩৮ - Anti-patternঅ্যান্টি-প্যাটার্ন
- এমন সমাধান, যা শুরুতে স্বাভাবিক মনে হয় কিন্তু বারবার সমস্যা তৈরি করে — যেমন bare except, star import বা mutable default.যেখানে শিখবেন: পর্ব ৪৪
- Any (typing.Any)এনি
- বিশেষ type, যা সব type-এর সাথে দুই দিকেই মেলে। যেখানে Any, সেখানে type checker কিছুই যাচাই করে না — একটি ইচ্ছাকৃত অন্ধ বিন্দু।যেখানে শিখবেন: পর্ব ৩৭
- API (Application Programming Interface)এ-পি-আই
- একটি প্রোগ্রাম বা সার্ভিস অন্য প্রোগ্রামকে কীভাবে ব্যবহার করতে দেয় তার নির্ধারিত নিয়ম। ওয়েব API-তে প্রোগ্রাম HTTP দিয়ে অনুরোধ পাঠায় আর উত্তর সাধারণত JSON-এ পায়।যেখানে শিখবেন: পর্ব ২৬পর্ব ৪৭
- API keyএপিআই কি
- কোনো অনলাইন সেবা ব্যবহারের অনুমতির গোপন চাবি-লেখা। পাসওয়ার্ডের মতোই secret — কোডে বা git-এ রাখা যাবে না।যেখানে শিখবেন: পর্ব ৪৭পর্ব ৫০
- Arbitrary code executionআরবিট্রারি কোড এক্সিকিউশন
- এমন নিরাপত্তা-দুর্বলতা, যেখানে আক্রমণকারী তার পছন্দের যেকোনো কোড আপনার কম্পিউটারে চালাতে পারে — যেমন বানানো একটি pickle ফাইল খোলার মুহূর্তে।যেখানে শিখবেন: পর্ব ২৬পর্ব ৫০
- Arbitrary precisionআরবিট্রারি প্রিসিশন
- সংখ্যার আকারের কোনো নির্দিষ্ট সীমা না রাখা — দরকার অনুযায়ী বেশি অঙ্ক বা মেমরি ব্যবহার করা। Python-এর int এভাবে কাজ করে।যেখানে শিখবেন: পর্ব ০৭পর্ব ৪৫পর্ব ৫৪
- Archiveআর্কাইভ
- অনেক ফাইল ও ফোল্ডারকে একটি ফাইলে গুছিয়ে রাখা, সাধারণত সংকুচিত করে — যেমন .zip বা .tar.gz. ব্যাকআপ আর পাঠানোর জন্য সুবিধাজনক।যেখানে শিখবেন: পর্ব ৪৯
- argmaxআর্গ-ম্যাক্স
- সবচেয়ে বড় মানটি নয়, সেটি কোন index-এ আছে তা ফেরত দেয়। যেমন সর্বোচ্চ নম্বরধারী ছাত্রের অবস্থান খুঁজতে।যেখানে শিখবেন: পর্ব ৪৬
- argparseআর্গপার্স
- Python-এর standard library-র module, যা কমান্ড-লাইনের আর্গুমেন্ট পড়ে, টাইপ রূপান্তর ও যাচাই করে, ভুলে পরিষ্কার বার্তা দেয় আর নিজে থেকে -h help বানায়। Python 2.7 ও 3.2 থেকে আছে।যেখানে শিখবেন: পর্ব ৪৯পর্ব ৫১
- Argumentআর্গুমেন্ট
- ফাংশন ডাকার সময় বন্ধনীর ভেতরে যে মান পাঠানো হয়। কয়েকটি argument কমা দিয়ে আলাদা করা হয়।যেখানে শিখবেন: পর্ব ০৪পর্ব ১৩পর্ব ১৯
- Argument unpackingআর্গুমেন্ট আনপ্যাকিং
- ফাংশন ডাকার সময় f(*items) লিখলে iterable খুলে প্রতিটি উপাদান আলাদা positional argument হয়, আর f(**options) লিখলে dict খুলে প্রতিটি জোড়া keyword argument হয়।যেখানে শিখবেন: পর্ব ১৫পর্ব ২০
- Arrange–Act–Assertঅ্যারেঞ্জ-অ্যাক্ট-অ্যাসার্ট
- টেস্ট লেখার তিন ধাপের ছাঁচ: ডেটা সাজানো, যাচাই করার কাজটি একবার করা, তারপর ফল প্রত্যাশার সাথে মেলানো।যেখানে শিখবেন: পর্ব ৩৯
- ASCIIঅ্যাসকি
- ১২৮টি অক্ষরের একটি পুরোনো অক্ষর-তালিকা — ইংরেজি বর্ণ, অঙ্ক আর কিছু চিহ্ন; বাংলা এতে নেই। json.dumps ডিফল্টে (ensure_ascii=True) সব অ-ASCII অক্ষরকে \uXXXX রূপে লেখে।যেখানে শিখবেন: পর্ব ২৬
- ASGIএএসজিআই
- Asynchronous Server Gateway Interface — WSGI-র async উত্তরসূরি; application একটি async ফাংশন, তাই একসাথে অনেক অপেক্ষমাণ সংযোগ আর WebSocket সামলানো যায়।যেখানে শিখবেন: পর্ব ৪৮
- assertঅ্যাসার্ট
- একটি শর্ত সত্য কি না যাচাইয়ের statement. সত্য হলে কিছু ঘটে না, মিথ্যা হলে AssertionError আসে। ছোট পরীক্ষা লেখায় কাজে লাগে; python -O দিলে বাদ পড়ে।যেখানে শিখবেন: পর্ব ১৩পর্ব ২১পর্ব ২৪
- Assertion rewritingঅ্যাসারশন রিরাইটিং
- pytest টেস্ট ফাইল import করার সময় assert statement বদলে নেয়, যাতে ব্যর্থ হলে প্রতিটি অংশের আসল মান দেখানো যায়।যেখানে শিখবেন: পর্ব ৩৯
- AssertionErrorঅ্যাসারশন এরর
- assert-এর শর্ত মিথ্যা হলে যে exception আসে; টেস্টে এটিই “ব্যর্থ” হওয়ার সংকেত।যেখানে শিখবেন: পর্ব ৩৯
- Assignmentঅ্যাসাইনমেন্ট
- = চিহ্ন দিয়ে একটি নামকে একটি object-এর গায়ে লাগানোর কাজ। আগে ডান দিক হিসাব হয়, তারপর বাম দিকের নাম লাগানো হয়; এটি সমতা যাচাই নয়।যেখানে শিখবেন: পর্ব ০৬
- AST (Abstract Syntax Tree)এ-এস-টি
- কোডের গঠন গাছের আকারে — কোন অংশ কার ভেতরে, কোন কাজ আগে। Python-এর ast module দিয়ে দেখা যায়।যেখানে শিখবেন: পর্ব ০৫
- ast.literal_eval()লিটারাল ইভ্যাল
- লেখা থেকে শুধু সরল Python literal (সংখ্যা, string, list, tuple, dict, set, bool, None) বানানোর ফাংশন; কোনো ফাংশন ডাকে না, তাই eval-এর নিরাপদ বিকল্প।যেখানে শিখবেন: পর্ব ৫০
- Async context managerঅ্যাসিঙ্ক কনটেক্সট ম্যানেজার
- async with-এ ব্যবহৃত object, যার __aenter__ আর __aexit__ coroutine — তাই ঢোকা আর বেরোনোর সময় await করে অপেক্ষা করতে পারে। Python 3.5-এ PEP 492 এনেছে।যেখানে শিখবেন: পর্ব ৩৬পর্ব ৪২
- async defঅ্যাসিংক ডেফ
- coroutine function লেখার syntax; এমন ফাংশন ডাকলে body চলে না, একটি coroutine object ফেরত আসে, যা await বা asyncio.run দিয়ে চালাতে হয়।যেখানে শিখবেন: পর্ব ৪২
- Async iteratorঅ্যাসিংক ইটারেটর
- async for-এ ব্যবহৃত iterator, যার __anext__ একটি coroutine; প্রতিটি পরের জিনিসের জন্য await করা যায়। async def-এর ভেতরে yield লিখলে async generator তৈরি হয়।যেখানে শিখবেন: পর্ব ৪২
- asyncioঅ্যাসিংক-আইও
- Python-এর standard library-র module, যা একটি thread-এ event loop চালিয়ে await-এর জায়গায় কাজ বদলায়, ফলে অনেক I/O অপেক্ষা একসাথে সামলানো যায়; Python 3.4 থেকে আছে।যেখানে শিখবেন: পর্ব ৪১পর্ব ৪২পর্ব ৪৭
- asyncio.Queueঅ্যাসিংক কিউ
- asyncio-র FIFO queue; get() আর put() হলো coroutine, যা খালি বা ভরা থাকলে loop আটকে না রেখে অপেক্ষা করে; task_done() আর join() দিয়ে কাজ শেষের হিসাব রাখা যায়।যেখানে শিখবেন: পর্ব ৪২
- Atomic operationঅ্যাটমিক অপারেশন
- এমন কাজ যা হয় পুরোপুরি ঘটে, নয় একদমই ঘটে না — মাঝামাঝি অবস্থা কেউ দেখে না। একই file system-এ os.replace() দিয়ে নাম বদল POSIX-এ atomic.যেখানে শিখবেন: পর্ব ২৫
- Atomicityঅ্যাটমিসিটি
- “সব, নয়তো কিছুই নয়” নিশ্চয়তা: কয়েক ধাপের একটি কাজ হয় পুরোটা ঘটে, নয়তো একটুও ঘটে না; মাঝপথের অবস্থা কেউ দেখে না। ডেটাবেসের ACID-এর A.যেখানে শিখবেন: পর্ব ৩৬
- Attributeঅ্যাট্রিবিউট
- একটি object-এর সাথে যুক্ত নাম, যা বিন্দু দিয়ে পড়া হয় — যেমন acc.balance বা math.pi. ডেটা বা method দুটোই attribute হতে পারে।যেখানে শিখবেন: পর্ব ২৯পর্ব ৩১পর্ব ৩২
- AttributeErrorঅ্যাট্রিবিউট এরর
- কোনো object-এ এমন attribute বা method চাইলে যা তার নেই, Python এই exception দেয়। যেমন None.append() চাইলে 'NoneType' object has no attribute 'append'.যেখানে শিখবেন: পর্ব ১৪পর্ব ৩২
- Augmented assignmentঅগমেন্টেড অ্যাসাইনমেন্ট
- হিসাব আর assignment একসাথে করার ছোট রূপ, যেমন x += 1 মানে মোটামুটি x = x + 1. Mutable object-এ এটি জায়গাতেই বদল ঘটাতে পারে।যেখানে শিখবেন: পর্ব ০৮পর্ব ১৯
- Autocompleteঅটোকমপ্লিট
- লেখার সময় editor-এর দেওয়া সম্ভাব্য নাম বা method-এর তালিকা। type hint থাকলে editor জানে কোন object-এ কোন method আছে, তাই তালিকা নির্ভুল হয়।যেখানে শিখবেন: পর্ব ৩৭
- Automationঅটোমেশন
- যে একঘেয়ে কাজ মানুষ বারবার হাতে করে, সেটি একটি প্রোগ্রাম বা স্ক্রিপ্টকে দিয়ে করানো — যেমন শত শত ফাইলের নাম বদল, রিপোর্ট জোড়া বা প্রতি রাতে ব্যাকআপ।যেখানে শিখবেন: পর্ব ৪৯
- Average caseঅ্যাভারেজ কেস
- সাধারণ, স্বাভাবিক ইনপুটে একটি অ্যালগরিদমের প্রত্যাশিত খরচ। dict-এ খোঁজা average case-এ O(1), কিন্তু সবচেয়ে খারাপ ক্ষেত্রে O(n) পর্যন্ত হতে পারে।যেখানে শিখবেন: পর্ব ১৬
- awaitঅ্যাওয়েট
- async def-এর ভেতরে লেখা keyword; একটি awaitable শেষ না হওয়া পর্যন্ত বর্তমান coroutine থামে আর event loop সেই ফাঁকে অন্য কাজ চালায়, তারপর ফল নিয়ে সেখান থেকেই আবার চলে।যেখানে শিখবেন: পর্ব ৪২
- Awaitableঅ্যাওয়েটেবল
- যে object-এর ওপর await লেখা যায় — coroutine, Task আর Future; ভেতরে __await__ method থাকে।যেখানে শিখবেন: পর্ব ৪২
- Aware datetimeঅ্যাওয়ার ডেটটাইম
- time zone জোড়া datetime, যেমন +06:00 সহ। এটি পৃথিবীর একটি নির্দিষ্ট, দ্ব্যর্থহীন মুহূর্ত বোঝায়।যেখানে শিখবেন: পর্ব ২৭
- axisঅ্যাক্সিস
- বহুমাত্রিক array-র কোন মাত্রা ধরে হিসাব হবে। 2D টেবিলে axis=0 মানে সারিগুলো জুড়ে নিচের দিকে (প্রতিটি কলামের ফল), axis=1 মানে কলামগুলো জুড়ে পাশে (প্রতিটি সারির ফল)।যেখানে শিখবেন: পর্ব ৪৬
B
- Backendব্যাকএন্ড
- সার্ভারে চলা প্রোগ্রাম, যে HTTP request-এর অপেক্ষায় থাকে, ডেটা খোঁজে বা বদলায়, আর response ফেরত দেয়; ব্যবহারকারী এটি সরাসরি দেখেন না।যেখানে শিখবেন: পর্ব ৪৮
- Backpressureব্যাকপ্রেশার
- ধীর consumer যখন দ্রুত producer-কে ধীর হতে বাধ্য করে, যেমন ভরা queue-তে put() অপেক্ষা করে; এতে মেমরি অনিয়ন্ত্রিতভাবে বাড়ে না।যেখানে শিখবেন: পর্ব ৪১পর্ব ৪২
- Backreferenceব্যাকরেফারেন্স
- প্যাটার্নের ভেতরে \1-এর মতো চিহ্ন, যা আগের একটি group হুবহু যা মিলিয়েছে তা-ই আবার চায় — যেমন (\w+) \1 একই শব্দ পরপর দুবার। এটি গাণিতিক অর্থে regular নয়।যেখানে শিখবেন: পর্ব ২৮
- Backtrackingব্যাকট্র্যাকিং
- কোনো পথে সমাধান না মিললে শেষ সিদ্ধান্তটি ফিরিয়ে অন্য সম্ভাবনা চেষ্টা করার কৌশল — DFS-এ, ধাঁধা সমাধানে, আর regex ইঞ্জিনেও ব্যবহৃত; কিছু regex প্যাটার্নে পথের সংখ্যা বিস্ফোরিত হয়।যেখানে শিখবেন: পর্ব ২৮পর্ব ৪৫
- Banditব্যান্ডিট
- Python কোডে eval, shell=True, pickle, কোডে বসানো পাসওয়ার্ডের মতো ঝুঁকিপূর্ণ নকশা খোঁজার static নিরাপত্তা-linter, PyCQA দলের রক্ষণাবেক্ষণে।যেখানে শিখবেন: পর্ব ৫০
- Banker's roundingব্যাংকার্স রাউন্ডিং
- ঠিক মাঝখানে পড়লে সবচেয়ে কাছের জোড় সংখ্যায় গোল করা, ইংরেজিতে round half to even. Python 3-এর round() আর IEEE 754-এর ডিফল্ট নিয়ম; round(2.5) হলো 2.যেখানে শিখবেন: পর্ব ০৭পর্ব ৫২
- Bare exceptবেয়ার এক্সেপ্ট
- কোনো ধরনের নাম ছাড়া খালি except: লেখা। এটি BaseException-এর সব বংশধর ধরে, তাই KeyboardInterrupt আর SystemExit-ও গিলে ফেলে; PEP 8 এড়াতে বলে।যেখানে শিখবেন: পর্ব ২৪
- Base caseবেস কেস
- Recursion-এর সেই সহজ অবস্থা, যেখানে ফাংশন আর নিজেকে ডাকে না, সরাসরি ফল দেয়। এটি না থাকলে RecursionError আসে।যেখানে শিখবেন: পর্ব ১৩
- Base classবেস ক্লাস
- যে class থেকে অন্য class inherit করে; একে parent বা superclass-ও বলে। Python 3-এ সব class-এর শেষ base class হলো object.যেখানে শিখবেন: পর্ব ৩১
- Base64বেস সিক্সটি-ফোর
- byte-কে ৬৪টি সাধারণ অক্ষরে লেখার encoding, যাতে JSON বা URL-এ পাঠানো যায়। key ছাড়াই যে কেউ উল্টো করতে পারে — এটি এনক্রিপশন নয়।যেখানে শিখবেন: পর্ব ৫০
- BaseExceptionবেস এক্সেপশন
- Python-এর সব exception-এর আদি class. সাধারণ ভুলগুলো এর সন্তান Exception-এর নিচে থাকে; KeyboardInterrupt, SystemExit ও GeneratorExit সরাসরি BaseException-এর নিচে।যেখানে শিখবেন: পর্ব ২৪
- Batteries includedব্যাটারিজ ইনক্লুডেড
- দরকারি অনেক অংশ সাথেই দেওয়ার দর্শন — Python-এর standard library বা Django-র ORM, admin, login — আলাদা ইনস্টল লাগে না, খেলনার বাক্সে ব্যাটারি থাকার মতো।যেখানে শিখবেন: পর্ব ২৭পর্ব ৪৮
- BeautifulSoupবিউটিফুল স্যুপ
- HTML পার্স করে গাছ বানানোর আর find, find_all, select দিয়ে খোঁজার Python লাইব্রেরি (pip install beautifulsoup4, import bs4); ভাঙা HTML-ও সহনশীলভাবে পড়ে।যেখানে শিখবেন: পর্ব ৪৭
- Benchmarkবেঞ্চমার্ক
- একই কাজ একই ডেটায় নির্দিষ্ট নিয়মে চালিয়ে সময় বা গতি মাপা, যাতে আগে-পরে বা দুটি বিকল্পের ন্যায্য তুলনা করা যায়।যেখানে শিখবেন: পর্ব ৪৩
- BFS (Breadth-First Search)বিএফএস
- গ্রাফ বা গ্রিডে শুরু থেকে স্তরে স্তরে ছড়িয়ে খোঁজা — আগে ১ ধাপ দূরের সব, তারপর ২ ধাপ দূরের সব। queue ব্যবহার করে, আর ওজনহীন গ্রাফে সবচেয়ে ছোট পথ দেয়।যেখানে শিখবেন: পর্ব ৪৫পর্ব ৫৫
- Big-O notationবিগ-ও নোটেশন
- ইনপুটের আকার n বাড়লে একটি অ্যালগরিদমের কাজ কত দ্রুত বাড়ে তা প্রকাশের পদ্ধতি — যেমন O(n) মানে n-এর সমানুপাতে, O(log n) মানে খুব ধীরে।যেখানে শিখবেন: পর্ব ০২পর্ব ১৪পর্ব ১৬
- Binaryবাইনারি
- দুই-ভিত্তিক সংখ্যা পদ্ধতি, যেখানে শুধু ০ আর ১ অঙ্ক। কম্পিউটার সব সংখ্যা ভেতরে এভাবেই রাখে; Python-এ binary literal লেখা হয় 0b দিয়ে।যেখানে শিখবেন: পর্ব ০৭
- Binary modeবাইনারি মোড
- "b" যুক্ত মোড ("rb", "wb"), যেখানে ফাইল থেকে কাঁচা bytes আসে-যায় — কোনো encoding বা newline অনুবাদ ছাড়া। ছবি, PDF, zip-এর জন্য বাধ্যতামূলক।যেখানে শিখবেন: পর্ব ২৫
- Binary searchবাইনারি সার্চ
- সাজানো তালিকার মাঝখানের উপাদান দেখে প্রতিবার অর্ধেক অংশ বাদ দিয়ে খোঁজা। খুব দ্রুত (O(log n)), কিন্তু তালিকা অবশ্যই সাজানো থাকতে হয়। Python-এ bisect module এটি দেয়।যেখানে শিখবেন: পর্ব ০২পর্ব ৪৫পর্ব ৫৫
- Binary search on the answerবাইনারি সার্চ অন দ্য অ্যানসার
- সরাসরি উত্তর বের না করে সম্ভাব্য উত্তরের পরিসরে binary search করা, যখন প্রশ্নটি এরকম: এই মান কি যথেষ্ট? আর উত্তর বাড়লে হ্যাঁ/না একদিকেই বদলায়।যেখানে শিখবেন: পর্ব ৪৫
- Binary search tree (BST)বাইনারি সার্চ ট্রি
- এমন binary tree যেখানে প্রতিটি node-এর বাঁ দিকের সব key ছোট আর ডান দিকের সব key বড় বা সমান; তাই খোঁজা উচ্চতার সমানুপাতিক সময়ে হয়।যেখানে শিখবেন: পর্ব ৫৫
- Bindingবাইন্ডিং
- একটি নামকে কোনো object-এর সাথে যুক্ত করা। x = 5 লিখলে x নামটি 5 object-এ bind হয়; নতুন assignment লেবেলটি সরিয়ে নেয়।যেখানে শিখবেন: পর্ব ০৫পর্ব ৫৪
- bisect moduleবাইসেক্ট মডিউল
- Python-এর স্ট্যান্ডার্ড লাইব্রেরির module, যা সাজানো list-এ binary search করে কোন ঘরে একটি মান বসবে তা O(log n)-এ বলে — bisect_left, bisect_right, insort.যেখানে শিখবেন: পর্ব ৪৫পর্ব ৫৫
- Bitবিট
- কম্পিউটারের তথ্যের সবচেয়ে ছোট একক, যার মান শুধু ০ বা ১. আটটি বিট মিলে এক বাইট।যেখানে শিখবেন: পর্ব ০৭
- Bitmaskবিটমাস্ক
- একটি সংখ্যার আলাদা আলাদা বিটে কয়েকটি হ্যাঁ/না তথ্য রাখার কৌশল, যেমন ফাইলের read=4, write=2, execute=1 অনুমতি।যেখানে শিখবেন: পর্ব ০৮
- Bitwise operatorবিটওয়াইজ অপারেটর
- পূর্ণসংখ্যার প্রতিটি বিট ধরে কাজ করা operator: &, |, ^, ~, <<, >>. এরা and/or-এর মতো short-circuit করে না।যেখানে শিখবেন: পর্ব ০৮
- Blackব্ল্যাক
- Łukasz Langa-র তৈরি (২০১৮) প্রায় সেটিংহীন Python formatter, স্লোগান The uncompromising code formatter; default লাইনের দৈর্ঘ্য ৮৮.যেখানে শিখবেন: পর্ব ৪৪
- Blockব্লক
- একসাথে চলা লাইনের দল; Python-এ কোলনের পর সমান indentation দিয়ে চিহ্নিত হয়।যেখানে শিখবেন: পর্ব ১১
- Blocking callব্লকিং কল
- যে ফাংশন কাজ শেষ না হওয়া পর্যন্ত পুরো thread আটকে রাখে, যেমন time.sleep বা requests.get; async কোডে এটা event loop জমিয়ে দেয়।যেখানে শিখবেন: পর্ব ৪২পর্ব ৪৮
- Bloom filterব্লুম ফিল্টার
- ১৯৭০ সালে Burton Bloom-এর প্রস্তাবিত একটি সম্ভাব্য set: কয়েকটি hash দিয়ে একটি bit-সারির কয়েকটি ঘর 1 করে জিনিস “মনে রাখে”. খুব কম মেমরি নেয়; কখনো ভুল “আছে” বলতে পারে, কিন্তু কখনো ভুল “নেই” বলে না।যেখানে শিখবেন: পর্ব ১৭
- Boilerplate codeবয়লারপ্লেট
- প্রায় একই রকম কোড, যা প্রতিটি class বা ফাইলে বারবার লিখতে হয় অথচ নতুন কিছু বলে না, যেমন হাতে লেখা __init__ আর __repr__. dataclass এমন কোড বাঁচায়।যেখানে শিখবেন: পর্ব ৩২পর্ব ৪৪
- BOM (Byte Order Mark)বিওএম
- কিছু প্রোগ্রাম UTF-8 ফাইলের শুরুতে যে তিনটি বাড়তি বাইট (ef bb bf) বসায়। সাধারণ utf-8 দিয়ে পড়লে অদৃশ্য অক্ষর \ufeff হয়ে থাকে; encoding="utf-8-sig" এটি বাদ দেয়।যেখানে শিখবেন: পর্ব ২৫পর্ব ২৬পর্ব ৪৬
- boolবুল
- সত্য-মিথ্যার type, যার মান শুধু True বা False. এটি int-এর subclass, তাই True আচরণ করে 1-এর মতো আর False 0-এর মতো।যেখানে শিখবেন: পর্ব ০৬পর্ব ০৮পর্ব ১১
- Boolean maskবুলিয়ান মাস্ক
- মূল array-র সমান দৈর্ঘ্যের True/False-এর array, যা দিয়ে শুধু True জায়গার উপাদানগুলো বেছে নেওয়া যায় — যেমন marks[marks >= 80].যেখানে শিখবেন: পর্ব ৪৬
- Bound methodবাউন্ড মেথড
- class-এর একটি ফাংশন আর একটি নির্দিষ্ট object একসাথে বাঁধা অবস্থা; acc.withdraw লিখলে তৈরি হয়, আর ডাকলে object-টি নিজে থেকেই প্রথম argument (self) হিসেবে যায়।যেখানে শিখবেন: পর্ব ২৯পর্ব ৩২
- Boundary valueবাউন্ডারি ভ্যালু
- কোনো নিয়মের ঠিক সীমার মান আর তার ঠিক পাশের মান (যেমন ৮০ আর ৭৯); বাগ সবচেয়ে বেশি লুকায় এখানেই।যেখানে শিখবেন: পর্ব ৩৯
- breakব্রেক
- যে কীওয়ার্ড সবচেয়ে ভেতরের লুপ সঙ্গে সঙ্গে থামিয়ে লুপের পরের লাইনে নিয়ে যায়। break হলে লুপের else অংশ চলে না।যেখানে শিখবেন: পর্ব ১২
- Breakpointব্রেকপয়েন্ট
- কোডের যে জায়গায় debugger প্রোগ্রামকে থামাবে। Python 3.7 থেকে কোডে breakpoint() লিখলে সেখানে pdb খোলে; IDE-তে লাইন নম্বরের পাশে ক্লিক করে বসানো যায়।যেখানে শিখবেন: পর্ব ৪০
- Broadcastingব্রডকাস্টিং
- আলাদা shape-এর দুটি array-র মধ্যে হিসাব করার NumPy-র নিয়ম: ছোটটিকে (যেমন একটি সংখ্যা) কপি না করেই বড়টির প্রতিটি উপাদানের সাথে মেলানো হয়।যেখানে শিখবেন: পর্ব ৪৬
- Brute forceব্রুট ফোর্স
- সব সম্ভাবনা একে একে পরীক্ষা করে উত্তর বের করা। ধীর, কিন্তু লেখা সহজ আর ভুলের সম্ভাবনা কম — তাই দ্রুত সমাধান যাচাইয়ে কাজে লাগে।যেখানে শিখবেন: পর্ব ৪৫পর্ব ৫৫
- Bufferবাফার
- লেখা সাথে সাথে না পাঠিয়ে কিছুক্ষণ জমিয়ে রাখার অস্থায়ী জায়গা, যাতে একসাথে পাঠিয়ে সময় বাঁচে। flush=True দিলে জমা লেখা তখনই পাঠানো হয়।যেখানে শিখবেন: পর্ব ১০পর্ব ২৫
- Bugবাগ
- প্রোগ্রামের ভুল, যার কারণে প্রোগ্রাম ভুল উত্তর দেয়, থেমে যায় বা অপ্রত্যাশিত আচরণ করে।যেখানে শিখবেন: পর্ব ০২পর্ব ৪০
- Build backendবিল্ড ব্যাকএন্ড
- যে টুল আপনার প্রজেক্ট থেকে wheel বা sdist বানায় — যেমন setuptools, hatchling, flit-core. pyproject.toml-এর build-system অংশে এর নাম লেখা থাকে, আর pip তাকে ডেকে নেয় (PEP 517).যেখানে শিখবেন: পর্ব ২৩
- Built-inবিল্ট-ইন
- Python-এর সাথে সবসময় পাওয়া যায় এমন ফাংশন বা নাম, import ছাড়াই, যেমন print, len, list, str, sum, type.যেখানে শিখবেন: পর্ব ০৬
- Built-in functionবিল্ট-ইন ফাংশন
- Python-এর সাথেই আসা, import ছাড়া ব্যবহারযোগ্য ফাংশন — যেমন print, len, sum, max, any, all, range, zip. CPython-এ এগুলো সাধারণত C-তে লেখা, তাই দ্রুত।যেখানে শিখবেন: পর্ব ১২পর্ব ৪৩
- Bytecodeবাইটকোড
- Python কোড থেকে তৈরি ছোট ছোট নির্দেশের সারি, যা CPU নয়, Python-এর virtual machine চালায়। এর বিশদ প্রতিটি Python version-এ বদলাতে পারে।যেখানে শিখবেন: পর্ব ০১পর্ব ০৫পর্ব ১৫
- bytesবাইটস
- ০ থেকে ২৫৫ মানের বাইটের অপরিবর্তনীয় সারি — ফাইল আর নেটওয়ার্কের কাঁচা ডেটা। str.encode() দিয়ে str থেকে bytes, আর .decode() দিয়ে উল্টোটা।যেখানে শিখবেন: পর্ব ০৯
C
- C extensionসি এক্সটেনশন
- C (বা C++, Rust)-এ লেখা Python module, যা Python থেকে ডাকা যায়। NumPy-র মতো library-র ভারী কাজ এভাবে C-র গতিতে চলে।যেখানে শিখবেন: পর্ব ০৫পর্ব ২৩পর্ব ৪১
- C3 linearizationসি-থ্রি লিনিয়ারাইজেশন
- class-গাছকে একটি সুসংগত সারিতে সাজানোর নিয়ম: সন্তান বাবার আগে, বাবাদের লেখার ক্রম রক্ষা, প্রতিটি class একবার। Dylan ভাষা থেকে এসে Python 2.3-এ গৃহীত।যেখানে শিখবেন: পর্ব ৩১পর্ব ৫৩পর্ব ৫৪
- Cacheক্যাশ
- আগে হিসাব করা বা আনা ফলের একটি খাতা, যাতে একই প্রশ্ন আবার এলে নতুন করে হিসাব না করে সেখান থেকে দ্রুত উত্তর দেওয়া যায়।যেখানে শিখবেন: পর্ব ৩৫পর্ব ৪৭
- Call by sharingকল বাই শেয়ারিং
- Python-এর argument পাঠানোর নিয়ম: ফাংশন caller-এর object-এর একটি reference পায়, কপি নয়। তাই ফাংশন object বদলাতে পারে, কিন্তু caller-এর নামটি সরাতে পারে না। একে call by object reference-ও বলে।যেখানে শিখবেন: পর্ব ১৯পর্ব ৫৪
- Call stackকল স্ট্যাক
- চলমান ফাংশন ডাকগুলোর স্তূপ। প্রতিটি ডাকে ওপরে একটি নতুন frame যোগ হয়, return হলে সেটি সরে যায়; traceback আসলে এই stack-এর ছবি।যেখানে শিখবেন: পর্ব ১৩পর্ব ২৪পর্ব ৪০
- Callableকলেবল
- যাকে বন্ধনী দিয়ে ডাকা যায়, যেমন ফাংশন, class, বা __call__ আছে এমন object. callable(x) দিয়ে যাচাই করা যায়।যেখানে শিখবেন: পর্ব ৩০
- Callbackকলব্যাক
- অন্য কোডের হাতে দেওয়া একটি ফাংশন, যা কোনো ঘটনা ঘটলে বা কাজ শেষ হলে ডাকা হবে; পুরোনো async লাইব্রেরি এর ওপর চলত।যেখানে শিখবেন: পর্ব ৪২
- CancelledErrorক্যানসেলড এরর
- asyncio.CancelledError — Task cancel হলে তার থেমে থাকা await-এর জায়গায় ঢোকানো exception; Python 3.8 থেকে এটা BaseException-এর সন্তান, তাই ধরলে আবার raise করা উচিত।যেখানে শিখবেন: পর্ব ৪২
- Capacityক্যাপাসিটি
- dynamic array-তে মোট কয়টি ঘরের জায়গা বরাদ্দ আছে, ভরা হোক বা না হোক। len হলো ভরা ঘরের সংখ্যা; capacity সাধারণত তার চেয়ে একটু বেশি, যাতে পরের append সস্তা হয়।যেখানে শিখবেন: পর্ব ১৪
- capsysক্যাপসিস
- pytest-এর fixture, যা টেস্ট চলার সময় stdout আর stderr-এ লেখা ধরে রাখে; readouterr() দিয়ে পড়া যায়।যেখানে শিখবেন: পর্ব ৩৯
- Capture patternক্যাপচার প্যাটার্ন
- case-এ একটি খালি নাম; যেকোনো মানের সাথে মেলে আর মানটি সেই নামে বেঁধে দেয় — তুলনা করে না।যেখানে শিখবেন: পর্ব ১১পর্ব ৫৩
- Capturing groupক্যাপচারিং গ্রুপ
- সাধারণ বন্ধনী ( ) দিয়ে ঘেরা প্যাটার্নের অংশ, যার মেলা লেখা আলাদা করে মনে রাখা হয়। পরে m.group(1) দিয়ে বা re.sub-এ \1 লিখে ফিরিয়ে আনা যায়।যেখানে শিখবেন: পর্ব ২৮পর্ব ৫৪
- Cartesian productকার্টেসিয়ান প্রোডাক্ট
- কয়েকটি তালিকা থেকে একটি করে নিয়ে সম্ভাব্য সব মিশ্রণ। ২টি ভাত আর ৩টি তরকারিতে ৬টি; Python-এ itertools.product দেয়।যেখানে শিখবেন: পর্ব ৩৮
- Case-sensitiveকেস-সেনসিটিভ
- বড় হাতের আর ছোট হাতের অক্ষরকে আলাদা ধরা। Python-এ print আর Print দুটি আলাদা নাম।যেখানে শিখবেন: পর্ব ০৪পর্ব ০৬
- casefold()কেসফোল্ড
- বড়-ছোট হাতের পার্থক্য উপেক্ষা করে তুলনার জন্য তৈরি str method; lower()-এর চেয়ে জোরালো, যেমন জার্মান ß-কে ss বানায়।যেখানে শিখবেন: পর্ব ০৯পর্ব ৫৫
- Catastrophic backtrackingক্যাটাস্ট্রফিক ব্যাকট্র্যাকিং
- যখন একটি প্যাটার্নে একই লেখা মেলানোর অসংখ্য উপায় থাকে (যেমন (a+)+$), আর ব্যর্থ মিলে ইঞ্জিন সবগুলো চেষ্টা করে; ইনপুট সামান্য বাড়লেই সময় দ্বিগুণ হতে থাকে।যেখানে শিখবেন: পর্ব ২৮
- Cell objectসেল অবজেক্ট
- CPython-এর একটি ছোট বাক্স, যা closure-এর একটি ভ্যারিয়েবল ধরে রাখে। বাইরের ফাংশন আর ভেতরের ফাংশন একই cell ভাগ করে; cell_contents দিয়ে ভেতরের মান দেখা যায়।যেখানে শিখবেন: পর্ব ২০
- Chained assignmentচেইনড অ্যাসাইনমেন্ট
- x = y = 0 ধরনের লেখা, যেখানে কয়েকটি নাম একই object-এর গায়ে লাগে। সংখ্যা বা string-এ নিরাপদ, কিন্তু list-এ সব নাম একই list দেখায়।যেখানে শিখবেন: পর্ব ০৬
- Chained comparisonচেইনড কম্প্যারিজন
- একাধিক তুলনা গণিতের মতো পাশাপাশি লেখা, যেমন 18 <= age < 60. Python এটিকে and দিয়ে জোড়া দুটি তুলনা হিসেবে পড়ে, আর মাঝের মান একবারই হিসাব করে।যেখানে শিখবেন: পর্ব ০৮পর্ব ৪৪পর্ব ৫২
- Chained indexingচেইনড ইনডেক্সিং
- pandas-এ df[শর্ত]["কলাম"] = মান — দুই ধাপে বাছাই করে মান বসানো। মাঝের ধাপটি কপি হতে পারে, তাই মূল টেবিল বদলায় না; এক ধাপে df.loc[শর্ত, "কলাম"] লিখতে হয়।যেখানে শিখবেন: পর্ব ৪৬
- ChainMapচেইনম্যাপ
- কয়েকটি dict-কে স্তরে স্তরে জুড়ে একটির মতো খোঁজার ব্যবস্থা — আগে প্রথমটিতে খোঁজে, না পেলে পরেরটিতে। কোনো কপি হয় না।যেখানে শিখবেন: পর্ব ২৭
- Character classক্যারেক্টার ক্লাস
- তৃতীয় বন্ধনীতে লেখা অক্ষরের তালিকা, যার যেকোনো একটি একটি ঘরে মেলে — যেমন [0-9] বা [aeiou]. শুরুতে ^ দিলে উল্টো মানে: [^0-9] মানে অঙ্ক নয় এমন একটি অক্ষর।যেখানে শিখবেন: পর্ব ২৮
- Chunkচাঙ্ক
- বড় ফাইল একবারে না পড়ে নির্দিষ্ট মাপের যে টুকরো করে পড়া-লেখা হয়, যেমন f.read(1024 * 1024) দিয়ে ১ MB. এতে মেমরি অল্প লাগে।যেখানে শিখবেন: পর্ব ২৫পর্ব ৩৪
- Circular importসার্কুলার ইমপোর্ট
- দুটি (বা বেশি) module যখন একে অপরকে import করে। একটি তখনো অর্ধেক তৈরি অবস্থায় থাকে, তাই নাম না পেয়ে ImportError আসে, বার্তায় থাকে partially initialized module. সমাধান সাধারণত ভাগ করা অংশ তৃতীয় module-এ সরানো।যেখানে শিখবেন: পর্ব ২২
- Clarifying questionক্ল্যারিফাইং কোয়েশ্চন
- সমাধান শুরুর আগে সমস্যার অস্পষ্ট দিক পরিষ্কার করতে করা প্রশ্ন — যেমন ইনপুট সাজানো কি না, খালি হতে পারে কি না।যেখানে শিখবেন: পর্ব ৫৫
- Classক্লাস
- একটি নকশা, যা বলে দেয় এই ধরনের object-এ কী কী ডেটা (attribute) আর কী কী আচরণ (method) থাকবে। class statement দিয়ে তৈরি হয়; Python-এ class নিজেও একটি object.যেখানে শিখবেন: পর্ব ২৯পর্ব ৩০পর্ব ৩১
- Class attributeক্লাস অ্যাট্রিবিউট
- class-এর শরীরে, কোনো method-এর বাইরে লেখা নাম; class object-এ একবার থাকে আর সব instance ভাগ করে। instance-এ একই নাম না থাকলে সেখান থেকে পড়া হয়।যেখানে শিখবেন: পর্ব ২৯পর্ব ৫৩পর্ব ৫৪
- Class decoratorক্লাস ডেকোরেটর
- যে decorator একটি তৈরি হয়ে যাওয়া class হাতে নিয়ে তাকে বদলে বা নতুন method যোগ করে ফেরত দেয়, যেমন @dataclass. অনেক ক্ষেত্রে metaclass-এর চেয়ে সহজ পথ।যেখানে শিখবেন: পর্ব ৩২পর্ব ৩৫
- Class patternক্লাস প্যাটার্ন
- Point(x=0) বা int() ধরনের pattern; subject নির্দিষ্ট class-এর কি না আর তার attribute মেলায়।যেখানে শিখবেন: পর্ব ১১পর্ব ৩২
- CLI (Command-Line Interface)সি-এল-আই
- এমন প্রোগ্রাম, যা terminal-এ লেখা কমান্ড পড়ে আর লেখা দিয়েই উত্তর দেয় — বোতাম বা জানালা ছাড়া। python, pip, git সবই CLI টুল।যেখানে শিখবেন: পর্ব ২১পর্ব ৪৯পর্ব ৫১
- clickক্লিক
- Pallets প্রকল্পের তৃতীয় পক্ষের Python লাইব্রেরি, যা decorator দিয়ে CLI কমান্ড, option আর subcommand বানায়; নিশ্চিতকরণ প্রশ্ন, রঙিন আউটপুটের সুবিধাও দেয়।যেখানে শিখবেন: পর্ব ৪৯
- Clientক্লায়েন্ট
- যে প্রোগ্রাম server-এর কাছে request পাঠায় — ব্রাউজার, মোবাইল অ্যাপ বা requests দিয়ে লেখা Python স্ক্রিপ্ট।যেখানে শিখবেন: পর্ব ৪৭
- Closureক্লোজার
- যে ভেতরের ফাংশন তার জন্মস্থানের (ঘিরে রাখা ফাংশনের) ভ্যারিয়েবল মনে রাখে, এমনকি বাইরের ফাংশন শেষ হওয়ার পরেও। ভ্যারিয়েবলগুলো থাকে ফাংশনের __closure__-এ রাখা cell-এ।যেখানে শিখবেন: পর্ব ২০পর্ব ৩৫পর্ব ৩৮
- Code editorকোড এডিটর
- কোড লেখা ও সেভ করার প্রোগ্রাম, যেমন VS Code. লেখা রঙিন করে ও ভুল দেখায়, কিন্তু নিজে কোড চালায় না — ভেতরে interpreter-কে ডাকে।যেখানে শিখবেন: পর্ব ০৩
- Code pointকোড পয়েন্ট
- Unicode-এ প্রতিটি অক্ষরের নির্দিষ্ট নম্বর, যা ord() দিয়ে দেখা যায়; যেমন ord("a") হলো 97. String তুলনায় এই নম্বরই ঠিক করে কোন অক্ষর আগে।যেখানে শিখবেন: পর্ব ০৮পর্ব ০৯পর্ব ১০
- Code reviewকোড রিভিউ
- কোড মূল শাখায় যোগ হওয়ার আগে অন্য এক বা একাধিক প্রোগ্রামারের পড়ে দেখা — যুক্তির ভুল, edge case, নাম আর test নিয়ে মতামত দেওয়া।যেখানে শিখবেন: পর্ব ৪৪পর্ব ৫৫
- Code smellকোড স্মেল
- কোডের এমন লক্ষণ, যা নিজে ভুল নয় কিন্তু গভীর কোনো নকশা-সমস্যার ইঙ্গিত দেয়, যেমন লম্বা isinstance-শৃঙ্খল।যেখানে শিখবেন: পর্ব ৩১পর্ব ৪৪
- collections.abcকালেকশনস ডট এবিসি
- standard library-র module, যাতে Iterable, Sized, Sequence, Mapping, MutableMapping-এর মতো তৈরি ABC আছে।যেখানে শিখবেন: পর্ব ৩৩
- collections.UserDictইউজার ডিক্ট
- Python-এ লেখা একটি dict-এর মতো class, যা ভেতরে একটি সাধারণ dict রাখে; এটি inherit করে __setitem__ override করলে update ও constructor-ও সেই পথ মানে।যেখানে শিখবেন: পর্ব ৩১
- Combinationকম্বিনেশন
- একটি সংগ্রহ থেকে নির্দিষ্ট সংখ্যক জিনিস বাছাই, যেখানে ক্রম গুরুত্বহীন। ৪ জন থেকে ২ জনের জোড়া ৬টি; Python-এ itertools.combinations.যেখানে শিখবেন: পর্ব ৩৮
- Combining markকম্বাইনিং মার্ক
- যে Unicode চিহ্ন আগের অক্ষরের সাথে জুড়ে বসে, নিজে আলাদা অক্ষর নয় — যেমন বাংলার কার-চিহ্ন, হসন্ত, অনুস্বার। Python-এর \w এগুলো মেলায় না।যেখানে শিখবেন: পর্ব ২৮
- Command injectionকমান্ড ইনজেকশন
- বাইরের ডেটা shell কমান্ডের লেখায় জোড়ায় সেটির অংশ বাড়তি কমান্ড হিসেবে চলে যাওয়ার ঝুঁকি। প্রতিরোধ: subprocess-এ list argument, shell=True নয়।যেখানে শিখবেন: পর্ব ৪৯পর্ব ৫০
- Command-line argumentকমান্ড-লাইন আর্গুমেন্ট
- টার্মিনালে প্রোগ্রামের নামের পরে লেখা বাড়তি শব্দ। Python-এ এগুলো sys.argv list-এ string হিসেবে আসে; প্রথম ঘরে থাকে ফাইলের নাম।যেখানে শিখবেন: পর্ব ২৭পর্ব ৪৯
- Command-query separationকমান্ড-কোয়েরি সেপারেশন
- নকশার নীতি: একটি method হয় অবস্থা বদলাবে (command), নয়তো উত্তর দেবে (query), দুটো একসাথে নয়। Bertrand Meyer জনপ্রিয় করেন; list.sort()-এর None ফেরত দেওয়া এর সাথে মেলে।যেখানে শিখবেন: পর্ব ১৪
- Commentকমেন্ট
- # চিহ্ন থেকে লাইনের শেষ পর্যন্ত লেখা নোট, যা Python পুরোপুরি উপেক্ষা করে। ভালো comment কোড কেন এভাবে লেখা তা জানায়।যেখানে শিখবেন: পর্ব ০৪পর্ব ৪৪
- Commitকমিট
- transaction-এর সব বদল ডেটাবেসে স্থায়ী করা। commit-এর পরে বদলগুলো অন্যরা দেখতে পায়, আর rollback দিয়ে ফেরানো যায় না।যেখানে শিখবেন: পর্ব ৩৬পর্ব ৫১
- Comparison operatorকম্প্যারিজন অপারেটর
- দুটি মান তুলনা করে True বা False দেয় এমন operator: ==, !=, <, <=, >, >=. Python-এ এগুলো জোড়া (chain) লাগানো যায়।যেখানে শিখবেন: পর্ব ০৮
- Competitive programmingকম্পিটিটিভ প্রোগ্রামিং
- নির্দিষ্ট সময়ের মধ্যে অ্যালগরিদমের সমস্যা সমাধান করে কোড জমা দেওয়ার প্রতিযোগিতা, যেখানে একটি জাজ স্বয়ংক্রিয়ভাবে গোপন টেস্টে কোড চালিয়ে যাচাই করে।যেখানে শিখবেন: পর্ব ৪৫
- Complex numberকমপ্লেক্স নাম্বার
- বাস্তব আর কাল্পনিক অংশসহ সংখ্যা। Python-এ বিল্ট-ইন, কাল্পনিক অংশ লেখা হয় j দিয়ে, যেমন 3 + 4j.যেখানে শিখবেন: পর্ব ০৭
- Compositionকম্পোজিশন
- অন্য object-গুলোকে নিজের attribute হিসেবে রেখে বড় object গড়া, যেমন Order-এর ভেতরে Customer ও Payment থাকা। এটি has-a সম্পর্ক বোঝায়।যেখানে শিখবেন: পর্ব ৩১পর্ব ৫৪
- Comprehensionকম্প্রিহেনশন
- একটি iterable থেকে নতুন list, dict বা set বানানোর এক-expression লেখা: উৎস (for), ঐচ্ছিক ছাঁকনি (if) আর রূপান্তর একসাথে। যেমন [n * n for n in nums if n > 0].যেখানে শিখবেন: পর্ব ১৮পর্ব ৫২পর্ব ৫৪
- Computational thinkingকম্পিউটেশনাল থিংকিং
- একটি সমস্যাকে এমনভাবে ভাবা ও সাজানো, যাতে মানুষ বা কম্পিউটার ধাপে ধাপে তার সমাধান করতে পারে। এর চার স্তম্ভ: decomposition, pattern recognition, abstraction ও algorithm.যেখানে শিখবেন: পর্ব ০২
- Computed attributeকম্পিউটেড অ্যাট্রিবিউট
- যে attribute কোথাও জমা থাকে না, পড়ার সময় অন্য মান থেকে হিসাব হয়, যেমন student.gpa বা order.total. সাধারণত read-only property দিয়ে বানানো হয়।যেখানে শিখবেন: পর্ব ৩২
- Concatenationকনক্যাটিনেশন
- দুই বা ততোধিক string পাশাপাশি জুড়ে নতুন একটি string বানানো; Python-এ + চিহ্ন বা "".join() দিয়ে করা হয়।যেখানে শিখবেন: পর্ব ০৯পর্ব ৪৩
- Concrete classকংক্রিট ক্লাস
- যে class-এ কোনো abstract method বাকি নেই, তাই তার object বানানো যায়।যেখানে শিখবেন: পর্ব ৩৩
- Concurrencyকনকারেন্সি
- অনেক কাজ একই সময়সীমার মধ্যে পালা করে এগিয়ে চলা, যদিও এক মুহূর্তে হয়তো একটিই চলছে; একজন ওয়েটারের অনেক টেবিল সামলানোর মতো।যেখানে শিখবেন: পর্ব ৪১পর্ব ৪২
- condaকন্ডা
- Anaconda থেকে আসা package ও environment ম্যানেজার। শুধু Python package নয়, C/C++ লাইব্রেরি, CUDA-র মতো Python-এর বাইরের জিনিসও ইনস্টল করে; ডেটা সায়েন্সে জনপ্রিয়। PyPI নয়, নিজস্ব channel (যেমন conda-forge) থেকে নামায়।যেখানে শিখবেন: পর্ব ২৩
- Conditionকন্ডিশন
- শর্ত — এমন একটি হিসাব, যার ফল সত্য বা মিথ্যা ধরা হয়; এর ওপর ভিত্তি করে প্রোগ্রাম পথ বাছাই করে।যেখানে শিখবেন: পর্ব ১১
- Conditional breakpointকন্ডিশনাল ব্রেকপয়েন্ট
- শর্তসহ breakpoint, যা শুধু শর্ত সত্য হলে থামে — যেমন m == 40. বড় লুপের নির্দিষ্ট একটি ঘুরে থামতে কাজে লাগে; pdb-তে b 13, m == 40.যেখানে শিখবেন: পর্ব ৪০
- Conditional expressionকন্ডিশনাল এক্সপ্রেশন
- A if শর্ত else B রূপের expression: শর্ত সত্য হলে A, না হলে B. অন্য ভাষায় একে ternary operator বলে; Python 2.5 থেকে আছে।যেখানে শিখবেন: পর্ব ০৮পর্ব ১১পর্ব ১৮
- Config fileকনফিগ ফাইল
- প্রোগ্রামের সেটিং (নাম, হার, পথ ইত্যাদি) রাখার আলাদা ফাইল, যাতে কোড না বদলেই আচরণ বদলানো যায় — সাধারণত JSON, TOML বা YAML-এ লেখা।যেখানে শিখবেন: পর্ব ২৬
- conftest.pyকনফটেস্ট
- pytest নিজে খুঁজে পড়ে এমন বিশেষ ফাইল; এর fixture সেই ফোল্ডার আর নিচের সব টেস্টে import ছাড়াই পাওয়া যায়।যেখানে শিখবেন: পর্ব ৩৯
- Constantকনস্ট্যান্ট
- যে মান প্রোগ্রামে বদলানো হবে না বলে ধরা হয়। Python-এ সত্যিকারের তালা নেই; প্রথা হলো নাম সব বড় হাতে লেখা, যেমন VAT_RATE.যেখানে শিখবেন: পর্ব ০৬
- Constant foldingকনস্ট্যান্ট ফোল্ডিং
- যে হিসাবের মান আগেই জানা (যেমন 2 + 3), compiler নিজেই তা করে ফল বসিয়ে দেয় — চালানোর সময় আর হিসাব লাগে না।যেখানে শিখবেন: পর্ব ০৫পর্ব ১৫পর্ব ৫৩
- Constraintsকনস্ট্রেইন্টস
- কনটেস্টের সমস্যায় দেওয়া ইনপুটের সীমা (যেমন n সর্বোচ্চ কত, সংখ্যা কত বড়) আর সময়সীমা। এগুলো দেখেই ঠিক করা হয় কোন complexity চলবে।যেখানে শিখবেন: পর্ব ৪৫
- Content-Typeকনটেন্ট-টাইপ
- যে header বলে body-টা কোন ফরম্যাটে, যেমন application/json বা text/html; charset=utf-8.যেখানে শিখবেন: পর্ব ৪৭
- Context managerকনটেক্সট ম্যানেজার
- with statement-এর সাথে ব্যবহৃত object, যা কাজের শুরুতে কিছু প্রস্তুত করে আর শেষে — ভুল হলেও — পরিষ্কার করে, যেমন with open(...) ফাইল বন্ধ করে। ভেতরে try/finally-এর কাজ।যেখানে শিখবেন: পর্ব ২৪পর্ব ২৫পর্ব ৩৬
- Context manager protocolকনটেক্সট ম্যানেজার প্রোটোকল
- যে চুক্তি মানলে একটি object with-এ ব্যবহার করা যায়: __enter__ আর __exit__ method থাকতে হবে। with ঢোকার সময় প্রথমটি, বেরোনোর সময় দ্বিতীয়টি ডাকে।যেখানে শিখবেন: পর্ব ৩৬
- contextlibকনটেক্সটলিব
- context manager বানানো আর ব্যবহারের জন্য স্ট্যান্ডার্ড লাইব্রেরির module — contextmanager, suppress, closing, redirect_stdout, ExitStack, nullcontext ইত্যাদি এখানে।যেখানে শিখবেন: পর্ব ৩৬পর্ব ৫৫
- contextlib.closingক্লোজিং
- যে context manager ব্লক শেষে একটি object-এর close() ডাকে। যে object-এ close() আছে কিন্তু নিজে with সমর্থন করে না, তার জন্য।যেখানে শিখবেন: পর্ব ৩৬
- contextlib.ExitStackএক্সিট স্ট্যাক
- যে context manager-এ চলার সময় যত খুশি context manager যোগ করা যায় (enter_context দিয়ে); ব্লক শেষে সবগুলো যোগ করার উল্টো ক্রমে বন্ধ হয়।যেখানে শিখবেন: পর্ব ৩৬
- contextlib.nullcontextনাল কনটেক্সট
- কিছুই না করা একটি context manager, যা as-এ দেওয়া মানটি ফেরত দেয়। যখন শর্তসাপেক্ষে কোনো manager লাগে না, তখন কোডের কাঠামো একই রাখতে।যেখানে শিখবেন: পর্ব ৩৬
- contextlib.redirect_stdoutরিডাইরেক্ট স্টাডআউট
- ব্লকের সময় sys.stdout-কে অন্য একটি ফাইল-ধরনের object-এ (যেমন io.StringIO) পাঠায়, তাই print-এর লেখা স্ক্রিনে না গিয়ে সেখানে জমে। টেস্টে কাজে লাগে।যেখানে শিখবেন: পর্ব ৩৬
- contextlib.suppressসাপ্রেস
- যে context manager ব্লকের ভেতরের নির্দিষ্ট ধরনের exception চাপা দেয়, যেমন suppress(FileNotFoundError). exception হলে ব্লকের বাকি লাইন বাদ পড়ে, তাই ব্লক ছোট রাখতে হয়।যেখানে শিখবেন: পর্ব ৩৬
- Contiguous memoryকন্টিগুয়াস মেমরি
- ডেটা মেমরিতে ফাঁক ছাড়া একটানা পাশাপাশি রাখা। CPU এমন ডেটা খুব দ্রুত পড়তে পারে, তাই NumPy array-র গতির এটি একটি বড় কারণ।যেখানে শিখবেন: পর্ব ৪৬
- continueকন্টিনিউ
- যে কীওয়ার্ড চলতি ঘোরার বাকি অংশ বাদ দিয়ে লুপের পরের ঘোরায় চলে যায়; লুপ থামে না।যেখানে শিখবেন: পর্ব ১২
- Continuous integration (CI)কন্টিনিউয়াস ইন্টিগ্রেশন
- প্রতিবার কোড push বা pull request হলে একটি সার্ভারে নিজে থেকে পুরো test suite চালানোর ব্যবস্থা, যেমন GitHub Actions.যেখানে শিখবেন: পর্ব ৩৯পর্ব ৪৪পর্ব ৫১
- Cooperative multiple inheritanceকোঅপারেটিভ মাল্টিপল ইনহেরিট্যান্স
- এমন নকশা যেখানে চেইনের প্রতিটি class super() ডাকে, যাতে MRO-র প্রতিটি class-এর method ঠিক একবার চলে।যেখানে শিখবেন: পর্ব ৩১পর্ব ৫৪
- Cooperative multitaskingকোঅপারেটিভ মাল্টিটাস্কিং
- যে ব্যবস্থায় প্রতিটি কাজ নিজে থেকে নিয়ন্ত্রণ ছেড়ে দেয় (asyncio-তে await-এ), কেউ জোর করে থামায় না; যে কাজ ছাড়ে না, সে সবাইকে আটকে রাখে।যেখানে শিখবেন: পর্ব ৪২
- copy moduleকপি মডিউল
- Python-এর standard library module, যাতে আছে copy.copy (shallow), copy.deepcopy (deep) আর Python 3.13 থেকে copy.replace.যেখানে শিখবেন: পর্ব ১৯
- Copy-on-Writeকপি-অন-রাইট
- একটি নিয়ম, যেখানে কোনো অংশ বাছাই করলে ডেটা তখনই কপি হয় না, শুধু বদলানোর সময় হয়। pandas 3.0 থেকে এটি ডিফল্ট, ফলে বাছাই করা অংশ বদলালে মূল টেবিল কখনো বদলায় না।যেখানে শিখবেন: পর্ব ৪৬
- coroutineকো-রুটিন
- এমন ফাংশন, যা নিজের ইচ্ছায় থেমে অন্য কাজকে চলতে দেয় আর পরে আবার চলে, মাঝে বাইরে থেকে মানও নিতে পারে। Python-এ প্রথমে send() দিয়ে generator-ভিত্তিক, এখন async def দিয়ে লেখা হয়।যেখানে শিখবেন: পর্ব ৩৪পর্ব ৪২
- Coroutine objectকো-রুটিন অবজেক্ট
- async def ফাংশন ডাকলে যে object পাওয়া যায়; এটা চালানোর অপেক্ষায় থাকা একটি কাজ, await না করলে কখনো চলে না আর পরে never awaited সতর্কবার্তা আসে।যেখানে শিখবেন: পর্ব ৪২
- CORSকর্স
- Cross-Origin Resource Sharing — ব্রাউজারের নিয়ম, যাতে এক domain-এর পেজ অন্য domain-এর API পড়তে পারে কেবল সেই সার্ভার অনুমতি দিলে।যেখানে শিখবেন: পর্ব ৪৮
- Counterকাউন্টার
- collections module-এর একটি dict-উপশ্রেণি, যা জিনিস গুনে রাখে; most_common() সবচেয়ে বেশি আসাগুলো দেয়, আর না থাকা চাবিতে 0 দেয়।যেখানে শিখবেন: পর্ব ১৬পর্ব ২৭পর্ব ৪৫
- cProfileসি-প্রোফাইল
- Python-এর স্ট্যান্ডার্ড লাইব্রেরির C-তে লেখা profiler. python -m cProfile -s cumtime script.py চালালে প্রতিটি ফাংশনের ncalls, tottime আর cumtime-এর টেবিল দেয়।যেখানে শিখবেন: পর্ব ৪৩
- CPU coreসিপিইউ কোর
- CPU-র ভেতরের একটি স্বাধীন হিসাব-যন্ত্র; প্রতিটি core একই সময়ে আলাদা নির্দেশ চালাতে পারে।যেখানে শিখবেন: পর্ব ৪১
- CPU-boundসিপিইউ বাউন্ড
- যে কাজে CPU সারাক্ষণ হিসাবে ব্যস্ত থাকে, অপেক্ষা প্রায় নেই — যেমন ছবি প্রসেস বা বড় গণনা; দ্রুত করতে একাধিক process, C-তে লেখা লাইব্রেরি (যেমন NumPy) বা free-threaded build লাগে।যেখানে শিখবেন: পর্ব ৪১পর্ব ৪২পর্ব ৪৩
- CPythonসি-পাইথন
- C ভাষায় লেখা মূল ও সবচেয়ে প্রচলিত Python interpreter, যা python.org থেকে পাওয়া যায়। নতুন ফিচার প্রথমে এখানেই আসে।যেখানে শিখবেন: পর্ব ০১পর্ব ০৩পর্ব ০৫
- Crawlerক্রলার
- যে প্রোগ্রাম লিংক ধরে ধরে স্বয়ংক্রিয়ভাবে অনেক পাতা ঘোরে ও নামায়, যেমন সার্চ ইঞ্জিনের বট।যেখানে শিখবেন: পর্ব ৪৭
- Critical sectionক্রিটিক্যাল সেকশন
- কোডের যে অংশ ভাগ করা ডেটা পড়ে বা বদলায়, তাই একসাথে একাধিক thread সেখানে ঢুকতে পারবে না।যেখানে শিখবেন: পর্ব ৪১
- cronক্রন
- Linux/macOS-এর সময়সূচি অনুযায়ী কমান্ড চালানোর ব্যবস্থা। crontab ফাইলের প্রতিটি লাইনে পাঁচটি সময়ের ঘর (মিনিট, ঘণ্টা, দিন, মাস, সপ্তাহের দিন) আর একটি কমান্ড থাকে।যেখানে শিখবেন: পর্ব ৪৯
- Cross-cutting concernক্রস-কাটিং কনসার্ন
- যে কাজ কোনো একটি ফাংশনের নিজস্ব নয়, বরং অনেক ফাংশনে একইভাবে লাগে — যেমন লগ রাখা, সময় মাপা, অনুমতি যাচাই, cache. decorator এগুলো এক জায়গায় লেখার উপায়।যেখানে শিখবেন: পর্ব ৩৫
- Cross-site scripting (XSS)এক্স-এস-এস
- ব্যবহারকারীর লেখা escape না করে ওয়েব পাতায় বসালে সেটি HTML বা script হিসেবে অন্য দর্শকের ব্রাউজারে চলে যাওয়ার ঝুঁকি। প্রতিরোধ: দেখানোর সময় escape করা।যেখানে শিখবেন: পর্ব ৫০
- CRUDক্রাড
- Create, Read, Update, Delete — ডেটা নিয়ে চারটি মৌলিক কাজ; REST API-তে সাধারণত POST, GET, PUT, DELETE-এর সাথে মেলে।যেখানে শিখবেন: পর্ব ৪৮
- Cryptographic hashক্রিপ্টোগ্রাফিক হ্যাশ
- যেকোনো ডেটা থেকে নির্দিষ্ট দৈর্ঘ্যের “আঙুলের ছাপ” বানানোর ফাংশন, যেমন SHA-256. একই ইনপুটে সবসময় একই ফল, আর ছাপ থেকে ইনপুট ফেরত বের করা কার্যত অসম্ভব।যেখানে শিখবেন: পর্ব ২৭পর্ব ৫০
- CSPRNGসিএসপিআরএনজি
- Cryptographically secure pseudo-random number generator — এমন এলোমেলো সংখ্যার উৎস, যার আগের আউটপুট দেখে পরেরটি অনুমান করা কার্যত অসম্ভব।যেখানে শিখবেন: পর্ব ২৭পর্ব ৫০
- CSS selectorসি-এস-এস সিলেক্টর
- HTML-এর ট্যাগ বাছাইয়ের ছোট ভাষা, যেমন article.product_pod h3 a; ওয়েব ডিজাইনে ব্যবহৃত, BeautifulSoup-এর select-এও চলে।যেখানে শিখবেন: পর্ব ৪৭
- CSV (Comma-Separated Values)সি-এস-ভি
- টেবিল রাখার একটি সরল লেখা-ভিত্তিক ফরম্যাট: প্রতিটি লাইন একটি সারি, কমা দিয়ে আলাদা করা ঘরগুলো কলাম; কমা থাকা ঘর উদ্ধৃতি দিয়ে ঘেরা হয়। Python-এ csv module দিয়ে পড়া-লেখা করা হয়।যেখানে শিখবেন: পর্ব ২৬পর্ব ৪৯
- CSV dialectসিএসভি ডায়ালেক্ট
- একটি নির্দিষ্ট CSV ফাইলের নিয়মের গুচ্ছ — delimiter, উদ্ধৃতি চিহ্ন, escape, লাইন-শেষ ইত্যাদি। Python-এর csv module-এর ডিফল্ট dialect হলো "excel".যেখানে শিখবেন: পর্ব ২৬
- csv.DictReaderডিক্ট রিডার
- csv module-এর একটি reader, যা হেডার সারি থেকে কলামের নাম নিয়ে পরের প্রতিটি সারিকে একটি dict হিসেবে দেয় — ফলে row[3]-এর বদলে row["math"] লেখা যায়। সব মান str হিসেবে আসে।যেখানে শিখবেন: পর্ব ২৬
- csv.DictWriterডিক্ট রাইটার
- csv module-এর একটি writer, যা fieldnames-এ দেওয়া কলামের ক্রমে প্রতিটি dict-কে একটি CSV সারি হিসেবে লেখে; writeheader() হেডার লাইন লেখে।যেখানে শিখবেন: পর্ব ২৬
- cumtimeকিউম-টাইম
- cProfile-এর কলাম: ফাংশনে ঢোকা থেকে বেরোনো পর্যন্ত মোট সময়, ভেতরের সব ডাকসহ। বড় cumtime কিন্তু ছোট tottime মানে সময় যাচ্ছে আরও ভেতরে।যেখানে শিখবেন: পর্ব ৪৩
- Cursorকার্সর
- database-এর প্রশ্নের ফলাফলের সারিগুলোর ওপর একটি নির্দেশক; fetchone, fetchall দিয়ে বা for লুপ চালিয়ে সারিগুলো পড়া যায়।যেখানে শিখবেন: পর্ব ২৭
- Custom exceptionকাস্টম এক্সেপশন
- নিজের প্রোগ্রামের ভুলের জন্য নিজে বানানো exception class, যেমন class InsufficientBalance(Exception). সাধারণত Exception থেকে বানানো হয়, BaseException থেকে নয়।যেখানে শিখবেন: পর্ব ২৪পর্ব ৫১পর্ব ৫৪
- CVEসিভিই
- Common Vulnerabilities and Exposures — প্রকাশ্য নিরাপত্তা-ত্রুটির জন্য সর্বজনীন নম্বর (যেমন CVE-2024-12345), যাতে সব টুল ও মানুষ একই ত্রুটিকে একই নামে চেনে।যেখানে শিখবেন: পর্ব ৫০
- Cythonসাইথন
- Python-এর মতো একটি ভাষা, যাতে type ঘোষণা দেওয়া যায় আর যা C-তে অনুবাদ হয়ে Python-এর extension module হিসেবে compile হয়।যেখানে শিখবেন: পর্ব ৪৩
D
- Daemon threadডেমন থ্রেড
- daemon=True দিয়ে বানানো পেছনের thread; main thread শেষ হলে এর জন্য অপেক্ষা না করে হঠাৎ থামিয়ে দেওয়া হয়।যেখানে শিখবেন: পর্ব ৪১
- Dangling elseড্যাংলিং এলস
- nested if-এ একটি else কোন if-এর, তা নিয়ে ব্যাকরণগত অস্পষ্টতা; Python-এ indentation এটি দূর করে।যেখানে শিখবেন: পর্ব ১১
- Data cleaningডেটা ক্লিনিং
- বিশ্লেষণের আগে ডেটার ভুল, ফাঁকা ঘর, ডুপ্লিকেট আর অসংগত লেখা (যেমন Dhaka বনাম dhaka) ঠিক করার ধাপ। বাস্তব প্রজেক্টে প্রায়ই সবচেয়ে বেশি সময় এখানেই যায়।যেখানে শিখবেন: পর্ব ৪৬
- Data descriptorডেটা ডেসক্রিপ্টর
- যে descriptor-এর __set__ বা __delete__ আছে, যেমন property. attribute খোঁজায় এটি instance-এর নিজস্ব __dict__-এর চেয়েও আগে অগ্রাধিকার পায়।যেখানে শিখবেন: পর্ব ৩২
- Data formatডেটা ফরম্যাট
- ডেটা ফাইলে বা নেটওয়ার্কে কীভাবে লেখা হবে তার একমত হওয়া নিয়ম, যাতে আলাদা প্রোগ্রাম (এমনকি আলাদা ভাষার) একই ডেটা বুঝতে পারে — যেমন CSV, JSON.যেখানে শিখবেন: পর্ব ২৬
- Data modelডেটা মডেল
- প্রোগ্রামের তথ্য কোন আকারে থাকবে — কোন list, dict বা tuple, কোন চাবি, কোন ক্রম — তার নকশা।যেখানে শিখবেন: পর্ব ২১
- Data scienceডেটা সায়েন্স
- ডেটাকে প্রশ্ন করে উত্তর খোঁজার কাজ — ডেটা জোগাড়, পরিষ্কার, বিশ্লেষণ, চার্ট আর ফল জানানো মিলিয়ে একটি পুরো প্রক্রিয়া।যেখানে শিখবেন: পর্ব ৪৬
- Databaseডেটাবেস
- সংগঠিতভাবে অনেক ডেটা রাখা, দ্রুত খোঁজা আর একসাথে কয়েকজনের নিরাপদে লেখার ব্যবস্থা। Python-এর standard library-তে sqlite3 আছে, যা একটি ফাইলে পুরো database রাখে।যেখানে শিখবেন: পর্ব ২৬পর্ব ৪৮
- Dataclassডেটাক্লাস
- @dataclass দিয়ে বানানো class, যার __init__, __repr__, __eq__ Python নিজে লিখে দেয়। Python 3.7-এ PEP 557 থেকে এসেছে; বদলানো যায় এমন রেকর্ডের জন্য উপযোগী।যেখানে শিখবেন: পর্ব ১৫পর্ব ৩২পর্ব ৩৫
- DataFrameডেটাফ্রেম
- pandas-এর নাম-লেখা দুই মাত্রার টেবিল: প্রতিটি কলামের একটি নাম ও নিজস্ব ধরন, আর প্রতিটি সারির একটি index লেবেল। প্রোগ্রাম দিয়ে চালানো spreadsheet-এর মতো।যেখানে শিখবেন: পর্ব ৪৬
- datetimeডেটটাইম
- তারিখ ও সময়ের standard library module; এর ভেতরে date, time, datetime আর timedelta টাইপ। datetime টাইপটি তারিখ আর সময় একসাথে রাখে।যেখানে শিখবেন: পর্ব ২৭
- Dead codeডেড কোড
- যে কোড কখনো চলতে পারে না, যেমন ভুল ক্রমের elif-এর নিচের শাখা; এটি সাধারণত লুকানো bug-এর চিহ্ন।যেখানে শিখবেন: পর্ব ১১
- Deadlockডেডলক
- দুই বা ততোধিক thread একে অপরের হাতের তালার জন্য চিরকাল অপেক্ষা করা; প্রোগ্রাম কোনো error ছাড়াই থেমে থাকে।যেখানে শিখবেন: পর্ব ৪১
- Debug Consoleডিবাগ কনসোল
- VS Code-এর যে প্যানেলে প্রোগ্রাম থেমে থাকা অবস্থায় যেকোনো Python expression লিখে চালানো যায়, এখনকার frame-এর সব ভ্যারিয়েবলসহ।যেখানে শিখবেন: পর্ব ৪০
- Debuggerডিবাগার
- যে টুল চলমান প্রোগ্রামকে কোনো লাইনে থামিয়ে ভ্যারিয়েবল দেখতে, এক লাইন এক লাইন এগোতে আর call stack ঘুরে দেখতে দেয়। Python-এ pdb, আর VS Code-এর গ্রাফিক্যাল debugger.যেখানে শিখবেন: পর্ব ৪০
- Debuggingডিবাগিং
- প্রোগ্রামের ভুল খুঁজে বের করা ও ঠিক করার পদ্ধতিগত কাজ: অনুমান করা, প্রমাণ খোঁজা (dry run, print, debugger), তারপর সংশোধন।যেখানে শিখবেন: পর্ব ০২পর্ব ৪০
- Decimalডেসিমাল
- decimal module-এর type, যা সংখ্যাকে দশ-ভিত্তিক অঙ্কে হুবহু রাখে। টাকার হিসাবে ব্যবহার করা হয়; float থেকে নয়, string (বা int) থেকে তৈরি করুন, যেমন Decimal("0.10").যেখানে শিখবেন: পর্ব ০৭পর্ব ৩৬পর্ব ৫১
- decimal.localcontextলোকাল কনটেক্সট
- Decimal হিসাবের নিয়ম (নির্ভুলতা prec, rounding) শুধু একটি with ব্লকের জন্য বদলানোর context manager; ব্লক শেষে আগের নিয়ম ফিরে আসে।যেখানে শিখবেন: পর্ব ৩৬
- Decodeডিকোড
- বাইটকে একটি encoding-এর নিয়মে আবার লেখায় (str) রূপান্তর করা, যেমন b.decode("utf-8"). উল্টো কাজ encode.যেখানে শিখবেন: পর্ব ২৫
- Decompositionডিকম্পোজিশন
- বড় সমস্যাকে ছোট ছোট, আলাদাভাবে সমাধানযোগ্য উপ-সমস্যায় ভাগ করা। Python-এ প্রায়ই প্রতিটি টুকরো একটি function হয়।যেখানে শিখবেন: পর্ব ০২পর্ব ২১
- Decoratorডেকোরেটর
- একটি ফাংশন, যা আরেকটি ফাংশন নিয়ে তার চারপাশে নতুন আচরণ মুড়ে নতুন ফাংশন ফেরত দেয়; @নাম লিখে ব্যবহার হয়। closure আর wrapper-এর ওপর দাঁড়িয়ে।যেখানে শিখবেন: পর্ব ২০পর্ব ২৯পর্ব ৩২
- Decorator factoryডেকোরেটর ফ্যাক্টরি
- যে ফাংশন সেটিং (argument) নিয়ে একটি decorator বানিয়ে ফেরত দেয়। @retry(times=3)-এ retry হলো factory; retry(3) যা ফেরত দেয়, সেটিই আসল decorator.যেখানে শিখবেন: পর্ব ৩৫পর্ব ৪৮পর্ব ৫৪
- Decorator stackingডেকোরেটর স্ট্যাকিং
- একটি ফাংশনের ওপরে একাধিক decorator সাজিয়ে লেখা। নিচেরটি আগে মোড়ায়, ওপরেরটি পরে; ডাকার সময় ওপরের wrapper আগে চলে। @a @b def f মানে f = a(b(f)).যেখানে শিখবেন: পর্ব ৩৫
- Deduplicationডিডুপ্লিকেশন
- একটি সংগ্রহ থেকে বারবার আসা মান সরিয়ে প্রতিটি মান একবার রাখা। Python-এ set(xs) বা ক্রম রাখতে list(dict.fromkeys(xs)) দিয়ে করা হয়।যেখানে শিখবেন: পর্ব ১৭
- Deep copyডিপ কপি
- copy.deepcopy দিয়ে বানানো কপি, যেখানে বাইরের container-এর সাথে ভেতরের প্রতিটি স্তরের mutable object-ও নতুন করে কপি হয়। ফলে কপি আর আসল সম্পূর্ণ স্বাধীন।যেখানে শিখবেন: পর্ব ১৯পর্ব ৫২পর্ব ৫৩
- Default argument (default parameter value)ডিফল্ট আর্গুমেন্ট
- সংজ্ঞাতেই parameter-এ বসানো মান, যেমন rate=0.15. ডাকার সময় argument না দিলে এটি বসে। মানটি def চলার সময় একবারই তৈরি হয়, তাই immutable মান রাখা উচিত।যেখানে শিখবেন: পর্ব ১৩পর্ব ২১
- default_factoryডিফল্ট ফ্যাক্টরি
- field(default_factory=list)-এর মতো লেখা; প্রতিটি নতুন object-এর জন্য ফাংশনটি ডেকে নতুন default মান বানায়, ফলে mutable default ভাগাভাগি হয় না।যেখানে শিখবেন: পর্ব ৩২
- defaultdictডিফল্টডিক্ট
- collections module-এর একটি dict, যা না থাকা চাবি পড়লে একটি ফাংশন (যেমন list বা int) ডেকে নিজেই ডিফল্ট মান বসিয়ে দেয়।যেখানে শিখবেন: পর্ব ১৬পর্ব ২৭পর্ব ৪৪
- Defense in depthডিফেন্স ইন ডেপথ
- একটি সুরক্ষার ওপর ভরসা না করে কয়েকটি স্বাধীন স্তর রাখা — যাচাই, নিরাপদ API, ন্যূনতম অধিকার, টুল-পরীক্ষা — যাতে এক স্তরে ফাঁক থাকলে অন্যটি রক্ষা করে।যেখানে শিখবেন: পর্ব ৫০
- Defensive copyডিফেন্সিভ কপি
- ফাংশন বা class-এর সীমানায় ইচ্ছা করে কপি নেওয়া — বাইরে থেকে পাওয়া list জমানোর আগে, বা ভেতরের list বাইরে দেওয়ার আগে — যাতে অন্য কেউ ভেতরের অবস্থা বদলাতে না পারে।যেখানে শিখবেন: পর্ব ১৯
- defusedxmlডিফিউজড এক্সএমএল
- অবিশ্বস্ত XML নিরাপদে পড়ার জন্য একটি third-party package, যা বিশেষভাবে বানানো XML-এর বিপুল মেমরি-খরচের মতো ঝুঁকি আটকায়।যেখানে শিখবেন: পর্ব ৫০
- __del__ডান্ডার ডেল
- object মেমরি থেকে মোছার আগে চলা method, যাকে finalizer বলে। Python কখন বা আদৌ চালাবে নিশ্চিত নয়, তাই ফাইল বন্ধ বা lock ছাড়ার কাজে এর ওপর ভরসা করা যায় না।যেখানে শিখবেন: পর্ব ৩৬
- Delegationডেলিগেশন
- নিজের কাজের একটি অংশ ভেতরে রাখা অন্য object-কে দিয়ে করানো, যেমন Order চার্জ জানতে self.payment.fee() ডাকে।যেখানে শিখবেন: পর্ব ৩১
- Delimiterডিলিমিটার
- একটি সারির ঘরগুলো আলাদা করার চিহ্ন — CSV-তে সাধারণত কমা, কখনো সেমিকোলন বা ট্যাব। csv.reader(f, delimiter=";") দিয়ে বলে দেওয়া যায়।যেখানে শিখবেন: পর্ব ২৬
- Deny-listডিনাই-লিস্ট
- খারাপ বা নিষিদ্ধ জিনিসের তালিকা বানিয়ে শুধু সেগুলো আটকানোর পদ্ধতি। তালিকা কখনো সম্পূর্ণ হয় না বলে নিরাপত্তায় দুর্বল।যেখানে শিখবেন: পর্ব ৫০
- Dependabotডিপেন্ডাবট
- GitHub-এর একটি সেবা, যা dependency-র নতুন version বা নিরাপত্তা-সংশোধন এলে স্বয়ংক্রিয়ভাবে pull request খোলে।যেখানে শিখবেন: পর্ব ৫০
- Dependencyডিপেন্ডেন্সি
- আপনার প্রজেক্ট চলার জন্য যে বাইরের package লাগে। যেমন ওয়েব থেকে ডেটা আনার প্রজেক্টের dependency হতে পারে requests.যেখানে শিখবেন: পর্ব ২৩
- Dependency confusionডিপেন্ডেন্সি কনফিউশন
- কোনো প্রতিষ্ঠানের ভেতরের (private) package-এর নামেই পাবলিক PyPI-তে ক্ষতিকর package রাখা, যাতে ইনস্টলার ভুল করে পাবলিকটিই নামায়।যেখানে শিখবেন: পর্ব ২৩
- Dependency hellডিপেন্ডেন্সি হেল
- যখন বিভিন্ন package একই dependency-র পরস্পরবিরোধী version চায়, বা একটি আপডেটে অন্য কিছু ভেঙে যায় — আর কোন version মিলবে তা খুঁজে পাওয়া কঠিন হয়।যেখানে শিখবেন: পর্ব ২৩পর্ব ৫৪
- Dependency injectionডিপেন্ডেন্সি ইনজেকশন
- দরকারি জিনিস (db সংযোগ, notifier) নিজে না বানিয়ে বাইরে থেকে পাওয়া — constructor-এ, বা FastAPI-র Depends দিয়ে; ফলে অংশ বদলানো আর টেস্ট সহজ হয়।যেখানে শিখবেন: পর্ব ৩৩পর্ব ৩৯পর্ব ৪৮
- Dependency resolverডিপেন্ডেন্সি রিজলভার
- pip-এর যে অংশ সব package-এর version-শর্ত একসাথে মিলিয়ে এমন একটি সেট খোঁজে, যা সবার শর্ত পূরণ করে। মিল না পেলে ResolutionImpossible ধরনের error দেয়।যেখানে শিখবেন: পর্ব ২৩
- dequeডেক
- collections module-এর double-ended queue — দুই প্রান্তেই O(1)-এ যোগ-বিয়োগ করা যায়। maxlen দিলে পূর্ণ হলে নিজে পুরোনো জিনিস ফেলে দেয়।যেখানে শিখবেন: পর্ব ২৭পর্ব ৪৫পর্ব ৫৫
- Descriptive statisticsডেসক্রিপটিভ স্ট্যাটিসটিকস
- ডেটার সংক্ষিপ্ত বর্ণনা দেওয়া সংখ্যাগুলো — গণনা, গড়, median, সর্বনিম্ন-সর্বোচ্চ, standard deviation, quartile.যেখানে শিখবেন: পর্ব ৪৬
- Descriptorডেসক্রিপ্টর
- যে object-এর class-এ __get__, __set__ বা __delete__ আছে আর যাকে অন্য class-এর attribute হিসেবে রাখা হয়েছে। সেই attribute পড়া-লেখায় Python এর method ডাকে; property, method, classmethod সবই descriptor.যেখানে শিখবেন: পর্ব ৩২
- Deserializationডিসিরিয়ালাইজেশন
- serialization-এর উল্টো: ফাইল বা নেটওয়ার্ক থেকে পাওয়া লেখা বা byte থেকে আবার Python object বানানো — যেমন json.loads.যেখানে শিখবেন: পর্ব ২৬
- Design patternডিজাইন প্যাটার্ন
- সফটওয়্যার নকশার বারবার আসা কোনো সমস্যার নাম দেওয়া, পরীক্ষিত সমাধান-ধাঁচ। ১৯৯৪ সালের Gang of Four বইয়ের ২৩টি pattern সবচেয়ে বিখ্যাত।যেখানে শিখবেন: পর্ব ৩৫
- Destructorডেস্ট্রাক্টর
- C++-এ object ধ্বংসের মুহূর্তে নিশ্চিতভাবে চলা বিশেষ ফাংশন, যার নাম ~ClassName. scope শেষ হলে বা exception-এর সময়ও চলে, তাই সম্পদ ফেরত দিতে ব্যবহার হয়।যেখানে শিখবেন: পর্ব ৩৬
- Deterministic cleanupডিটারমিনিস্টিক ক্লিনআপ
- পরিষ্কারের কাজ ঠিক জানা একটি মুহূর্তে নিশ্চিতভাবে হওয়া — যেমন with ব্লকের শেষে বা C++ scope-এর শেষে — garbage collector-এর সুবিধামতো সময়ে নয়।যেখানে শিখবেন: পর্ব ৩৬
- DFS (Depth-First Search)ডিএফএস
- গ্রাফে একটি পথ ধরে যত গভীরে সম্ভব যাওয়া, আটকে গেলে পিছিয়ে অন্য পথ ধরা। recursion বা নিজের stack দিয়ে লেখা হয়।যেখানে শিখবেন: পর্ব ৪৫
- Diamond problemডায়মন্ড প্রবলেম
- দুই বাবা একই দাদা থেকে এলে দাদার method কতবার ও কোন ক্রমে চলবে সেই প্রশ্ন। Python C3 MRO দিয়ে প্রতিটি class একবার রেখে এটি সমাধান করে।যেখানে শিখবেন: পর্ব ৩১
- dict (Dictionary)ডিকশনারি
- key দিয়ে value খোঁজার Python সংগ্রহ, যেমন {"রহিম": 80}. প্রতিটি key অনন্য, আর key দিয়ে খোঁজা খুব দ্রুত।যেখানে শিখবেন: পর্ব ০৮পর্ব ১১পর্ব ১৬
- Dict comprehensionডিক্ট কম্প্রিহেনশন
- দ্বিতীয় বন্ধনীর ভেতরে চাবি: মান লিখে নতুন dict বানানোর comprehension, যেমন {k: v * 2 for k, v in d.items()}. একই চাবি দুবার এলে শেষ মানটি থাকে।যেখানে শিখবেন: পর্ব ১৮
- __dict__ডান্ডার ডিক্ট
- একটি object যে dict-এ তার attribute-গুলো রাখে। vars(obj) দিয়ে দেখা যায়। class-এরও একটি __dict__ আছে, যেখানে method আর class attribute থাকে।যেখানে শিখবেন: পর্ব ২৯
- Dictionary viewডিকশনারি ভিউ
- keys(), values() বা items() যে object দেয়; এটি কপি নয়, dict-এর দিকে খোলা জীবন্ত জানালা, তাই dict বদলালে view-তেও বদল দেখা যায়।যেখানে শিখবেন: পর্ব ১৬
- Dijkstra's algorithmডায়াকস্ট্রার অ্যালগরিদম
- অঋণাত্মক ওজনের গ্রাফে একটি উৎস থেকে সব বিন্দুর সবচেয়ে ছোট দূরত্ব বের করার অ্যালগরিদম, Edsger Dijkstra ১৯৫৯ সালে প্রকাশ করেন। heap দিয়ে O((V + E) log V).যেখানে শিখবেন: পর্ব ৪৫
- dis moduleডিস মডিউল
- Python-এর সাথে আসা disassembler module; dis.dis() দিয়ে যেকোনো ফাংশন বা কোডের bytecode পড়ে দেখা যায়।যেখানে শিখবেন: পর্ব ০৫
- Disjoint setsডিসজয়েন্ট সেট
- যে দুটি set-এর মধ্যে একটিও মিল নেই। Python-এ a.isdisjoint(b) তখন True দেয়, আর প্রথম মিল পেলেই False দিয়ে থেমে যায়।যেখানে শিখবেন: পর্ব ১৭
- Dispatchডিসপ্যাচ
- আসা কমান্ড বা মান দেখে ঠিক কোন ফাংশন বা শাখা চলবে, তা বাছাই করে পাঠিয়ে দেওয়া — যেমন match দিয়ে কমান্ড বাছাই।যেখানে শিখবেন: পর্ব ২১
- Distractorডিসট্র্যাক্টর
- MCQ-এর জেনেশুনে রাখা ভুল অপশন, যা কোনো প্রচলিত ভুল ধারণা থেকে বানানো হয় বলে দেখতে ঠিক মনে হয়।যেখানে শিখবেন: পর্ব ৫৩
- Distribution (distribution package)ডিস্ট্রিবিউশন
- PyPI-তে আপলোড করা, pip দিয়ে ইনস্টল করা যায় এমন একটি বান্ডিল — একটি নাম ও version-সহ। এর ভেতরে এক বা একাধিক import করা যায় এমন package থাকে; দুটির নাম সবসময় এক নয় (যেমন beautifulsoup4 ইনস্টল করে import করেন bs4).যেখানে শিখবেন: পর্ব ২৩
- Djangoজ্যাঙ্গো
- Python-এর সব-কিছু-সহ (batteries included) ওয়েব ফ্রেমওয়ার্ক — ORM, admin প্যানেল, login, template একসাথে; পুরো ওয়েবসাইটের জন্য জনপ্রিয়।যেখানে শিখবেন: পর্ব ৪৮
- DNS (Domain Name System)ডি-এন-এস
- ইন্টারনেটের ফোনবুক: api.example.com-এর মতো নামকে IP address-এ বদলায়, যাতে কম্পিউটার সংযোগ করতে পারে।যেখানে শিখবেন: পর্ব ৪৭
- Docstringডকস্ট্রিং
- ফাইল, ফাংশন বা class-এর শুরুতে তিন কোট দিয়ে লেখা পরিচয়মূলক লেখা। comment-এর মতো উপেক্ষিত হয় না — Python এটি রেখে দেয়, help() দিয়ে পড়া যায়।যেখানে শিখবেন: পর্ব ০৪পর্ব ১৩পর্ব ২২
- doctestডকটেস্ট
- স্ট্যান্ডার্ড লাইব্রেরির module, যা docstring-এ লেখা >>> উদাহরণ চালিয়ে দেখে লেখা ফল আর আসল ফল হুবহু মেলে কি না।যেখানে শিখবেন: পর্ব ৩৯
- DOM (Document Object Model)ডি-ও-এম
- HTML পাতাকে পড়ে বানানো গাছের মতো গঠন, যেখানে প্রতিটি ট্যাগ একটি node; ব্রাউজার আর parser এই গাছ ধরে কাজ করে।যেখানে শিখবেন: পর্ব ৪৭
- Domain modelডোমেইন মডেল
- ব্যবসার ধারণাগুলো (পণ্য, বিক্রি, গ্রাহক) আর তাদের নিজস্ব নিয়মের কোড-রূপ। এতে ফাইল, ডেটাবেস বা নেটওয়ার্ক থাকে না, তাই এটি সবচেয়ে সহজে টেস্ট করা যায় আর সবচেয়ে কম বদলায়।যেখানে শিখবেন: পর্ব ৫১
- Dry runড্রাই রান
- কম্পিউটার ছাড়া, খাতা-কলমে প্রতিটি লাইন নিজে চালিয়ে ভ্যারিয়েবলের মান আর আউটপুট বের করা — অ্যালগরিদম বা কোড যাচাইয়ের পদ্ধতি।যেখানে শিখবেন: পর্ব ০২পর্ব ১২পর্ব ৫২
- Dry run (অটোমেশনে)ড্রাই রান
- টুলের এমন চালানো, যেখানে সে শুধু দেখায় কী কী করবে — কোন ফাইলের নতুন নাম কী, কী মুছবে — কিন্তু আসলে কিছুই বদলায় না। আসল কাজের আগে যাচাইয়ের নিরাপদ উপায়।যেখানে শিখবেন: পর্ব ৪৯
- dtypeডি-টাইপ
- NumPy array-র প্রতিটি উপাদানের ধরন ও আকার, যেমন int64 (৮ byte-এর পূর্ণসংখ্যা) বা float64. একটি array-র সব উপাদানের dtype একই।যেখানে শিখবেন: পর্ব ৪৬
- Duck typingডাক টাইপিং
- Object-এর type না দেখে সে প্রয়োজনীয় কাজগুলো পারে কি না, তার ওপর ভরসা করার ধরন: “যা হাঁসের মতো ডাকে, তাকে হাঁস ধরে নেওয়া যায়”।যেখানে শিখবেন: পর্ব ০৬পর্ব ৩০পর্ব ৩১
- Dunder methodডান্ডার মেথড
- নামের দুই পাশে দুটি করে আন্ডারস্কোর থাকা বিশেষ method, যেমন __init__, __add__, __iadd__. Python নিজে বিশেষ পরিস্থিতিতে (যোগ, তুলনা, len) এগুলো ডাকে।যেখানে শিখবেন: পর্ব ১৯পর্ব ২৯পর্ব ৩০
- Dynamic arrayডাইনামিক অ্যারে
- মেমরিতে পাশাপাশি রাখা ঘরের সারি, যা দরকার হলে বড় একটি নতুন ব্লকে সরে গিয়ে নিজে বাড়ে। CPython-এর list এভাবেই তৈরি, ঘরে থাকে object-এর pointer.যেখানে শিখবেন: পর্ব ১৪পর্ব ৫৪
- Dynamic attributeডায়নামিক অ্যাট্রিবিউট
- object তৈরির পরে যেকোনো সময় obj.new_name = value লিখে জুড়ে দেওয়া attribute. সুবিধাজনক, কিন্তু বানান ভুল নিঃশব্দে নতুন attribute বানিয়ে ফেলে।যেখানে শিখবেন: পর্ব ২৯
- Dynamic dispatchডায়নামিক ডিসপ্যাচ
- কোন method চলবে তা চালানোর সময় object-এর আসল class দেখে ঠিক হওয়া। Python-এ প্রতিটি method ডাক এভাবেই হয়।যেখানে শিখবেন: পর্ব ৩১
E
- EAFPই-এ-এফ-পি
- Easier to Ask for Forgiveness than Permission — আগে কাজটি করে দেখা, ব্যর্থ হলে exception ধরা। Python-এর প্রচলিত কোডিং ধাঁচ।যেখানে শিখবেন: পর্ব ২৪পর্ব ৩৩পর্ব ৩৪
- Early return (guard clause)আর্লি রিটার্ন
- শর্ত মিললেই ফাংশনের শুরুতে বা মাঝপথে return করে বেরিয়ে যাওয়া, যাতে গভীর if-এর ভাঁজ না লাগে আর কোড সোজা থাকে।যেখানে শিখবেন: পর্ব ১১পর্ব ১৩পর্ব ৪৪
- EDA (Exploratory Data Analysis)ই-ডি-এ
- নতুন ডেটা হাতে পেয়ে সারাংশ, গড়, বিস্তার আর চার্ট দেখে তার চেহারা বোঝা — কোনো সিদ্ধান্তে যাওয়ার আগে ডেটার সাথে পরিচয়।যেখানে শিখবেন: পর্ব ৪৬
- Edge caseএজ কেস
- সাধারণের বাইরে, কিনারার ইনপুট যেখানে প্রোগ্রাম প্রায়ই ভুল করে বা ভেঙে পড়ে — যেমন খালি list, শূন্য, ঋণাত্মক বা খুব বড় সংখ্যা।যেখানে শিখবেন: পর্ব ০২পর্ব ২১পর্ব ২৮
- Editable installএডিটেবল ইনস্টল
- pip install -e . দিয়ে নিজের প্রজেক্ট এমনভাবে ইনস্টল করা, যাতে site-packages-এ কোডের কপি না বসে বরং আপনার ফোল্ডারের দিকে নির্দেশ থাকে। কোড বদলালেই নতুন করে ইনস্টল ছাড়াই পরিবর্তন দেখা যায়।যেখানে শিখবেন: পর্ব ২৩
- Editorialএডিটোরিয়াল
- কনটেস্ট শেষে প্রকাশিত সমস্যাগুলোর সমাধানের ব্যাখ্যা, সাধারণত সমস্যা-লেখকদের লেখা। কনটেস্টের পরে শেখার সবচেয়ে ভালো উৎস।যেখানে শিখবেন: পর্ব ৪৫
- elifএলিফ
- else if-এর সংক্ষেপ; আগের শর্তগুলো মিথ্যা হলে পরের শর্তটি পরীক্ষা করে। একটি if/elif সারিতে সর্বোচ্চ একটি block চলে।যেখানে শিখবেন: পর্ব ১১
- Elimination methodএলিমিনেশন মেথড
- বাদ দেওয়ার পদ্ধতি — সঠিক উত্তর সরাসরি না খুঁজে প্রতিটি অপশনের পেছনের নিয়ম যাচাই করে ভুলগুলো একে একে কেটে দেওয়া।যেখানে শিখবেন: পর্ব ৫৩
- Encapsulationএনক্যাপসুলেশন
- ডেটা আর তার ওপরের কাজ ও নিয়ম একসাথে বেঁধে রাখা, আর ভেতরের খুঁটিনাটি বাইরে থেকে আড়ালে রাখা, যাতে অবস্থা শুধু নির্দিষ্ট পথে (method) বদলায়।যেখানে শিখবেন: পর্ব ২৯পর্ব ৫৪
- Enclosing scopeএনক্লোজিং স্কোপ
- nested ফাংশনের ক্ষেত্রে বাইরের (ঘিরে রাখা) ফাংশনের local নামগুলোর স্তর — LEGB-র E. ভেতরের ফাংশন এখান থেকে নাম পড়তে পারে, আর nonlocal দিয়ে বদলাতে পারে।যেখানে শিখবেন: পর্ব ২০
- Encodingএনকোডিং
- লেখা অক্ষর কোন নিয়মে বাইট হয়ে ফাইলে জমা থাকবে, তার নিয়ম। লেখা আর পড়ার encoding না মিললে অক্ষর ভেঙে যায় বা error আসে।যেখানে শিখবেন: পর্ব ০৩পর্ব ০৯পর্ব ২৫
- Encryptionএনক্রিপশন
- key দিয়ে ডেটা এমনভাবে বদলানো যাতে key ছাড়া পড়া না যায়, আর key থাকলে আসল ডেটা ফেরত পাওয়া যায়। hashing-এর মতো একমুখী নয়।যেখানে শিখবেন: পর্ব ৫০
- Endpointএন্ডপয়েন্ট
- API-র একটি নির্দিষ্ট ঠিকানা আর method-এর জোড়া (যেমন GET /products/{id}), আর তার উত্তর দেওয়া handler ফাংশন।যেখানে শিখবেন: পর্ব ৪৭পর্ব ৪৮
- __enter__ডান্ডার এন্টার
- with ব্লকে ঢোকার ঠিক আগে চলা method. প্রস্তুতির কাজ করে, আর এর ফেরত মান as-এর পরের নামে বসে — প্রায়ই self.যেখানে শিখবেন: পর্ব ৩৬পর্ব ৫৪
- Entry point (console script)এন্ট্রি পয়েন্ট
- pyproject.toml-এর [project.scripts]-এ ঘোষিত কমান্ড, যা একটি ফাংশনকে (যেমন package.cli:main) নির্দেশ করে। ইনস্টলের পর terminal-এ শুধু কমান্ডের নাম লিখলেই সেই ফাংশন চলে।যেখানে শিখবেন: পর্ব ৪৯পর্ব ৫১
- enumerate()ইনিউমারেট
- একটি iterable-এর প্রতিটি জিনিসের সাথে ক্রমিক নম্বর জুড়ে (নম্বর, জিনিস) জোড়া দেয় এমন built-in. start=1 দিলে গণনা 1 থেকে শুরু হয়।যেখানে শিখবেন: পর্ব ১২পর্ব ১৪পর্ব ২১
- .env fileডট-এনভ ফাইল
- প্রজেক্ট-ফোল্ডারে NAME=value আকারে environment variable রাখার ফাইল, যা python-dotenv-এর মতো টুল পড়ে। সবসময় .gitignore-এ রাখতে হয়।যেখানে শিখবেন: পর্ব ৫০
- Environment variableএনভায়রনমেন্ট ভ্যারিয়েবল
- প্রতিটি চলমান প্রোগ্রামের সাথে থাকা নাম-মানের জোড়া, যা OS ও প্রোগ্রামের আচরণ ঠিক করে। PATH এমনই একটি।যেখানে শিখবেন: পর্ব ০৩পর্ব ২২পর্ব ২৩
- EOF (End of File)ইওএফ
- ফাইলের শেষ। Python-এ read() বা readline() শেষে পৌঁছালে খালি string "" (binary-তে b"") ফেরত দেয় — এটাই শেষের সংকেত।যেখানে শিখবেন: পর্ব ২৫
- Equality (==)ইকুয়ালিটি
- দুটি object-এর মান সমান কি না, এই প্রশ্ন; == দিয়ে করা হয়। আলাদা দুটি object-ও সমান হতে পারে।যেখানে শিখবেন: পর্ব ০৮পর্ব ৩০পর্ব ৫৩
- Escape sequenceএস্কেপ সিকোয়েন্স
- string-এর ভেতরে backslash দিয়ে শুরু বিশেষ সংকেত, যা একটি বিশেষ অক্ষর বোঝায় — যেমন \n নতুন লাইন, \" একটি জোড়া কোট।যেখানে শিখবেন: পর্ব ০৪পর্ব ০৯
- eval()ইভ্যাল
- একটি লেখাকে Python expression হিসেবে চালিয়ে ফল দেয় এমন built-in ফাংশন; ব্যবহারকারীর ইনপুটে ব্যবহার করা মারাত্মক নিরাপত্তা-ঝুঁকি।যেখানে শিখবেন: পর্ব ১০পর্ব ২১পর্ব ২৬
- Event loopইভেন্ট লুপ
- যে লুপ প্রস্তুত কাজগুলো একটি একটি করে চালায়, অপেক্ষায় থাকা কাজের টাইমার ও socket-এর হিসাব রাখে, আর অপারেটিং সিস্টেম জানালে তাদের আবার চালায়; asyncio-র কেন্দ্র।যেখানে শিখবেন: পর্ব ৪২পর্ব ৪৮পর্ব ৫৪
- except*এক্সেপ্ট স্টার
- Python 3.11 থেকে আসা syntax, যা একটি ExceptionGroup-এর ভেতর থেকে নির্দিষ্ট ধরনের exception বেছে ধরে; একাধিক except* একই গ্রুপের ভিন্ন অংশ সামলাতে পারে।যেখানে শিখবেন: পর্ব ৪২
- Exceptionএক্সেপশন
- প্রোগ্রাম চলার সময় কোনো সমস্যা হলে Python যে error-বস্তু তৈরি করে, যেমন NameError বা TypeError নামের সমস্যা। কেউ না সামলালে প্রোগ্রাম থেমে traceback দেখায়; সামলানো শিখবেন পর্ব ২৪-এ।যেখানে শিখবেন: পর্ব ০৪পর্ব ০৭পর্ব ১০
- Exception chainingএক্সেপশন চেইনিং
- একটি exception-এর সাথে তার কারণ হওয়া আগের exception জুড়ে রাখা। raise ... from e দিলে __cause__-এ (সরাসরি কারণ), আর except-এর ভেতরে নতুন ভুল হলে __context__-এ পুরোনোটি থাকে।যেখানে শিখবেন: পর্ব ২৪পর্ব ৫৪
- Exception hierarchyএক্সেপশন হায়ারার্কি
- Python-এর exception class-গুলোর বংশবৃক্ষ, যার শীর্ষে BaseException. except X লিখলে X আর তার সব বংশধর ধরা পড়ে।যেখানে শিখবেন: পর্ব ২৪পর্ব ৫১পর্ব ৫৩
- Exception propagationএক্সেপশন প্রোপাগেশন
- কোনো ফাংশনে ধরা না পড়লে exception-এর call stack ধরে একটি একটি করে ডাকার জায়গায় ওপরে ওঠা, যতক্ষণ না একটি মিলে যাওয়া except পায় বা প্রোগ্রাম থামে।যেখানে শিখবেন: পর্ব ২৪
- ExceptionGroupএক্সেপশন গ্রুপ
- Python 3.11 থেকে আসা exception, যার ভেতরে একসাথে কয়েকটি exception থাকে; except* দিয়ে প্রতিটি ধরন আলাদা করে ধরা যায়; প্রস্তাবটি PEP 654-এ।যেখানে শিখবেন: পর্ব ২৪পর্ব ৪২
- Execution policy (PowerShell)এক্সিকিউশন পলিসি
- Windows PowerShell-এর একটি নিরাপত্তা-সেটিং, যা ঠিক করে .ps1 স্ক্রিপ্ট চালানো যাবে কি না। এটি কড়া থাকলে venv-এর Activate.ps1 চলে না।যেখানে শিখবেন: পর্ব ২৩
- Executorএক্সিকিউটর
- concurrent.futures module-এর কাজ-চালানোর object (ThreadPoolExecutor, ProcessPoolExecutor); map আর submit দিয়ে কাজ জমা নেয়।যেখানে শিখবেন: পর্ব ৪১
- Exit codeএক্সিট কোড
- প্রোগ্রাম শেষে অপারেটিং সিস্টেমকে জানানো সংখ্যা — প্রথা অনুযায়ী 0 মানে সফল, অন্য সংখ্যা মানে সমস্যা। Python-এ sys.exit(code) দিয়ে দেওয়া হয়।যেখানে শিখবেন: পর্ব ২৭পর্ব ৩৯পর্ব ৪৯
- __exit__ডান্ডার এক্সিট
- with ব্লক থেকে যেভাবেই বেরোনো হোক চলা method. তিনটি argument পায় — exception-এর type, object আর traceback, সফল হলে তিনটিই None. True ফেরত দিলে exception চাপা পড়ে।যেখানে শিখবেন: পর্ব ৩৬পর্ব ৫৪
- Exponential backoffএক্সপোনেনশিয়াল ব্যাকঅফ
- ব্যর্থ হলে আবার চেষ্টার আগে বিরতি প্রতিবার দ্বিগুণ করা (১, ২, ৪, ৮ সেকেন্ড…), একটি সর্বোচ্চ চেষ্টার সংখ্যাসহ।যেখানে শিখবেন: পর্ব ৪৭
- Expressionএক্সপ্রেশন
- কোডের এমন অংশ যার হিসাব করলে একটি মান পাওয়া যায়, যেমন 2 + 3 বা price * 3. Assignment (x = 5) expression নয়, নির্দেশ।যেখানে শিখবেন: পর্ব ০৩পর্ব ০৬পর্ব ০৭
- Extensionএক্সটেনশন
- Editor-এ বাড়তি ক্ষমতা যোগ করার প্যাকেট। VS Code-এর Python extension ভুল দেখানো, পরামর্শ আর ফাইল চালানোর সুবিধা দেয়।যেখানে শিখবেন: পর্ব ০৩
- externally-managed-environmentএক্সটার্নালি ম্যানেজড এনভায়রনমেন্ট
- PEP 668-এর error: OS বা Homebrew যে Python-এর মালিক, তাতে pip দিয়ে সরাসরি ইনস্টল করতে চাইলে pip থেমে যায়। সমাধান virtual environment, pipx বা OS-এর নিজস্ব package.যেখানে শিখবেন: পর্ব ২৩
F
- f-stringএফ-স্ট্রিং
- f দিয়ে শুরু হওয়া string, যার {} বন্ধনীর ভেতরের মান বা হিসাব লেখার মধ্যে বসে যায়। যেমন f"মোট: {total}".যেখানে শিখবেন: পর্ব ০১পর্ব ০৪পর্ব ০৭
- Factory functionফ্যাক্টরি ফাংশন
- যে ফাংশনের কাজ নতুন object বা নতুন ফাংশন বানিয়ে ফেরত দেওয়া — যেমন make_vat(0.15) একটি VAT-হিসাবের ফাংশন ফেরত দেয়, যার হার closure-এ বন্দি।যেখানে শিখবেন: পর্ব ২০পর্ব ৩৫
- Fake objectফেক অবজেক্ট
- টেস্টে আসল জিনিসের বদলে বসানো হালকা object, যা একই চুক্তি মানে কিন্তু আসল কাজ (SMS, নেটওয়ার্ক) না করে শুধু ফল লিখে রাখে।যেখানে শিখবেন: পর্ব ৩৩পর্ব ৩৯পর্ব ৫১
- False positiveফলস পজিটিভ
- আসলে সমস্যা নেই বা জিনিসটি নেই, অথচ যাচাই বা টুল ভুল করে “আছে” বলল — এমন ভুল; যেমন নিরাপত্তা-linter নিরীহ কোডে সতর্ক করা, বা Bloom filter-এর একমাত্র ধরনের ভুল।যেখানে শিখবেন: পর্ব ১৭পর্ব ৫০
- Falsyফলসি
- যে মান সত্য-মিথ্যার বিচারে মিথ্যা ধরা হয়: 0, 0.0, খালি string, খালি list, None, False. লেখা "0" কিন্তু falsy নয়।যেখানে শিখবেন: পর্ব ০৬পর্ব ২১পর্ব ৩০
- Fast I/Oফাস্ট আই-ও
- বড় ইনপুট দ্রুত পড়া আর আউটপুট দ্রুত লেখার কৌশল। Python-এ sys.stdin.readline বা sys.stdin.buffer.read() দিয়ে পড়া আর সব উত্তর একবারে join করে লেখা।যেখানে শিখবেন: পর্ব ৪৫
- FastAPIফাস্ট-এপিআই
- Starlette আর pydantic-এর ওপর গড়া আধুনিক ASGI ওয়েব ফ্রেমওয়ার্ক; type hint দেখে request যাচাই করে আর API-র ডকুমেন্টেশন নিজেই বানায়।যেখানে শিখবেন: পর্ব ৪৮পর্ব ৫১
- Field (dataclass)ফিল্ড
- dataclass-এর ভেতরে type hint দিয়ে লেখা একটি নাম, যেমন price: float. dataclasses.field() দিয়ে default_factory, init=False, repr=False ধরনের আলাদা নিয়ম দেওয়া যায়।যেখানে শিখবেন: পর্ব ৩২
- Fileফাইল
- ডিস্ক, SSD বা পেনড্রাইভে একটি নাম দিয়ে রাখা বাইটের সারি। text ফাইল হলো সেই বাইট, যা একটি encoding মেনে লেখায় রূপান্তর করা যায়।যেখানে শিখবেন: পর্ব ২৫
- File descriptorফাইল ডেসক্রিপ্টর
- খোলা ফাইলের জন্য অপারেটিং সিস্টেমের দেওয়া একটি ছোট পূর্ণসংখ্যা। 0, 1, 2 যথাক্রমে standard input, output আর error; Python-এ f.fileno() দিয়ে দেখা যায়।যেখানে শিখবেন: পর্ব ২৫
- File modeফাইল মোড
- open()-এর দ্বিতীয় আর্গুমেন্ট, যা বলে ফাইল দিয়ে কী করা হবে: "r" পড়া, "w" নতুন করে লেখা, "a" শেষে যোগ, "x" শুধু নতুন ফাইল, "b" binary, "+" পড়া-লেখা দুটোই।যেখানে শিখবেন: পর্ব ২৫
- File objectফাইল অবজেক্ট
- open() যে object ফেরত দেয়, যার read(), write(), close() ইত্যাদি method দিয়ে ফাইলের সাথে কাজ হয়। sys.stdin আর sys.stdout-ও এই জাতের object.যেখানে শিখবেন: পর্ব ২৫পর্ব ৩৩
- FileExistsErrorফাইল-এক্সিস্টস এরর
- যে নাম আগে থেকেই আছে, সেটি নতুন করে বানাতে গেলে ওঠা exception — যেমন "x" মোডে open() বা exist_ok ছাড়া mkdir().যেখানে শিখবেন: পর্ব ২৫
- FileNotFoundErrorফাইল-নট-ফাউন্ড এরর
- নেই এমন ফাইল পড়তে খুললে, বা লেখার সময় মাঝের ফোল্ডার না থাকলে যে exception ওঠে। প্রায়ই ভুল বানান বা ভুল working directory-র ফল।যেখানে শিখবেন: পর্ব ২৫
- filter()ফিল্টার
- built-in ফাংশন, যা একটি শর্ত-ফাংশন আর একটি iterable নিয়ে শুধু শর্ত মানা জিনিসগুলো অলসভাবে দেয়। প্রায় একই কাজ ছাঁকনিসহ comprehension দিয়েও হয়।যেখানে শিখবেন: পর্ব ১৮পর্ব ৩৮
- Finalফাইনাল
- typing.Final দিয়ে চিহ্নিত নামে আর কখনো নতুন মান বসানো যাবে না — এই নিয়ম type checker পাহারা দেয়। Python নিজে চালানোর সময় তা আটকায় না।যেখানে শিখবেন: পর্ব ৩৭
- finallyফাইনালি
- try কাঠামোর যে অংশ সবসময় চলে — সফল হলেও, ভুল ধরা পড়লেও বা না পড়লেও। ফাইল বন্ধ করা, লক ছেড়ে দেওয়ার মতো পরিষ্কারের কাজের জায়গা।যেখানে শিখবেন: পর্ব ২৪পর্ব ৩৬পর্ব ৫২
- Finderফাইন্ডার
- import ব্যবস্থার যে অংশ বলে একটি নামের module কোথায় আছে, আর একটি module spec ফেরত দেয়। sys.meta_path-এ finder-দের তালিকা থাকে; নিজের finder যোগ করে নতুন উৎস থেকে import করানো যায়, যার শুরু PEP 302 থেকে।যেখানে শিখবেন: পর্ব ২২
- Fine-grained error locationফাইন-গ্রেইনড এরর লোকেশন
- Python 3.11 থেকে traceback-এ লাইনের ঠিক কোন অংশে ভুল হয়েছে, তা ~~~^^^ দাগ দিয়ে দেখানোর সুবিধা, যা এসেছে PEP 657 থেকে। লম্বা লাইনে কোন অংশ দোষী, আন্দাজ করতে হয় না।যেখানে শিখবেন: পর্ব ৪০
- Finite automatonফাইনাইট অটোমেটন
- সীমিত সংখ্যক অবস্থা নিয়ে চলা একটি গাণিতিক যন্ত্র, যা প্রতিটি অক্ষর পড়ে এক অবস্থা থেকে আরেক অবস্থায় যায়। আসল regular expression ঠিক যা চেনে, finite automaton-ও ঠিক তা-ই চেনে।যেখানে শিখবেন: পর্ব ২৮
- First-class functionফার্স্ট-ক্লাস ফাংশন
- ফাংশনকে সাধারণ মানের মতো ব্যবহার করতে পারা — নামে রাখা, list-এ রাখা, অন্য ফাংশনে argument হিসেবে পাঠানো বা ফেরত দেওয়া। যেমন sorted(data, key=by_gpa).যেখানে শিখবেন: পর্ব ১৩পর্ব ২০পর্ব ২১
- Fixtureফিক্সচার
- pytest-এ @pytest.fixture দেওয়া ফাংশন, যা টেস্টের জন্য দরকারি জিনিস তৈরি করে দেয়; টেস্ট parameter-এর নাম লিখে সেটি চায়, আর yield-এর পরে পরিষ্কারের কাজ রাখা যায়।যেখানে শিখবেন: পর্ব ৩৯পর্ব ৫১পর্ব ৫৪
- Fixture scopeফিক্সচার স্কোপ
- যে নিয়ম ঠিক করে একটি fixture কতবার তৈরি হবে: প্রতিটি টেস্টে (function, default), প্রতিটি ফাইলে (module), নাকি পুরো pytest-চলায় একবার (session স্কোপে)।যেখানে শিখবেন: পর্ব ৩৯
- Flagফ্ল্যাগ
- মান ছাড়া একটি হ্যাঁ/না সুইচ, যেমন --dry-run বা -v. কমান্ডে থাকলে True, না থাকলে False; argparse-এ action="store_true" দিয়ে বানানো হয়।যেখানে শিখবেন: পর্ব ৪৯
- flake8ফ্লেক-এইট
- pyflakes, pycodestyle আর mccabe — তিনটি টুল এক মোড়কে দেওয়া পুরোনো ও জনপ্রিয় Python linter; বড় plugin-জগৎ আছে।যেখানে শিখবেন: পর্ব ৪৪
- Flaky testফ্লেকি টেস্ট
- কোড না বদলালেও কখনো পাস, কখনো ব্যর্থ হয় এমন টেস্ট; কারণ সাধারণত সময়, এলোমেলো সংখ্যা, টেস্টের ক্রম বা নেটওয়ার্ক।যেখানে শিখবেন: পর্ব ৩৯
- Flame graphফ্লেম গ্রাফ
- profiler-এর ফলাফলের একটি ছবি, যেখানে প্রতিটি ফাংশন একটি আড়াআড়ি দণ্ড আর দণ্ড যত চওড়া, সেখানে তত বেশি সময় গেছে।যেখানে শিখবেন: পর্ব ৪৩
- Flaskফ্লাস্ক
- Python-এর একটি micro-framework — ছোট কেন্দ্র (routing, template), বাকি সব extension বা নিজের পছন্দের লাইব্রেরি দিয়ে যোগ করতে হয়।যেখানে শিখবেন: পর্ব ৪৮
- Flattenফ্ল্যাটেন
- list-এর ভেতরের list খুলে সব উপাদানকে একটি সমতল সারিতে আনা, যেমন [[1, 2], [3]] থেকে [1, 2, 3].যেখানে শিখবেন: পর্ব ১৮
- floatফ্লোট
- দশমিক সংখ্যার type, যেমন 4.75. মান আনুমানিকভাবে রাখা হয়, তাই 0.1 + 0.2 হুবহু 0.3 হয় না।যেখানে শিখবেন: পর্ব ০৬পর্ব ০৭
- Floating-pointফ্লোটিং-পয়েন্ট
- সংখ্যাকে অঙ্ক আর ঘাত আলাদা করে রাখার পদ্ধতি, যাতে দশমিক বিন্দু “ভাসতে” পারে। এতে খুব বড় আর খুব ছোট দুই রকম সংখ্যাই রাখা যায়, তবে সীমিত নির্ভুলতায়।যেখানে শিখবেন: পর্ব ০৭পর্ব ১৮পর্ব ৩৯
- Floor divisionফ্লোর ডিভিশন
- Python-এর // অপারেটর, যা ভাগফলকে নিচের দিকে, অর্থাৎ ঋণাত্মক অসীমের দিকে গোল করে। তাই -7 // 2 হলো -4, C-র মতো -3 নয়।যেখানে শিখবেন: পর্ব ০৭পর্ব ৫৩পর্ব ৫৪
- Flowchartফ্লোচার্ট
- অ্যালগরিদমের ছবি: ডিম্বাকার (শুরু/শেষ), সামান্তরিক (ইনপুট/আউটপুট), আয়তক্ষেত্র (কাজ) আর হীরা (সিদ্ধান্ত) আকারের বাক্স তীর দিয়ে জোড়া।যেখানে শিখবেন: পর্ব ০২
- Flushফ্লাশ
- buffer-এ জমে থাকা লেখা তখনই পরের স্তরে (ফাইলের ক্ষেত্রে অপারেটিং সিস্টেমে) পাঠিয়ে দেওয়া। ফাইল বন্ধ করলে নিজে থেকে flush হয়; f.flush() দিয়ে হাতে করা যায়।যেখানে শিখবেন: পর্ব ২৫
- Foldফোল্ড
- ফাংশনাল প্রোগ্রামিংয়ের ধারণা: একটি accumulator আর পরের জিনিস নিয়ে বারবার একই ফাংশন চালিয়ে পুরো ধারাকে একটি মানে আনা। Python-এ reduce এই কাজ করে।যেখানে শিখবেন: পর্ব ৩৮
- Follow-up questionফলো-আপ কোয়েশ্চন
- আগের উত্তরের সূত্র ধরে করা পরের প্রশ্ন, যা ধাপে ধাপে বোঝার গভীরতা যাচাই করে — যেমন “list কী?” থেকে “তাহলে list কেন dict-এর key হতে পারে না?”যেখানে শিখবেন: পর্ব ৫৪পর্ব ৫৫
- for loopফর লুপ
- Python-এর “প্রতিটির জন্য” লুপ — কোনো iterable-এর জিনিসগুলো একটি একটি করে loop variable-এ বসিয়ে প্রতিবার body চালায়। C-র মতো নিজে index গুনতে হয় না।যেখানে শিখবেন: পর্ব ১২
- forkফর্ক
- চলমান process-এর হুবহু কপি বানিয়ে নতুন process তৈরি করা; শুধু Unix-ধাঁচের system-এ পাওয়া যায়।যেখানে শিখবেন: পর্ব ৪১
- Format specফরম্যাট স্পেক
- f-string বা format()-এ কোলনের পরের সংকেত, যা মানের চেহারা ঠিক করে — চওড়া, দিক, দশমিক, কমা, type; যেমন >10,.2f সংকেতটি।যেখানে শিখবেন: পর্ব ১০পর্ব ২১পর্ব ৩০
- Formatterফরম্যাটার
- যে টুল কোডের অর্থ না বদলে শুধু চেহারা — space, লাইন-ভাঙা, কোট, ফাঁকা লাইন — একটি নির্দিষ্ট নিয়মে নতুন করে লেখে; যেমন ruff format, black.যেখানে শিখবেন: পর্ব ৪৪
- Forward referenceফরওয়ার্ড রেফারেন্স
- এমন type-এর নাম hint-এ লেখা, যা তখনো সংজ্ঞায়িত হয়নি। Python 3.14-এর আগে একে string হিসেবে (যেমন "Student") লিখতে হতো, বা from __future__ import annotations দিতে হতো।যেখানে শিখবেন: পর্ব ৩৭
- Fractionফ্র্যাকশন
- fractions module-এর type, যা লব আর হর দুটোকে int হিসেবে রাখে, তাই ভগ্নাংশের হিসাবে কোনো ভুল হয় না — Fraction(1, 3) হুবহু এক-তৃতীয়াংশ।যেখানে শিখবেন: পর্ব ০৭
- Frameworkফ্রেমওয়ার্ক
- একটি তৈরি কাঠামো, যা নির্দিষ্ট সময়ে আপনার লেখা কোডকে ডাকে। যেমন ওয়েবের জন্য Django বা FastAPI, আর AI-এর জন্য PyTorch.যেখানে শিখবেন: পর্ব ০১পর্ব ৪৮
- Free variableফ্রি ভ্যারিয়েবল
- যে নাম একটি ফাংশন ব্যবহার করে কিন্তু নিজে তৈরি করে না, আর যা ঘিরে রাখা ফাংশন থেকে আসে। Python এগুলোর নাম রাখে code object-এর co_freevars-এ।যেখানে শিখবেন: পর্ব ২০
- Free-threaded buildফ্রি-থ্রেডেড বিল্ড
- PEP 703 অনুযায়ী তৈরি, GIL ছাড়া CPython-এর আলাদা একটি build; 3.13-এ পরীক্ষামূলক, 3.14-এ অফিসিয়ালি সমর্থিত তবে ঐচ্ছিক; ডিফল্ট Python-এ GIL এখনো আছে।যেখানে শিখবেন: পর্ব ০১পর্ব ০৫পর্ব ৪১
- Frontendফ্রন্টএন্ড
- সফটওয়্যারের যে অংশ ব্যবহারকারী চোখে দেখেন ও ব্যবহার করেন — ওয়েব পেজ, মোবাইল অ্যাপের পর্দা; এটি ব্যাকএন্ডে request পাঠায়।যেখানে শিখবেন: পর্ব ৪৮
- Frozen dataclassফ্রোজেন ডেটাক্লাস
- @dataclass(frozen=True) দিয়ে বানানো class, যার field তৈরির পর বদলানো যায় না। field থেকে __hash__ তৈরি হয়, তাই dict-এর চাবি হতে পারে; তবে অপরিবর্তনীয়তা অগভীর।যেখানে শিখবেন: পর্ব ৩২পর্ব ৫১
- FrozenInstanceErrorফ্রোজেন ইনস্ট্যান্স এরর
- frozen dataclass-এর কোনো field বসানো বা মোছার চেষ্টা করলে আসা exception, বার্তা cannot assign to field. এটি AttributeError-এর subclass.যেখানে শিখবেন: পর্ব ৩২
- frozensetফ্রোজেনসেট
- set-এর বদলানো যায় না এমন রূপ। add বা remove নেই, কিন্তু union, intersection, in সব চলে। বদলায় না বলে hashable, তাই dict-এর চাবি বা অন্য set-এর সদস্য হতে পারে।যেখানে শিখবেন: পর্ব ১৭পর্ব ১৯
- Functionফাংশন
- নাম দেওয়া একটি কোডের টুকরো, যা ইনপুট (argument) নিয়ে কাজ করে এবং ফল ফেরত দিতে পারে। Python-এ def দিয়ে বানানো হয়; যেমন print() আর min() হলো Python-এর তৈরি (built-in) ফাংশন।যেখানে শিখবেন: পর্ব ০২পর্ব ০৪পর্ব ১০
- Functional programmingফাংশনাল প্রোগ্রামিং
- প্রোগ্রামিংয়ের একটি ধারা, যেখানে ডেটা বদলানোর বদলে ফাংশন দিয়ে নতুন মান তৈরি করা হয়; map, filter, reduce আর comprehension এই ধারা থেকে এসেছে। Haskell এর বিখ্যাত উদাহরণ।যেখানে শিখবেন: পর্ব ১৮পর্ব ৩৮
- functoolsফাংটুলস
- standard library-র module, যেখানে ফাংশন নিয়ে কাজ করার টুল আছে — reduce, partial, wraps, lru_cache, cache, cmp_to_key ইত্যাদি।যেখানে শিখবেন: পর্ব ৩৮
- functools.cacheফাংটুলস ডট ক্যাশ
- Python 3.9 থেকে থাকা decorator, যা একটি ফাংশনের প্রতিটি argument-এর উত্তর সীমাহীনভাবে মনে রাখে; lru_cache(maxsize=None)-এর ছোট রূপ। DP-তে memoization-এর সহজ উপায়।যেখানে শিখবেন: পর্ব ৪৫পর্ব ৫৫
- functools.cached_propertyক্যাশড প্রপার্টি
- Python 3.8 থেকে আসা decorator: প্রথমবার পড়লে method চলে আর ফল object-এর __dict__-এ জমা হয়; পরের বার থেকে জমা মান আসে। del obj.x দিয়ে জমা মান মোছা যায়।যেখানে শিখবেন: পর্ব ৩২
- functools.cmp_to_key()সিএমপি টু কি
- দুটি জিনিস নিয়ে ঋণাত্মক, শূন্য বা ধনাত্মক ফেরত দেওয়া পুরোনো ধাঁচের তুলনা ফাংশনকে sorted-এর key-তে রূপ দেয়।যেখানে শিখবেন: পর্ব ৩৮পর্ব ৪৫
- functools.lru_cacheএলআরইউ ক্যাশ
- ফাংশনের আগের উত্তর মনে রাখার তৈরি decorator (Python 3.2 থেকে)। সর্বোচ্চ maxsize-টি উত্তর রাখে (default ১২৮); ভরে গেলে সবচেয়ে দীর্ঘ সময় ব্যবহার না হওয়াটি ফেলে দেয়। functools.cache হলো সীমাহীন রূপ (3.9 থেকে)।যেখানে শিখবেন: পর্ব ৩৫পর্ব ৩৮পর্ব ৪৩
- functools.partial()পার্শিয়াল
- একটি ফাংশনের কিছু argument আগেই বসিয়ে নতুন callable বানায়। যেমন partial(add_vat, rate=0.15) ডাকলে শুধু দাম দিলেই চলে।যেখানে শিখবেন: পর্ব ৩৮
- functools.reduce()রিডিউস
- একটি দুই-argument ফাংশন দিয়ে পুরো ধারাকে বাঁ থেকে ডানে ভাঁজ করে একটি মানে নামিয়ে আনে। Python 3-এ built-in নয়, functools থেকে import করতে হয়; যোগের জন্য sum ভালো।যেখানে শিখবেন: পর্ব ৩৮
- functools.total_orderingটোটাল অর্ডারিং
- একটি class decorator: __eq__ আর একটি ক্রম-তুলনা (যেমন __lt__) দিলে বাকি তুলনার method-গুলো নিজে বানিয়ে দেয়। Python 3.2 থেকে আছে।যেখানে শিখবেন: পর্ব ৩০
G
- Garbage collector (gc)গার্বেজ কালেক্টর
- যে ব্যবস্থা অব্যবহৃত object খুঁজে মেমরি ফেরত দেয়। CPython-এর gc module মূলত reference cycle পরিষ্কার করে।যেখানে শিখবেন: পর্ব ০১পর্ব ০৫পর্ব ৩৬
- Generatorজেনারেটর
- একটি অলস iterator, যে next() চাওয়া মাত্র পরের মান তৈরি করে দিয়ে থেমে থাকে। generator expression বা yield-ওয়ালা ফাংশন দিয়ে তৈরি হয়।যেখানে শিখবেন: পর্ব ১৮পর্ব ৩৪পর্ব ৩৬
- Generator expressionজেনারেটর এক্সপ্রেশন
- প্রথম বন্ধনীতে লেখা comprehension-এর মতো গঠন, যা কোনো সংগ্রহ বানায় না, বরং একটি generator দেয় যে চাওয়া মাত্র একটি একটি মান হিসাব করে। একবারই হাঁটা যায়; sum, any, max-এর সাথে মানায়।যেখানে শিখবেন: পর্ব ১৮পর্ব ৩৪পর্ব ৪৩
- generator functionজেনারেটর ফাংশন
- body-তে yield আছে এমন ফাংশন। ডাকলে body চলে না, একটি generator object ফেরত আসে, যা next() পেলে একটি একটি মান দেয়।যেখানে শিখবেন: পর্ব ৩৪
- Generic typeজেনেরিক টাইপ
- যে type-এর ভেতরে আরেকটি type বসানো যায়, যেমন list[int] বা dict[str, float]. একই কোড ভিন্ন ভিন্ন type-এর জন্য চলে, তবু type-এর তথ্য হারায় না।যেখানে শিখবেন: পর্ব ৩৭
- Getterগেটার
- attribute-এর মান পড়ার জন্য লেখা method. Python-এ আলাদা get_x() না লিখে @property দিয়ে getter বানানো হয়।যেখানে শিখবেন: পর্ব ৩২
- GIL (Global Interpreter Lock)জিল
- সাধারণ CPython-এর একটি তালা, যার কারণে এক প্রক্রিয়ায় একসাথে একটিই thread Python bytecode চালাতে পারে। মূল কারণ reference count সুরক্ষিত রাখা।যেখানে শিখবেন: পর্ব ০১পর্ব ০৫পর্ব ৪১
- git bisectগিট বাইসেক্ট
- git-এর যে কমান্ড binary search দিয়ে খুঁজে বের করে কোন commit বাগটি এনেছে: একটি ভালো আর একটি খারাপ commit বলে দিলে প্রতিবার সন্দেহের তালিকা অর্ধেক করে।যেখানে শিখবেন: পর্ব ৪০
- Git hookগিট হুক
- git-এর একটি ব্যবস্থা, যা নির্দিষ্ট মুহূর্তে (যেমন commit-এর ঠিক আগে) নিজে থেকে একটি স্ক্রিপ্ট চালায়; স্ক্রিপ্ট ব্যর্থ হলে কাজটি থেমে যায়।যেখানে শিখবেন: পর্ব ৪৪
- .gitignoreগিট-ইগনোর
- git-কে কোন ফাইল বা ফোল্ডার ট্র্যাক না করতে বলার তালিকা-ফাইল। Python প্রজেক্টে সাধারণত .venv/, __pycache__/ আর গোপন .env ফাইল এখানে থাকে।যেখানে শিখবেন: পর্ব ২৩পর্ব ৪৭
- Globগ্লব
- * (যেকোনো কিছু) আর ? (যেকোনো একটি অক্ষর) দিয়ে ফাইলের নাম মেলানোর প্যাটার্ন, যেমন *.pdf. Path.glob() এক ফোল্ডারে, Path.rglob() ভেতরের সব ফোল্ডারে খোঁজে; ফলের ক্রম নিশ্চিত নয়।যেখানে শিখবেন: পর্ব ২৫
- Global stateগ্লোবাল স্টেট
- module-স্তরের এমন মান, যা প্রোগ্রামের যেকোনো অংশ পড়তে ও বদলাতে পারে। এতে লুকানো যোগাযোগ তৈরি হয়, পরীক্ষা কঠিন হয়; ধ্রুবক হলে সমস্যা নেই, বদলানো যায় এমন হলে সতর্ক থাকুন।যেখানে শিখবেন: পর্ব ২০পর্ব ৩৬
- global statementগ্লোবাল স্টেটমেন্ট
- ফাংশনের ভেতরে global x লিখলে x নামে সব assignment যায় module-এর global x-এ, নতুন local তৈরি হয় না। কাজ করে, তবে লুকানো global state তৈরি করে বলে যতটা সম্ভব এড়ানো ভালো।যেখানে শিখবেন: পর্ব ২০
- God functionগড ফাংশন
- শত শত লাইনের বিশাল ফাংশন, যা একাই অনেকগুলো আলাদা কাজ করে; বোঝা, test করা আর বদলানো কঠিন — ছোট, এক-কাজের ফাংশনে ভাগ করা উচিত।যেখানে শিখবেন: পর্ব ৪৪
- Google Colabগুগল কোল্যাব
- Google-এর ব্রাউজারভিত্তিক বিনামূল্যের Jupyter notebook সেবা; NumPy, pandas, matplotlib আগে থেকেই বসানো থাকে, নিজের কম্পিউটারে কিছু install করতে হয় না।যেখানে শিখবেন: পর্ব ৪৬
- Gradual typingগ্র্যাজুয়াল টাইপিং
- একই ভাষায় কিছু অংশে type লেখা আর কিছু অংশে না লেখার ব্যবস্থা, যাতে ধাপে ধাপে type যোগ করা যায়। Python-এ এটি এসেছে PEP 484 দিয়ে।যেখানে শিখবেন: পর্ব ০৬পর্ব ৩৭পর্ব ৫৪
- Graphগ্রাফ
- কিছু বিন্দু (node) আর তাদের মধ্যে সংযোগ (edge) দিয়ে গড়া কাঠামো — রাস্তা আর শহর, বন্ধু আর বন্ধুত্ব। গ্রিডও একটি গ্রাফ, যেখানে পাশাপাশি ঘর সংযুক্ত।যেখানে শিখবেন: পর্ব ৪৫
- Grapheme clusterগ্রাফিম ক্লাস্টার
- কয়েকটি code point মিলে পর্দায় একটি একক “অক্ষর” হিসেবে দেখা যায় এমন গুচ্ছ, যেমন “কি” (ক + ি). মানুষ যা অক্ষর হিসেবে গোনে, তা সাধারণত এটিই।যেখানে শিখবেন: পর্ব ০৯পর্ব ২৮পর্ব ৫৫
- Greedy algorithmগ্রিডি অ্যালগরিদম
- প্রতিটি ধাপে তখনকার সবচেয়ে ভালো দেখানো সিদ্ধান্ত নেওয়া, পেছনে না ফিরে। কিছু সমস্যায় সঠিক উত্তর দেয়, অনেকটিতে দেয় না — তাই প্রমাণ বা যাচাই লাগে।যেখানে শিখবেন: পর্ব ৪৫পর্ব ৫৫
- Greedy matchingগ্রিডি ম্যাচিং
- quantifier-এর ডিফল্ট আচরণ: যত বেশি সম্ভব অক্ষর খাওয়া, তারপর দরকার হলে একটু একটু ফেরত দেওয়া। তাই <.*> একাধিক ট্যাগ পেরিয়ে পুরো লেখা মেলাতে পারে।যেখানে শিখবেন: পর্ব ২৮পর্ব ৫৪
- groupby (pandas)গ্রুপবাই
- DataFrame-এর সারিগুলোকে এক বা একাধিক কলামের মান ধরে দলে ভাগ করে, যাতে প্রতিটি দলের যোগফল, গড় বা গণনা বের করা যায়। itertools.groupby-র মতো আগে sort করতে হয় না।যেখানে শিখবেন: পর্ব ৪৬
H
- Handler (logging)হ্যান্ডলার
- logging-এ বার্তা কোথায় যাবে তা ঠিক করে handler — যেমন StreamHandler পর্দায়, FileHandler ফাইলে। প্রতিটি handler-এর নিজস্ব level ও format থাকতে পারে।যেখানে শিখবেন: পর্ব ৪০
- Happy pathহ্যাপি পাথ
- সব ইনপুট বৈধ আর সব কিছু ঠিকঠাক চলার সাধারণ পথ; শুধু এটি টেস্ট করলে কিনারার বাগ অধরা থাকে।যেখানে শিখবেন: পর্ব ৩৯পর্ব ৫৪
- has-a relationshipহ্যাজ-আ রিলেশনশিপ
- “X-এর একটি Y আছে” সম্পর্ক, যেমন গাড়ির একটি ইঞ্জিন আছে। এর জন্য composition ব্যবহার হয়।যেখানে শিখবেন: পর্ব ৩১
- Hashহ্যাশ
- একটি object থেকে হিসাব করা একটি পূর্ণসংখ্যা, যা দেখে hash table ঠিক করে object-টি কোন ঘরে থাকবে। Python-এ hash() ফাংশন এটি দেয়; সমান object-এর hash সমান হতেই হবে।যেখানে শিখবেন: পর্ব ১৫পর্ব ১৭
- Hash collisionহ্যাশ কলিশন
- দুটি আলাদা চাবির hash থেকে hash table-এর একই ঘর আসা। dict তখন চাবি মিলিয়ে দেখে আর নির্দিষ্ট নিয়মে অন্য ঘরে যায়।যেখানে শিখবেন: পর্ব ১৬পর্ব ৫৫
- Hash functionহ্যাশ ফাংশন
- যে নিয়ম একটি object থেকে একটি পূর্ণসংখ্যা বানায়; একই object থেকে সবসময় একই সংখ্যা আসে, আর সমান object-এর hash সমান। Python-এ hash() এই কাজ করে।যেখানে শিখবেন: পর্ব ১৬
- Hash randomizationহ্যাশ র্যান্ডমাইজেশন
- প্রতিবার প্রোগ্রাম শুরু হলে string আর bytes-এর hash-এ একটি গোপন এলোমেলো বীজ মেশানো, যাতে আক্রমণকারী আগে থেকে ঘর আন্দাজ করতে না পারেন। Python 3.3 থেকে ডিফল্টভাবে চালু; এজন্যই string-এর set-এর ছাপার ক্রম প্রতিবার বদলাতে পারে।যেখানে শিখবেন: পর্ব ১৬পর্ব ১৭পর্ব ৫২
- Hash tableহ্যাশ টেবিল
- এমন ডেটা স্ট্রাকচার, যা চাবির hash থেকে সরাসরি ঘরের নম্বর বের করে, ফলে সব জিনিস একটি একটি করে না দেখেই গড়ে খুব দ্রুত খোঁজা যায়। Python-এর dict আর set এর ওপর তৈরি।যেখানে শিখবেন: পর্ব ১৬পর্ব ১৭পর্ব ৩০
- Hashable / hashহ্যাশেবল
- যে object থেকে জীবনভর একই hash সংখ্যা হিসাব করা যায়, তাই dict-এর চাবি বা set-এর উপাদান হতে পারে। str, int, tuple-এর মতো immutable object সাধারণত hashable.যেখানে শিখবেন: পর্ব ০৯পর্ব ১৫পর্ব ১৬
- Header rowহেডার রো
- CSV বা টেবিলের প্রথম সারি, যেখানে ডেটার বদলে কলামগুলোর নাম থাকে। csv.DictReader এটি থেকে প্রতিটি সারির dict-এর চাবি নেয়।যেখানে শিখবেন: পর্ব ২৬
- Headless browserহেডলেস ব্রাউজার
- পর্দা ছাড়া প্রোগ্রাম থেকে চালানো আসল ব্রাউজার (Playwright, Selenium দিয়ে), যা JavaScript চালিয়ে পাতা বানায়; ধীর ও ভারী।যেখানে শিখবেন: পর্ব ৪৭
- Heapহিপ
- গাছ-আকৃতির কাঠামো, যেখানে সবচেয়ে ছোট (min-heap) জিনিস সবসময় ওপরে থাকে। Python-এর heapq module একটি list-এর ভেতরেই heap রাখে; top-k আর priority queue-তে কাজের।যেখানে শিখবেন: পর্ব ২৭পর্ব ৪৫পর্ব ৫৫
- heapq moduleহিপকিউ মডিউল
- Python-এর স্ট্যান্ডার্ড লাইব্রেরির module, যা একটি সাধারণ list-কে min-heap হিসেবে চালায় — heappush, heappop (O(log n)), nlargest, nsmallest.যেখানে শিখবেন: পর্ব ৪৫পর্ব ৫৫
- Help textহেল্প টেক্সট
- -h বা --help দিলে যে ব্যবহারবিধি ছাপা হয় — usage লাইন, বিবরণ আর প্রতিটি আর্গুমেন্টের ব্যাখ্যা। argparse এটি add_argument-এর help লেখা থেকে নিজেই বানায়।যেখানে শিখবেন: পর্ব ৪৯
- Hexadecimalহেক্সাডেসিমাল
- ষোলো-ভিত্তিক সংখ্যা পদ্ধতি, অঙ্ক 0–9 আর A–F. Python-এ লেখা হয় 0x দিয়ে, যেমন 0xFF মানে 255; রঙ আর মেমরি ঠিকানায় প্রচলিত।যেখানে শিখবেন: পর্ব ০৭
- Hexagonal architecture (ports and adapters)হেক্সাগোনাল আর্কিটেকচার
- Alistair Cockburn-এর ২০০৫ সালের প্রস্তাবিত নকশা: কেন্দ্রে ব্যবসার যুক্তি, চারপাশে চুক্তি (port), আর তাতে লাগানো adapter — CLI, ওয়েব, টেস্ট, ডেটাবেস। কেন্দ্র কোনো adapter চেনে না।যেখানে শিখবেন: পর্ব ৫১
- Higher-order functionহায়ার-অর্ডার ফাংশন
- যে ফাংশন অন্য ফাংশনকে argument হিসেবে নেয়, অথবা ফাংশন ফেরত দেয়। sorted(key=...), map আর প্রতিটি decorator এর উদাহরণ।যেখানে শিখবেন: পর্ব ৩৫পর্ব ৩৮পর্ব ৫৪
- HMACএইচ-ম্যাক
- গোপন key আর একটি hash ফাংশন মিলিয়ে বার্তার স্বাক্ষর বানানোর মানক পদ্ধতি; বার্তা পথে বদলেছে কি না যাচাই করা যায়। Python-এর hmac module-এ compare_digest-ও আছে।যেখানে শিখবেন: পর্ব ৫০
- Hotspotহটস্পট
- প্রোগ্রামের যে অল্প কয়েকটি জায়গায় মোট সময়ের বেশিরভাগ খরচ হয়। Optimization-এ শুধু এখানেই হাত দেওয়া লাভজনক।যেখানে শিখবেন: পর্ব ৪৩পর্ব ৫৪
- HTMLএইচ-টি-এম-এল
- ওয়েব পাতার গঠন লেখার ভাষা — ট্যাগের ভেতরে ট্যাগ বসিয়ে শিরোনাম, অনুচ্ছেদ, লিংক বোঝানো হয়।যেখানে শিখবেন: পর্ব ৪৭
- HTML escapingএইচটিএমএল এস্কেপিং
- লেখার বিশেষ চিহ্ন (কোণ-বন্ধনী, অ্যাম্পারস্যান্ড, উদ্ধৃতিচিহ্ন)-কে নিরাপদ রূপে বদলানো, যাতে ব্রাউজার সেগুলো ট্যাগ নয়, শুধু লেখা হিসেবে দেখায়। Python-এ html.escape().যেখানে শিখবেন: পর্ব ৫০
- HTTPএইচটিটিপি
- HyperText Transfer Protocol — ওয়েবে client আর server-এর কথা বলার নিয়ম; প্রতিটি request-এ method, path, header আর body থাকে, আর response-এ status code ও body.যেখানে শিখবেন: পর্ব ৪৭পর্ব ৪৮
- HTTP headerহেডার
- request বা response-এর সাথে পাঠানো নাম-মানের জোড়া, যেমন User-Agent, Content-Type, Authorization; ডেটার বাইরের তথ্য বহন করে।যেখানে শিখবেন: পর্ব ৪৭
- HTTP methodএইচটিটিপি মেথড
- request কী কাজ চায় তা বোঝানোর শব্দ — GET পড়ে, POST নতুন কিছু বানায়, PUT প্রতিস্থাপন করে, DELETE মুছে ফেলে।যেখানে শিখবেন: পর্ব ৪৭পর্ব ৪৮
- HTTP requestরিকোয়েস্ট
- client-এর পাঠানো অনুরোধ: method, path, header আর দরকার হলে body. প্রতিটি request নিজেই সম্পূর্ণ, server আগেরটা মনে রাখে না।যেখানে শিখবেন: পর্ব ৪৭
- HTTP responseরেসপন্স
- server-এর উত্তর: একটি status code, কিছু header আর body (যেমন HTML পাতা বা JSON ডেটা)।যেখানে শিখবেন: পর্ব ৪৭
- HTTPExceptionএইচটিটিপি এক্সেপশন
- FastAPI-র exception, যা raise করলে handler থেমে যায় আর client নির্দিষ্ট status code (যেমন 404) ও detail বার্তা পায়।যেখানে শিখবেন: পর্ব ৪৮
- HTTPSএইচটিটিপিএস
- TLS দিয়ে এনক্রিপ্ট করা HTTP — পথে কেউ ডেটা পড়তে বা বদলাতে পারে না; আসল সার্ভিসে বাধ্যতামূলক।যেখানে শিখবেন: পর্ব ৪৭পর্ব ৪৮
- httpxএইচ-টি-টি-পি-এক্স
- requests-এর মতো চেহারার আধুনিক HTTP লাইব্রেরি, যার sync আর async দুই রূপ আছে, ঐচ্ছিক HTTP/2, আর ডিফল্ট timeout ৫ সেকেন্ড।যেখানে শিখবেন: পর্ব ৪৭
- Hungarian notationহাঙ্গেরিয়ান নোটেশন
- ভ্যারিয়েবলের নামের সামনে তার type লিখে রাখার পুরোনো ধাঁচ, যেমন str_name বা lst_marks; Python-এ এড়িয়ে চলা হয়, কারণ type জানানোর জায়গা type hint.যেখানে শিখবেন: পর্ব ৪৪
- Hypothesisহাইপোথিসিস
- ডিবাগিংয়ে বাগের কারণ নিয়ে একটি নির্দিষ্ট, যাচাইযোগ্য অনুমান — যেমন “লুপটি প্রথম জিনিস বাদ দিচ্ছে”। পরীক্ষার আগেই ঠিক করা থাকে অনুমান সত্য হলে কী দেখার কথা।যেখানে শিখবেন: পর্ব ৪০
I
- I/O-boundআই-ও বাউন্ড
- যে কাজের বেশিরভাগ সময় যায় নেটওয়ার্ক, ডিস্ক বা ডেটাবেসের উত্তরের অপেক্ষায়, CPU-র হিসাবে নয়; asyncio আর thread এমন কাজে লাভ দেয়।যেখানে শিখবেন: পর্ব ৪১পর্ব ৪২পর্ব ৪৩
- IDE (Integrated Development Environment)আইডিই
- কোড লেখা, চালানো, debug ও প্রজেক্ট গোছানোর সব টুল এক জায়গায় থাকা বড় প্রোগ্রাম, যেমন PyCharm.যেখানে শিখবেন: পর্ব ০৩পর্ব ৪০
- Idempotentআইডেমপোটেন্ট
- যে কাজ একবার করা আর কয়েকবার করার ফল একই। রেট পড়া idempotent, তাই retry নিরাপদ; টাকা পাঠানো idempotent নয়, অন্ধ retry-তে টাকা দুবার কাটতে পারে।যেখানে শিখবেন: পর্ব ৩৫পর্ব ৪৭পর্ব ৪৮
- Identifierআইডেন্টিফায়ার
- ভ্যারিয়েবল, ফাংশন বা class-এর নাম। অক্ষর বা underscore দিয়ে শুরু হয়, এরপর অক্ষর, সংখ্যা ও underscore চলে, আর keyword হতে পারে না।যেখানে শিখবেন: পর্ব ০৬পর্ব ৫৩
- Identity (is)আইডেন্টিটি
- দুটি নাম একই object দেখাচ্ছে কি না, এই প্রশ্ন; is দিয়ে করা হয়। মান সমান হলেও identity আলাদা হতে পারে।যেখানে শিখবেন: পর্ব ০৮পর্ব ২৯পর্ব ৩০
- Idiomইডিয়ম
- কোনো ভাষায় একটি কাজ করার প্রচলিত, সবার চেনা প্রকাশভঙ্গি — যেমন Python-এ অদলবদলের জন্য a, b = b, a লেখা।যেখানে শিখবেন: পর্ব ৪৪
- IEEE 754আই-ট্রিপল-ই সেভেন ফিফটি ফোর
- ১৯৮৫ সালে প্রকাশিত floating-point সংখ্যার আন্তর্জাতিক মান। Python-এর float আর C-র double এর ৬৪-বিটের double precision ফরম্যাট মেনে চলে।যেখানে শিখবেন: পর্ব ০৭পর্ব ৫১পর্ব ৫৪
- if statementইফ স্টেটমেন্ট
- শর্ত সত্য হলে একটি block চালানোর নির্দেশ; সাথে elif আর else জুড়ে একাধিক পথ বানানো যায়।যেখানে শিখবেন: পর্ব ১১
- Immutableইমিউটেবল
- যে object তৈরির পর তার ভেতরের মান আর বদলানো যায় না, যেমন int, float, str, tuple. বদলাতে চাইলে নতুন object তৈরি হয়।যেখানে শিখবেন: পর্ব ০৬পর্ব ০৯পর্ব ১৪
- Imperative programmingইমপেরেটিভ প্রোগ্রামিং
- ধাপে ধাপে নির্দেশ দিয়ে, ভ্যারিয়েবল বদলে বদলে কাজ করার ধাঁচ — যেমন for লুপে total += x. ফাংশনাল ধাঁচের উল্টো দিক।যেখানে শিখবেন: পর্ব ৩৮
- Implementationইমপ্লিমেন্টেশন
- একটি ভাষার নিয়ম মেনে বানানো আসল প্রোগ্রাম, যা সেই ভাষার কোড চালায়। Python ভাষার implementation: CPython, PyPy, MicroPython ইত্যাদি।যেখানে শিখবেন: পর্ব ০৫
- implementation detailইমপ্লিমেন্টেশন ডিটেইল
- ভাষার নিয়মে লেখা নেই, শুধু একটি নির্দিষ্ট বাস্তবায়নের (যেমন CPython) নিজস্ব আচরণ — যেমন ছোট int-এর cache বা id()-এর মান। অন্য বাস্তবায়ন বা নতুন সংস্করণে বদলাতে পারে, তাই এর ওপর ভরসা করে কোড লেখা ঠিক নয়।যেখানে শিখবেন: পর্ব ৫২
- importইমপোর্ট
- অন্য module-এর নাম নিজের ফাইলে আনার statement. প্রথমবার module খুঁজে একবার চালায় ও sys.modules-এ রাখে, তারপর আপনার namespace-এ একটি নাম বাঁধে; পরের import শুধু cache থেকে নাম বাঁধে।যেখানে শিখবেন: পর্ব ২২
- importlibইমপোর্টলিব
- Python-এর import ব্যবস্থা যে standard library package-এ লেখা (Python 3.3 থেকে import statement ভেতরে এটিই চালায়)। importlib.import_module(), importlib.reload() আর invalidate_caches()-এর মতো ফাংশন দেয়।যেখানে শিখবেন: পর্ব ২২
- In-memory databaseইন-মেমরি ডেটাবেস
- যে ডেটাবেস ফাইলে নয়, শুধু RAM-এ থাকে; প্রোগ্রাম শেষ হলে মুছে যায়। sqlite3.connect(":memory:") এমন একটি ডেটাবেস দেয় — টেস্ট আর পরীক্ষামূলক কাজের জন্য দ্রুত ও পরিষ্কার।যেখানে শিখবেন: পর্ব ৫১
- In-placeইন-প্লেস
- নতুন object না বানিয়ে মূল object-কেই বদলে দেওয়া। list.sort() আর list.reverse() in-place কাজ করে এবং None ফেরত দেয়।যেখানে শিখবেন: পর্ব ১৪পর্ব ১৯
- Indentationইনডেন্টেশন
- লাইনের শুরুতে ফাঁকা জায়গা দিয়ে ভেতরে সরানো। Python-এ এটি বাধ্যতামূলক নিয়ম: কোন লাইন কোন if বা for-এর ভেতরে, তা indentation দিয়েই ঠিক হয় — সাধারণত ৪টি space ব্যবহার হয়।যেখানে শিখবেন: পর্ব ০২পর্ব ০৪পর্ব ১১
- IndentationErrorইনডেন্টেশন এরর
- লাইনের শুরুর ফাঁকা জায়গার ভুল, যেমন অকারণে space দেওয়া বা block-এর ভেতরে space না দেওয়া। এটি SyntaxError-এরই একটি বিশেষ রূপ।যেখানে শিখবেন: পর্ব ০৪পর্ব ১১পর্ব ৫৩
- Indexইনডেক্স
- sequence-এ একটি উপাদানের অবস্থান-নম্বর। Python-এ গোনা শুরু 0 থেকে, তাই s[0] প্রথম অক্ষর আর শেষটি s[len(s) - 1].যেখানে শিখবেন: পর্ব ০৯পর্ব ১৪পর্ব ১৫
- Index (pandas)ইনডেক্স
- pandas-এ সারি বা মানগুলোর লেবেল। ডিফল্টে 0, 1, 2… হলেও নাম বা জেলার মতো অর্থপূর্ণ লেবেলও হতে পারে।যেখানে শিখবেন: পর্ব ৪৬
- IndexErrorইনডেক্স-এরর
- sequence-এর সীমার বাইরের একক index চাইলে যে exception আসে, যেমন তিন অক্ষরের string-এ s[10].যেখানে শিখবেন: পর্ব ০৯পর্ব ১৪পর্ব ২৪
- Infinite iteratorইনফিনিট ইটারেটর
- যে iterator নিজে থেকে কখনো শেষ হয় না, যেমন itertools-এর count, cycle আর সংখ্যা ছাড়া repeat. এর সাথে islice, zip বা break দিয়ে সীমা দিতে হয়।যেখানে শিখবেন: পর্ব ৩৮
- Infinite loopইনফিনিট লুপ
- যে লুপ কখনো থামে না, কারণ শর্ত কখনো মিথ্যা হয় না বা break-এ পৌঁছানো যায় না। টার্মিনালে Ctrl+C চেপে থামানো যায়।যেখানে শিখবেন: পর্ব ১২পর্ব ৩৪পর্ব ৪৪
- Infinity (inf)ইনফিনিটি
- float-এর একটি বিশেষ মান, যা সবচেয়ে বড় float-এর চেয়েও বড় বোঝায়। float("inf") দিয়ে তৈরি করা যায়, আর সীমা পার হওয়া গুণফলেও আসে।যেখানে শিখবেন: পর্ব ০৭
- Information disclosureইনফরমেশন ডিসক্লোজার
- error পাতা, log বা উত্তরের মাধ্যমে ভেতরের তথ্য (traceback, ফাইলের পথ, টেবিলের নাম, version) বাইরের মানুষের কাছে চলে যাওয়া।যেখানে শিখবেন: পর্ব ৫০
- Inheritanceইনহেরিট্যান্স
- একটি class (subclass) আরেকটি class (base class)-এর attribute ও method পেয়ে যাওয়া, আর দরকারমতো বদলানো বা যোগ করা।যেখানে শিখবেন: পর্ব ৩১পর্ব ৩৩পর্ব ৫৪
- __init__ (initializer)ইনিট মেথড
- নতুন object তৈরির পরপরই Python যে method নিজে ডাকে; self-এর গায়ে শুরুর attribute বসায়। object বানায় না (সেটি __new__-এর কাজ), আর None ছাড়া কিছু ফেরত দেয় না।যেখানে শিখবেন: পর্ব ২৯পর্ব ৫৩
- __init_subclass__ইনিট সাবক্লাস
- Python 3.6 থেকে (PEP 487) parent class-এ লেখা একটি hook, যা প্রতিটি নতুন subclass তৈরির সময় চলে। নিবন্ধন বা যাচাইয়ের মতো কাজে metaclass-এর সহজ বিকল্প।যেখানে শিখবেন: পর্ব ৩২
- Injectionইনজেকশন
- যে আক্রমণে বাইরে থেকে আসা ডেটা ভুল করে নির্দেশ বা কোড হিসেবে চালানো হয় — যেমন eval-এ ইনপুট দেওয়া বা SQL injection আক্রমণ।যেখানে শিখবেন: পর্ব ১০পর্ব ২১পর্ব ২৬
- Inliningইনলাইনিং
- আলাদা ফাংশন ডাকার বদলে তার কোড সরাসরি ডাকার জায়গায় বসিয়ে দেওয়া, যাতে ফাংশন ডাকার খরচ বাঁচে। Python 3.12-এ (PEP 709) list, dict আর set comprehension এভাবে চলে।যেখানে শিখবেন: পর্ব ১৮
- Inorder traversalইনঅর্ডার ট্রাভার্সাল
- tree ঘোরার একটি ক্রম: আগে বাঁ দিক, তারপর node নিজে, তারপর ডান দিক। BST-তে এটি key-গুলো সাজানো ক্রমে দেয়।যেখানে শিখবেন: পর্ব ৫৫
- Inputইনপুট
- প্রোগ্রাম বা অ্যালগরিদম কাজ শুরু করতে যে তথ্য নেয় — যেমন বিলের মোট টাকা আর মানুষের সংখ্যা।যেখানে শিখবেন: পর্ব ০২পর্ব ১০
- Input validationইনপুট ভ্যালিডেশন
- বাইরে থেকে আসা ডেটা (কীবোর্ড, ফাইল, নেটওয়ার্ক) ব্যবহারের আগে পরীক্ষা করা — ধরন, সংখ্যা, সীমা ঠিক আছে কি না।যেখানে শিখবেন: পর্ব ২১পর্ব ২৪পর্ব ২৫
- Insertion orderইনসার্শন অর্ডার
- চাবিগুলো যে ক্রমে ঢোকানো হয়েছিল সেই ক্রম। Python 3.7 থেকে dict এই ক্রম রক্ষা করে, আর এটি ভাষার নিয়ম।যেখানে শিখবেন: পর্ব ১৬
- Instanceইনস্ট্যান্স
- কোনো class থেকে তৈরি একটি নির্দিষ্ট object, যেমন Account("Rahim", 500). প্রতিটি instance-এর নিজের attribute-এর মান থাকে।যেখানে শিখবেন: পর্ব ২৯পর্ব ৩১পর্ব ৩২
- Instance attributeইনস্ট্যান্স অ্যাট্রিবিউট
- একটি নির্দিষ্ট object-এর নিজের attribute, সাধারণত __init__-এ self.x = ... দিয়ে তৈরি। object-এর __dict__-এ থাকে, অন্য object-এর সাথে ভাগ হয় না।যেখানে শিখবেন: পর্ব ২৯পর্ব ৫৪
- Instantiateইনস্ট্যানশিয়েট
- একটি class থেকে নতুন object (instance) তৈরি করা, যেমন CardGateway() লেখা।যেখানে শিখবেন: পর্ব ৩৩
- Instantiationইনস্ট্যানশিয়েশন
- class-কে ফাংশনের মতো ডেকে তা থেকে নতুন object বানানোর কাজ — Python ভেতরে __new__ দিয়ে object বানায়, তারপর __init__ দিয়ে সাজায়।যেখানে শিখবেন: পর্ব ২৯
- intইন্ট
- Python-এর পূর্ণসংখ্যার type, যেমন 17 বা -3. এর কোনো নির্দিষ্ট সর্বোচ্চ সীমা নেই; মেমরি যতক্ষণ আছে, সংখ্যা তত বড় হতে পারে।যেখানে শিখবেন: পর্ব ০৬পর্ব ০৭
- Integrated terminalইন্টিগ্রেটেড টার্মিনাল
- Editor-এর ভেতরেই খোলা terminal, যেমন VS Code-এ Ctrl+` চাপলে নিচে যেটি আসে। আলাদা জানালা না খুলেই কমান্ড চালানো যায়।যেখানে শিখবেন: পর্ব ০৩
- Integration testইন্টিগ্রেশন টেস্ট
- কয়েকটি অংশ (যেমন আপনার কোড আর একটি আসল ডেটাবেস) একসাথে ঠিকমতো কাজ করছে কি না, তা যাচাইয়ের টেস্ট; unit test-এর চেয়ে বড় আর ধীর।যেখানে শিখবেন: পর্ব ৩৯পর্ব ৫১
- Interfaceইন্টারফেস
- একটি চুক্তি: কোনো object-এর কোন কোন method থাকবে, কী নেবে আর কী ফেরত দেবে। কে কীভাবে কাজটি করে, তা চুক্তির বিষয় নয়।যেখানে শিখবেন: পর্ব ৩৩
- Interpreterইন্টারপ্রেটার
- যে প্রোগ্রাম আপনার কোড পড়ে চালায়। Python-এ আপনি যে python কমান্ড চালান সেটিই interpreter; CPython ভেতরে কোডকে আগে bytecode-এ বদলে তারপর চালায়।যেখানে শিখবেন: পর্ব ০১পর্ব ০৩পর্ব ০৪
- Intersectionইন্টারসেকশন
- দুটি set-এর দুটোতেই আছে এমন উপাদান নিয়ে নতুন set — Venn diagram-এর মাঝের অংশ। Python-এ a & b বা a.intersection(b).যেখানে শিখবেন: পর্ব ১৭
- Introspectionইন্ট্রোস্পেকশন
- চলমান প্রোগ্রাম থেকেই object, module বা ফাংশন সম্পর্কে তথ্য বের করা — যেমন dir(math) দিয়ে নামের তালিকা, help() দিয়ে docstring, type() দিয়ে type.যেখানে শিখবেন: পর্ব ২২পর্ব ৩৭
- Invarianceইনভ্যারিয়েন্স
- বদলানো যায় এমন container-এর ভেতরের type হুবহু মিলতে হবে — এই নিয়ম। তাই list[float] চাওয়া জায়গায় list[int] চলে না; শুধু পড়ার জন্য Sequence[float] লিখলে চলে।যেখানে শিখবেন: পর্ব ৩৭
- Invariantইনভেরিয়েন্ট
- এমন একটি শর্ত যা একটি object-এর পুরো জীবনে সবসময় সত্য থাকার কথা, যেমন ব্যালান্স কখনো ঋণাত্মক নয়। __init__ আর অবস্থা বদলানো method-গুলো এটি রক্ষা করে।যেখানে শিখবেন: পর্ব ২৯পর্ব ৩২পর্ব ৫১
- io.StringIOস্ট্রিং আইও
- মেমরিতে থাকা একটি নকল text ফাইল: এতে লেখা যায়, পড়া যায়, আর getvalue() দিয়ে পুরো লেখাটি string হিসেবে পাওয়া যায়। ডিস্কে কিছু লেখা হয় না।যেখানে শিখবেন: পর্ব ৩৬
- IP addressআই-পি অ্যাড্রেস
- নেটওয়ার্কে একটি কম্পিউটারের সংখ্যাভিত্তিক ঠিকানা, যেমন 203.0.113.25; প্যাকেট এই ঠিকানা ধরে পৌঁছায়।যেখানে শিখবেন: পর্ব ৪৭
- is-a relationshipইজ-আ রিলেশনশিপ
- “X একটি Y” সম্পর্ক, যেমন সঞ্চয়ী হিসাব একটি ব্যাংক হিসাব। সব পরিস্থিতিতে সত্য হলে তবেই inheritance মানানসই।যেখানে শিখবেন: পর্ব ৩১
- IsADirectoryErrorইজ-আ-ডিরেক্টরি এরর
- ফাইলের কাজ (যেমন open()) একটি ফোল্ডারের ওপর করতে গেলে যে exception ওঠে (Windows-এ এর বদলে সাধারণত PermissionError আসে)।যেখানে শিখবেন: পর্ব ২৫
- isinstance()ইজইনস্ট্যান্স
- একটি object নির্দিষ্ট type-এর (বা তার subclass-এর) কি না, তা True/False দিয়ে জানায়, যেমন isinstance(17, int). type() == তুলনার চেয়ে এটিই পছন্দের।যেখানে শিখবেন: পর্ব ০৬পর্ব ২৯পর্ব ৩১
- ISO 8601আইএসও ৮৬০১
- তারিখ-সময় লেখার আন্তর্জাতিক মান, যেমন 2026-11-05 বা 2026-11-05T14:30:00+06:00. দেশভেদে দিন/মাসের গোলমাল এড়াতে ডেটা আদান-প্রদানে ব্যবহার হয়।যেখানে শিখবেন: পর্ব ২৬পর্ব ২৭
- isortআই-সর্ট
- Python-এর import-গুলো দলে ভাগ করে (standard library, third-party, local) বর্ণানুক্রমে সাজানোর টুল; ruff-এর I নিয়ম একই কাজ করে।যেখানে শিখবেন: পর্ব ৪৪
- issubclass()ইজসাবক্লাস
- একটি built-in ফাংশন; issubclass(A, B) জানায় class A, class B থেকে (সরাসরি বা পরোক্ষে) এসেছে কি না, যেমন issubclass(bool, int) হলো True.যেখানে শিখবেন: পর্ব ৩১
- Iterableইটারেবল
- যে object-এর জিনিসগুলো একটি একটি করে নেওয়া যায়, তাই for লুপে ব্যবহার করা যায় — যেমন list, string, range, dictionary, খোলা ফাইল।যেখানে শিখবেন: পর্ব ১২পর্ব ১৪পর্ব ১৫
- Iterationইটারেশন
- লুপের একটি ঘোরা, অর্থাৎ body-র একবার চলা। কোনো সংগ্রহের জিনিসগুলো একটি একটি করে দেখার পুরো প্রক্রিয়াকেও iteration বলে।যেখানে শিখবেন: পর্ব ১২
- Iteratorইটারেটর
- যে object মনে রাখে কতদূর হাঁটা হলো, আর next() চাইলে পরের জিনিস দেয়; জিনিস ফুরালে StopIteration তোলে। iter() দিয়ে iterable থেকে পাওয়া যায়।যেখানে শিখবেন: পর্ব ১২পর্ব ১৪পর্ব ২৫
- iterator exhaustionইটারেটর এগজশন
- iterator একবার শেষ পর্যন্ত হাঁটার পর ফুরিয়ে যাওয়া। এরপর তার ওপর লুপ চালালে কিছুই পাওয়া যায় না, কোনো error-ও আসে না।যেখানে শিখবেন: পর্ব ৩৪পর্ব ৫২পর্ব ৫৩
- iterator protocolইটারেটর প্রোটোকল
- Python-এর হাঁটার চুক্তি: __iter__ একটি iterator দেয়, আর iterator-এর __next__ প্রতিবার পরের জিনিস দেয়, শেষ হলে StopIteration তোলে। for লুপ, sum, list() সবাই এটা মানে।যেখানে শিখবেন: পর্ব ৩৪পর্ব ৫৪পর্ব ৫৫
- itertoolsইটারটুলস
- Python-এর standard library module, যেখানে iterator নিয়ে কাজের অলস টুল আছে, যেমন count, islice, chain, groupby, batched.যেখানে শিখবেন: পর্ব ৩৪পর্ব ৩৮
- itertools.accumulate()অ্যাকুমুলেট
- একটি ধারার চলতি ফল একটি একটি করে দেয় — ডিফল্টভাবে চলতি যোগফল। initial= দিয়ে শুরুর মান, আর দ্বিতীয় argument-এ max-এর মতো অন্য ফাংশন দেওয়া যায়।যেখানে শিখবেন: পর্ব ৩৮
- itertools.batched()ব্যাচড
- একটি ধারাকে নির্দিষ্ট আকারের tuple-এ ভাগ করে দেয়; শেষ দলটি ছোট হতে পারে। Python 3.12 থেকে আছে; pagination-এর জন্য উপযোগী।যেখানে শিখবেন: পর্ব ৩৮
- itertools.dropwhile()ড্রপহোয়াইল
- শর্ত যতক্ষণ সত্য, ততক্ষণ শুরুর জিনিসগুলো বাদ দেয়; প্রথমবার মিথ্যা হলে সেখান থেকে বাকি সব দেয়।যেখানে শিখবেন: পর্ব ৩৮
- itertools.groupby()গ্রুপবাই
- পাশাপাশি থাকা সমান key-র জিনিসগুলোকে এক দলে দেয়, (key, দলের iterator) জোড়া হিসেবে। সব সমান key এক দলে চাইলে আগে একই key দিয়ে sort করতে হয়।যেখানে শিখবেন: পর্ব ৩৮পর্ব ৫১
- itertools.isliceআই-স্লাইস
- iterator-এর slicing: islice(it, 5) প্রথম ৫টি মান দিয়ে থামে। অসীম generator থেকে কয়েকটি মান নিতে এটা লাগে, কারণ generator-এ সাধারণ [ : ] slicing চলে না।যেখানে শিখবেন: পর্ব ৩৪পর্ব ৩৮
- itertools.pairwise()পেয়ারওয়াইজ
- পাশাপাশি থাকা জিনিসগুলোর জোড়া দেয়: (a, b), (b, c), ... Python 3.10 থেকে আছে; প্রতিদিনের পরিবর্তন হিসাবে কাজের।যেখানে শিখবেন: পর্ব ৩৮
- itertools.starmap()স্টারম্যাপ
- map-এর মতো, কিন্তু প্রতিটি জিনিস আগে থেকেই argument-এর tuple হলে সেটা খুলে ফাংশনে দেয়: f(*item). যেমন starmap(pow, [(2, 3)]) দেয় 8.যেখানে শিখবেন: পর্ব ৩৮
- itertools.takewhile()টেকহোয়াইল
- শর্ত যতক্ষণ সত্য, ততক্ষণ জিনিস দেয়; প্রথমবার মিথ্যা হলেই চিরতরে থামে। filter-এর মতো পুরো ধারা হাঁটে না।যেখানে শিখবেন: পর্ব ৩৮
- itertools.tee()টি
- একটি iterator থেকে কয়েকটি স্বাধীন iterator বানায়। এরপর মূল iterator ব্যবহার করা উচিত নয়; কপিগুলো দূরে সরে গেলে মাঝের মান মেমরিতে জমে।যেখানে শিখবেন: পর্ব ৩৮
J
- JIT (Just-In-Time) compilerজে-আই-টি
- চলার সময় বারবার চলা কোডকে আসল machine code-এ বদলে দ্রুত করার কৌশল। PyPy-তে আছে; CPython-এ 3.13 থেকে পরীক্ষামূলক, ডিফল্টে বন্ধ।যেখানে শিখবেন: পর্ব ০১পর্ব ০৫পর্ব ৪৩
- Jitterজিটার
- retry-এর বিরতিতে যোগ করা একটু এলোমেলো সময়, যাতে অনেক client একই মুহূর্তে আবার server-এ আঘাত না করে।যেখানে শিখবেন: পর্ব ৪৭
- join()জয়েন
- Thread.join() ডাকলে ডাকা thread অপেক্ষা করে যতক্ষণ না ওই thread-এর কাজ শেষ হয়।যেখানে শিখবেন: পর্ব ৪১
- JSONজেসন
- JavaScript Object Notation — ডেটা আদান-প্রদানের একটি লেখার ফরম্যাট, দেখতে Python-এর dict আর list-এর মতো; চাবি সবসময় string.যেখানে শিখবেন: পর্ব ১৬পর্ব ২৬পর্ব ৪৭
- JSON Lines (.jsonl)জেসন লাইনস
- এমন ফাইল, যার প্রতিটি লাইনে একটি আলাদা সম্পূর্ণ JSON মান থাকে। শেষে নতুন রেকর্ড যোগ করা আর লাইন ধরে পড়া সহজ — log আর বড় ডেটাসেটে প্রচলিত।যেখানে শিখবেন: পর্ব ২৬
- json.JSONDecodeErrorজেসন ডিকোড এরর
- লেখাটি বৈধ JSON না হলে json.loads বা json.load যে exception তোলে; এটি ValueError-এর subclass, আর এর lineno, colno ও msg জানায় কোথায় কী ভুল।যেখানে শিখবেন: পর্ব ২৬
- Jupyter notebookজুপিটার নোটবুক
- ব্রাউজারে চলা একটি পরিবেশ, যেখানে কোড, তার ফল, চার্ট আর ব্যাখ্যা এক পাতায় ঘর ধরে ধরে রাখা যায়। ডেটা সায়েন্সে খুব প্রচলিত।যেখানে শিখবেন: পর্ব ০১পর্ব ৪৬
- JWTজেডব্লিউটি / জট
- JSON Web Token — স্বাক্ষর করা একটি ছোট token, যাতে ব্যবহারকারীর পরিচয়ের তথ্য থাকে; সার্ভার স্বাক্ষর যাচাই করে বোঝে token আসল কি না।যেখানে শিখবেন: পর্ব ৪৮
K
- Kerckhoffs's principleকারকফসের নীতি
- ১৮৮৩ সালে Auguste Kerckhoffs-এর দেওয়া নীতি: গোপন-লিখন ব্যবস্থা প্রকাশ্য হলেও নিরাপদ থাকতে হবে, গোপন থাকবে শুধু key.যেখানে শিখবেন: পর্ব ৫০
- Keyকি
- dict-এ যে পরিচয় দিয়ে একটি মান খোঁজা হয়, যেমন নাম বা রোল নম্বর। একটি dict-এ প্রতিটি চাবি অনন্য, আর চাবিকে hashable হতে হয়।যেখানে শিখবেন: পর্ব ১৬
- Key derivation function (KDF)কি ডেরিভেশন ফাংশন
- পাসওয়ার্ড আর salt থেকে ইচ্ছা করে ধীর ও ব্যয়বহুল পদ্ধতিতে hash বা key বানানোর ফাংশন — যেমন Argon2, bcrypt, scrypt, PBKDF2.যেখানে শিখবেন: পর্ব ৫০
- Key functionকি ফাংশন
- sorted(), sort(), min(), max()-এ key= দিয়ে দেওয়া ফাংশন, যা প্রতিটি জিনিস থেকে তুলনার মানটি বের করে। যেমন key=len দিলে দৈর্ঘ্য অনুযায়ী সাজানো হয়।যেখানে শিখবেন: পর্ব ১৪পর্ব ২১পর্ব ৩৮
- Key rotationকি রোটেশন
- পুরোনো secret key বাতিল করে নতুন key দিয়ে বদলানো — ফাঁস হলে সঙ্গে সঙ্গে, আর নিরাপত্তার জন্য নিয়মিতও।যেখানে শিখবেন: পর্ব ৫০
- Key-value pairকি-ভ্যালু পেয়ার
- dict-এর একটি জোড়া: একটি চাবি আর তার সাথে যুক্ত মান, লেখা হয় key: value রূপে।যেখানে শিখবেন: পর্ব ১৬
- KeyboardInterruptকিবোর্ড ইন্টারাপ্ট
- ব্যবহারকারী টার্মিনালে Ctrl+C চাপলে যে exception ওঠে। এটি Exception-এর নয়, সরাসরি BaseException-এর সন্তান, যাতে except Exception একে না ধরে।যেখানে শিখবেন: পর্ব ২৪
- KeyErrorকি-এরর
- যে চাবি বা উপাদান নেই, তাকে চাইলে বা সরাতে বললে Python যে exception দেয় — যেমন dict-এ না থাকা চাবি পড়া, বা set.remove() দিয়ে না থাকা উপাদান সরানো।যেখানে শিখবেন: পর্ব ১৬পর্ব ১৭পর্ব ২৪
- Keywordকিওয়ার্ড
- Python-এর ব্যাকরণের জন্য সংরক্ষিত শব্দ, যেমন if, for, def, class, None. এগুলো নাম হিসেবে ব্যবহার করা যায় না; পুরো তালিকা keyword.kwlist-এ।যেখানে শিখবেন: পর্ব ০৬পর্ব ১৩পর্ব ৫৩
L
- lambdaল্যাম্বডা
- এক expression-এর নামহীন ছোট ফাংশন বানানোর keyword, যেমন lambda p: p.price. body-তে কোনো statement থাকে না, আর expression-এর মান নিজে থেকেই ফেরত যায়।যেখানে শিখবেন: পর্ব ৩৮
- Lambda calculusল্যাম্বডা ক্যালকুলাস
- ১৯৩০-এর দশকে Alonzo Church-এর তৈরি গণিতের পদ্ধতি, যেখানে শুধু ফাংশন বানানো আর প্রয়োগ দিয়ে সব হিসাব প্রকাশ করা যায়। ফাংশনাল প্রোগ্রামিং আর lambda নামের উৎস।যেখানে শিখবেন: পর্ব ৩৮
- Late binding (closures)লেট বাইন্ডিং
- closure একটি ভ্যারিয়েবলের মান তৈরির সময় নয়, ডাকার সময় পড়ে। তাই লুপে বানানো সব closure লুপ-ভ্যারিয়েবলের শেষ মান দেখে; সমাধান i=i default বা factory function.যেখানে শিখবেন: পর্ব ২০পর্ব ৩৮পর্ব ৫২
- Layered architectureলেয়ার্ড আর্কিটেকচার
- সফটওয়্যারকে কয়েকটি স্তরে ভাগ করার নকশা, যেমন ইন্টারফেস, ব্যবসার নিয়ম, ডেটা রাখা। প্রতিটি স্তরের একটি দায়িত্ব, আর একটি স্তর শুধু তার ভেতরের দিকের স্তরকে চেনে।যেখানে শিখবেন: পর্ব ৫১
- Lazy (non-greedy) matchingলেজি ম্যাচিং
- quantifier-এর পরে ? দিলে (যেমন .*?) সেটি যত কম সম্ভব অক্ষর নেয়, আর পরের অংশ মিললেই থামে। ছোটতম মিল খুঁজতে কাজের।যেখানে শিখবেন: পর্ব ২৮
- Lazy evaluationলেজি ইভ্যালুয়েশন
- দরকার হওয়ার আগে কোনো মান হিসাব না করা — সত্যিই চাওয়া হলে তখন হিসাব করা। range, zip, generator একটি একটি করে মান বানায়; Python 3.14-এর annotation-ও প্রথমবার পড়ার সময় হিসাব হয়।যেখানে শিখবেন: পর্ব ১২পর্ব ১৮পর্ব ৩৪
- Lazy formatting (logging)লেজি ফরম্যাটিং
- log.info("x=%s", x)-এর মতো ছাঁচ আর মান আলাদা দেওয়া, যাতে বার্তা সত্যিই ছাপা হলে তবেই string জোড়া হয়। বাদ পড়া বার্তায় খরচ বাঁচে, আর একই ছাঁচের লাইন দল বাঁধা যায়।যেখানে শিখবেন: পর্ব ৪০
- LBYLএল-বি-ওয়াই-এল
- Look Before You Leap — কাজের আগে if দিয়ে সব শর্ত পরীক্ষা করা। C-তে প্রচলিত; একাধিক thread থাকলে পরীক্ষা আর কাজের মাঝে race condition হতে পারে।যেখানে শিখবেন: পর্ব ২৪পর্ব ৩৩পর্ব ৪৪
- LEGB ruleএল-ই-জি-বি রুল
- Python যে ক্রমে একটি নাম খোঁজে: Local (এখনকার ফাংশন), Enclosing (ঘিরে রাখা ফাংশন), Global (module-এর স্তর), Built-in (Python-এর নিজের নাম)। প্রথম যেখানে পায়, সেখানেই থামে; কোথাও না পেলে NameError.যেখানে শিখবেন: পর্ব ২০পর্ব ৫২পর্ব ৫৪
- Level-order traversalলেভেল-অর্ডার ট্রাভার্সাল
- tree-এর node-গুলো স্তর ধরে, উপর থেকে নিচে আর প্রতিটি স্তরে বাঁ থেকে ডানে দেখা — queue দিয়ে করা BFS.যেখানে শিখবেন: পর্ব ৫৫
- Lexical scope (static scope)লেক্সিক্যাল স্কোপ
- যে নিয়মে একটি নামের অর্থ ঠিক হয় কোড কোথায় লেখা আছে তা দেখে, কোথা থেকে ডাকা হলো তা দেখে নয়। Python, C, JavaScript সহ প্রায় সব আধুনিক ভাষা এই নিয়ম মানে।যেখানে শিখবেন: পর্ব ২০
- Lexicographic orderলেক্সিকোগ্রাফিক অর্ডার
- অভিধানের মতো ক্রম: বাম থেকে এক এক উপাদান মিলিয়ে প্রথম অমিলে সিদ্ধান্ত। Python-এ string, list আর tuple এভাবে তুলনা হয়।যেখানে শিখবেন: পর্ব ০৮পর্ব ১৪পর্ব ১৫
- Libraryলাইব্রেরি
- অন্যের লেখা, আবার ব্যবহারযোগ্য কোডের সংগ্রহ, যা আপনার কোড প্রয়োজনমতো ডাকে। যেমন NumPy.যেখানে শিখবেন: পর্ব ০১পর্ব ২২পর্ব ৪০
- Linear searchলিনিয়ার সার্চ
- তালিকার শুরু থেকে একটি একটি করে উপাদান দেখে খোঁজা। তালিকা সাজানো না থাকলেও চলে; n উপাদানে সবচেয়ে খারাপ ক্ষেত্রে n বার দেখতে হয়।যেখানে শিখবেন: পর্ব ০২পর্ব ১২পর্ব ১৬
- Linked listলিংকড লিস্ট
- ডেটা স্ট্রাকচার যেখানে প্রতিটি জিনিস আলাদা নোডে থাকে আর প্রতিটি নোড পরের নোডের ঠিকানা রাখে। মাঝে ঢোকানো সস্তা, কিন্তু index দিয়ে পৌঁছাতে শুরু থেকে হাঁটতে হয়।যেখানে শিখবেন: পর্ব ১৪পর্ব ৫৫
- Linterলিন্টার
- যে টুল কোড না চালিয়ে পড়ে সম্ভাব্য ভুল আর খারাপ অভ্যাস জানায় — যেমন অব্যবহৃত import বা bare except; Python-এ ruff check, flake8, pylint.যেখানে শিখবেন: পর্ব ৪৪
- Liskov substitution principleলিসকভ সাবস্টিটিউশন প্রিন্সিপল
- base type-এর জায়গায় তার যেকোনো subtype বসালে প্রোগ্রামের সঠিকতা নষ্ট হওয়া চলবে না; শুধু method-এর নাম নয়, আচরণও মিলতে হবে।যেখানে শিখবেন: পর্ব ৩৩
- Liskov substitution principle (LSP)লিসকভ সাবস্টিটিউশন প্রিন্সিপল
- যেখানে base class-এর object চলে, সেখানে তার যেকোনো subclass-এর object-ও ঠিকঠাক চলতে হবে — Barbara Liskov-এর নামে নীতি।যেখানে শিখবেন: পর্ব ৩১
- Listলিস্ট
- Python-এর ক্রমানুসারে সাজানো, বদলানো যায় এমন মানের সংগ্রহ, যা [ ] দিয়ে লেখা হয় — যেমন [72, 85, 64]. প্রথম উপাদানের index 0.যেখানে শিখবেন: পর্ব ০১পর্ব ০২পর্ব ১২
- List comprehensionলিস্ট কম্প্রিহেনশন
- তৃতীয় বন্ধনীর ভেতরে লেখা comprehension, যা সঙ্গে সঙ্গে একটি নতুন list তৈরি করে। Python 2.0 (PEP 202) থেকে আছে।যেখানে শিখবেন: পর্ব ১৪পর্ব ১৮পর্ব ২১
- List repetition (*)লিস্ট রিপিটিশন
- list * n লিখে একই উপাদানগুলো n বার রাখা নতুন list. উপাদানের কপি হয় না, reference-এর পুনরাবৃত্তি হয় — তাই [[0]*3]*3-এ তিনটি সারি আসলে একই list.যেখানে শিখবেন: পর্ব ১৯
- Literalলিটারাল
- কোডে সরাসরি লেখা একটি মান, যেমন 42, 3.5, 0xFF বা "ঢাকা". Python 3.6 থেকে সংখ্যার literal-এ পড়ার সুবিধার জন্য underscore দেওয়া যায়।যেখানে শিখবেন: পর্ব ০৭পর্ব ০৮
- Literal (regex)লিটারাল
- regex প্যাটার্নের সাধারণ অক্ষর, যা শুধু নিজেকেই মেলায় — যেমন Tk বা 0. বিশেষ অর্থের অক্ষর আক্ষরিক অর্থে মেলাতে আগে backslash দিতে হয়, যেমন \.যেখানে শিখবেন: পর্ব ২৮
- Literal patternলিটারাল প্যাটার্ন
- case-এ সরাসরি লেখা মান (যেমন "add", 42, None); subject-এর সাথে তুলনা করে মেলে।যেখানে শিখবেন: পর্ব ১১
- Literal typeলিটারাল টাইপ
- শুধু নির্দিষ্ট কয়েকটি মান গ্রহণযোগ্য — এমন type, যেমন Literal["bkash", "nagad"]. বানান ভুল হলে type checker চালানোর আগেই ধরে।যেখানে শিখবেন: পর্ব ৩৭
- Loaderলোডার
- import ব্যবস্থার যে অংশ খুঁজে পাওয়া module-এর কোড এনে module object-এর ভেতরে চালায়। finder খোঁজে, loader লোড করে — PEP 302-এ এই ভাগ শুরু হয়।যেখানে শিখবেন: পর্ব ২২
- Local variableলোকাল ভ্যারিয়েবল
- ফাংশনের ভেতরে তৈরি নাম (parameter-সহ), যা শুধু সেই ডাকের frame-এ থাকে এবং ফাংশন শেষ হলে মুছে যায়। বাইরে থেকে দেখা যায় না।যেখানে শিখবেন: পর্ব ১৩পর্ব ২০পর্ব ৩৪
- Lockলক
- একসাথে কেবল একটি thread-কে একটি অংশে ঢুকতে দেওয়ার ব্যবস্থা, যেমন threading.Lock. নিলে (acquire) অবশ্যই ছাড়তে (release) হয়; with lock: এটি নিশ্চিত করে।যেখানে শিখবেন: পর্ব ৩৬পর্ব ৪১
- Lock fileলক ফাইল
- dependency resolve করার পর প্রতিটি package-এর (transitive সহ) হুবহু version, আর অনেক সময় ফাইলের hash লিখে রাখা ফাইল। যেমন uv.lock, poetry.lock. এতে যেকোনো জায়গায় হুবহু একই সেট ইনস্টল করা যায়।যেখানে শিখবেন: পর্ব ২৩
- Log levelলগ লেভেল
- একটি log বার্তার গুরুত্ব — DEBUG (10), INFO (20), WARNING (30), ERROR (40) আর CRITICAL (50) মানের পাঁচটি ধাপ। ঠিক করা সীমার সমান বা বেশি গুরুত্বের বার্তাই দেখা যায়; কিছু কনফিগার না করলে সীমা WARNING.যেখানে শিখবেন: পর্ব ৪০
- Loggerলগার
- logging module-এর যে object-এ কোড বার্তা লেখে, যেমন logging.getLogger(__name__)। প্রতিটির একটি নাম থাকে, আর নামের বিন্দু দিয়ে বাবা-সন্তানের বংশতালিকা তৈরি হয়।যেখানে শিখবেন: পর্ব ৪০
- Loggingলগিং
- প্রোগ্রাম চলার সময় কী ঘটছে তা সময় ও গুরুত্বসহ লিখে রাখা। Python-এর logging module-এর logging.exception() পুরো traceback-সহ ভুল লেখে।যেখানে শিখবেন: পর্ব ২৪পর্ব ৩৫পর্ব ৪০
- Logical operatorলজিক্যাল অপারেটর
- শর্ত জোড়া লাগানো বা উল্টানোর operator: and, or, not. Python-এ and/or short-circuit করে আর একটি operand ফেরত দেয়।যেখানে শিখবেন: পর্ব ০৮
- Lookup tableলুকআপ টেবিল
- আগে থেকে সাজানো চাবি-মানের তালিকা, যা থেকে সরাসরি উত্তর খোঁজা হয়; Python-এ সাধারণত একটি dict, লম্বা if/elif শিকলের বদলে।যেখানে শিখবেন: পর্ব ১৬
- LookupErrorলুকআপ এরর
- খোঁজা জিনিস না পাওয়ার ভুলগুলোর পরিবার — IndexError (list-এ সীমার বাইরের index) আর KeyError (dict-এ নেই এমন চাবি) এর সন্তান।যেখানে শিখবেন: পর্ব ২৪
- Loopলুপ
- একই কাজ বারবার করানোর ব্যবস্থা। Python-এ দুই রকম লুপ আছে — for (প্রতিটি জিনিসের জন্য) আর while (শর্ত যতক্ষণ সত্য)।যেখানে শিখবেন: পর্ব ১২
- Loop bodyলুপ বডি
- লুপের যে অংশটি প্রতিটি ঘোরায় চলে। Python-এ কোলনের পরের ঢুকিয়ে লেখা (indent করা) লাইনগুলোই body.যেখানে শিখবেন: পর্ব ১২
- Loop else (for/else, while/else)লুপ এলস
- for বা while-এর পরে লেখা else অংশ, যা চলে শুধু লুপ break ছাড়া স্বাভাবিকভাবে শেষ হলে। একে “no break” হিসেবে পড়া সুবিধাজনক।যেখানে শিখবেন: পর্ব ১২পর্ব ৫৩
- Loop variableলুপ ভ্যারিয়েবল
- for লুপে যে নামটি প্রতি ঘোরায় পরের জিনিসের গায়ে লাগে — যেমন for name in names লিখলে name নামটি। Python-এ লুপ শেষেও এটি শেষ মান নিয়ে টিকে থাকে।যেখানে শিখবেন: পর্ব ১২
- Lost updateলস্ট আপডেট
- দুটি thread একই পুরোনো মান পড়ে আলাদাভাবে বদলে লিখলে একজনের বদল মুছে যাওয়া।যেখানে শিখবেন: পর্ব ৪১
M
- Machine codeমেশিন কোড
- CPU সরাসরি যে 0/1-এর নির্দেশ বোঝে ও চালায়। প্রতিটি CPU পরিবারের নিজস্ব machine code থাকে।যেখানে শিখবেন: পর্ব ০৫
- Magic numberম্যাজিক নাম্বার
- কোডের মাঝে ব্যাখ্যাহীন বসানো সংখ্যা, যেমন if mark < 33; এর বদলে PASS_MARK = 33-এর মতো নামসহ ধ্রুবক ব্যবহার করা ভালো।যেখানে শিখবেন: পর্ব ৪৪
- Main guardমেইন গার্ড
- ফাইলের শেষে লেখা if __name__ == "__main__": শর্ত। এর ভেতরের কোড শুধু ফাইলটি সরাসরি চালালে চলে, অন্য ফাইল import করলে চলে না — তাই একই ফাইল script ও library দুইভাবে ব্যবহার করা যায়।যেখানে শিখবেন: পর্ব ২২পর্ব ৪১পর্ব ৪৯
- map()ম্যাপ
- built-in ফাংশন, যা একটি ফাংশনকে একসারি জিনিসের প্রতিটির ওপর চালায়; ফলগুলো চাওয়ার সময় একটি একটি করে হিসাব হয়। যেমন map(int, ["3", "5"]) দুটি int দেয়।যেখানে শিখবেন: পর্ব ১০পর্ব ১৮পর্ব ৩৮
- Mapping patternম্যাপিং প্যাটার্ন
- {"key": value} ধরনের pattern; dict-এ উল্লেখ করা চাবিগুলো আছে কি না দেখে, বাড়তি চাবি থাকলে আপত্তি করে না।যেখানে শিখবেন: পর্ব ১১
- Match objectম্যাচ অবজেক্ট
- re.search, re.match বা re.fullmatch মিল পেলে যে object ফেরত দেয়। এর group(), groups(), groupdict() আর span() থেকে মেলা লেখা ও তার অবস্থান পাওয়া যায়; মিল না পেলে ফল None.যেখানে শিখবেন: পর্ব ২৮
- match statementম্যাচ স্টেটমেন্ট
- Python 3.10 থেকে আসা কাঠামো, যা একটি মানকে ওপর থেকে নিচে case-এর pattern-গুলোর সাথে মেলায় আর প্রথম মেলা case চালায়।যেখানে শিখবেন: পর্ব ১১পর্ব ২১পর্ব ৫৪
- matplotlibম্যাটপ্লটলিব
- Python-এর সবচেয়ে পুরোনো ও বহুল ব্যবহৃত চার্ট আঁকার লাইব্রেরি (John D. Hunter, ২০০৩)। pandas-এর .plot() ভেতরে এটিই ব্যবহার করে।যেখানে শিখবেন: পর্ব ৪৬
- MCQ (Multiple Choice Question)এম-সি-কিউ
- বহুনির্বাচনী প্রশ্ন — কয়েকটি অপশনের মধ্যে থেকে সঠিকটি বেছে নিতে হয়। সাধারণত চারটি অপশন থাকে, যার একটি সঠিক।যেখানে শিখবেন: পর্ব ৫৩
- Membership operatorমেম্বারশিপ অপারেটর
- কোনো জিনিস একটি সংগ্রহের ভেতরে আছে কি না দেখার operator: in আর not in. String-এ টুকরো লেখা, list-এ উপাদান, dict-এ key খোঁজে।যেখানে শিখবেন: পর্ব ০৮পর্ব ১৪পর্ব ১৬
- Memo (deepcopy)মেমো
- copy.deepcopy-র ভেতরের একটি dict, যা মনে রাখে কোন মূল object-এর কপি ইতিমধ্যে বানানো হয়েছে। এর ফলে reference cycle-এ অনন্ত লুপ হয় না আর ভাগাভাগির গঠন অটুট থাকে।যেখানে শিখবেন: পর্ব ১৯পর্ব ৩২পর্ব ৫৩
- Memoizationমেমোইজেশন
- একটি ফাংশন একই ইনপুটে আগের হিসাবের উত্তর মনে রেখে পরে সরাসরি দিয়ে দেওয়ার কৌশল। শব্দটি Donald Michie-র (১৯৬৮)।যেখানে শিখবেন: পর্ব ৩৫পর্ব ৪৩পর্ব ৪৫
- Merge operator (| and |=)মার্জ অপারেটর
- Python 3.9 থেকে দুটি dict মেলানোর অপারেটর: a | b নতুন dict বানায়, a |= b জায়গায় বদলায়; একই চাবিতে ডান দিকের মান জেতে।যেখানে শিখবেন: পর্ব ১৬
- Mersenne Twisterমারসেন টুইস্টার
- ১৯৯৭ সালে তৈরি একটি দ্রুত pseudo-random অ্যালগরিদম, Python-এর random module-এর ভিত্তি। পরিসংখ্যানে ভালো, কিন্তু অনুমানযোগ্য বলে নিরাপত্তার কাজে অচল।যেখানে শিখবেন: পর্ব ২৭
- Metacharacterমেটাক্যারেক্টার
- regex-এ বিশেষ অর্থের অক্ষর: . ^ $ * + ? { } [ ] \ | ( ). এদের আসল অক্ষর হিসেবে খুঁজতে আগে backslash দিতে হয়, যেমন \+ বা \.যেখানে শিখবেন: পর্ব ২৮
- Metaclassমেটাক্লাস
- যে class-এর instance নিজেরাই class; class কীভাবে তৈরি হবে তা ঠিক করে। Python-এর ডিফল্ট metaclass হলো type, তাই type(Account) দেয় type.যেখানে শিখবেন: পর্ব ২৯পর্ব ৩২
- Methodমেথড
- কোনো object-এর সাথে যুক্ত ফাংশন, যা বিন্দু দিয়ে ডাকা হয় — যেমন "abc".upper() বা text.split() ডাকা।যেখানে শিখবেন: পর্ব ০৯পর্ব ১০পর্ব ১৪
- Method resolution order (MRO)মেথড রেজোলিউশন অর্ডার
- attribute ও method খোঁজার জন্য class-গুলোর নির্দিষ্ট ক্রম, যা Class.__mro__ বা Class.mro() দিয়ে দেখা যায়।যেখানে শিখবেন: পর্ব ৩১পর্ব ৫২
- Micro-optimizationমাইক্রো-অপটিমাইজেশন
- কোডের খুব ছোট অংশে সামান্য গতি বাড়ানোর কৌশল, যেমন global নাম local করা। লাভ সাধারণত কয়েক শতাংশ, আর কোড পড়া কঠিন হয়।যেখানে শিখবেন: পর্ব ৪৩
- Milestoneমাইলস্টোন
- প্রজেক্টের একটি ছোট, নির্দিষ্ট ধাপ, যার শেষে প্রোগ্রাম চলে আর নির্দিষ্ট কিছু কাজ প্রমাণসহ করে।যেখানে শিখবেন: পর্ব ২১পর্ব ৫১
- Min-heapমিন-হিপ
- এমন heap যেখানে সবচেয়ে ছোট মান সবসময় শীর্ষে (Python-এর heapq-এ heap[0]) থাকে; ঢোকানো ও বের করা O(log n).যেখানে শিখবেন: পর্ব ৫৫
- Minimal reproducible example (MRE)মিনিমাল রিপ্রোডিউসিবল এক্সাম্পল
- যত কম কোডে বাগটি দেখা যায়, এমন সম্পূর্ণ ও চালানো যায় এমন একটি উদাহরণ — সঙ্গে আশা করা ফল, পাওয়া ফল আর traceback. সাহায্য চাওয়ার আগে এটি বানালে প্রায়ই নিজেই সমাধান পাওয়া যায়।যেখানে শিখবেন: পর্ব ৪০
- Minor unit (money)মাইনর ইউনিট
- একটি মুদ্রার সবচেয়ে ছোট একক — টাকার পয়সা, ডলারের সেন্ট। টাকাকে এই এককে পূর্ণসংখ্যা হিসেবে রাখলে (৳১৪০.৫০ = ১৪০৫০) যোগ-গুণ সবসময় নির্ভুল হয়।যেখানে শিখবেন: পর্ব ৫১
- Missing valueমিসিং ভ্যালু
- যে ঘরে মান নেই বা জানা নেই। pandas সাধারণত একে NaN হিসেবে দেখায়; isna() দিয়ে খোঁজা, fillna() দিয়ে ভরা আর dropna() দিয়ে বাদ দেওয়া হয়।যেখানে শিখবেন: পর্ব ৪৬
- Mixinমিক্সইন
- একটি ছোট class, যা একটি বাড়তি ক্ষমতা (যেমন to_json) দেয় আর অন্য class-এর সাথে মিশিয়ে inherit করার জন্য তৈরি; একা ব্যবহারের জন্য নয়।যেখানে শিখবেন: পর্ব ৩১
- Mixin methodমিক্সিন মেথড
- যে method একটি ABC নিজেই দেয়, আপনার লেখা মৌলিক method ব্যবহার করে; যেমন Sequence দেয় index, count, __contains__.যেখানে শিখবেন: পর্ব ৩৩
- Mock interviewমক ইন্টারভিউ
- আসল ইন্টারভিউর মতো করে নেওয়া অনুশীলনী ইন্টারভিউ — বন্ধু, মেন্টর বা AI-এর সাথে — দুর্বলতা খুঁজে বের করার জন্য।যেখানে শিখবেন: পর্ব ৫৫
- Mock objectমক অবজেক্ট
- unittest.mock.Mock-এর মতো object, যা যেকোনো ডাক মেনে নেয় আর মনে রাখে কে কী argument দিয়ে কতবার ডাকল; পরে সেটি যাচাই করা যায়।যেখানে শিখবেন: পর্ব ৩৯
- Moduleমডিউল
- Python কোডের একটি ফাইল বা একক, যা import করে অন্য কোডে ব্যবহার করা যায়। যেমন math বা json.যেখানে শিখবেন: পর্ব ০১পর্ব ০৭পর্ব ২২
- Moduloমডুলো
- ভাগশেষ বের করার % অপারেটর। Python-এ ফলের চিহ্ন সবসময় ভাজকের মতো, তাই -7 % 2 হলো 1.যেখানে শিখবেন: পর্ব ০৭
- Mojibakeমোজিবাকে
- ভুল encoding দিয়ে decode করায় তৈরি অর্থহীন অক্ষরের জঞ্জাল, যেমন বাংলা লেখা বা হয়ে যাওয়া। জাপানি শব্দ, মানে মোটামুটি “অক্ষর বদলে যাওয়া”।যেখানে শিখবেন: পর্ব ২৫পর্ব ৪৭পর্ব ৫৪
- monkeypatchমাংকিপ্যাচ
- pytest-এর fixture, যা টেস্টের সময় কোনো ফাংশন, attribute বা environment variable সাময়িক বদলে দেয় আর শেষে নিজেই আগের অবস্থায় ফেরায়।যেখানে শিখবেন: পর্ব ৩৯
- MRO (Method Resolution Order)এম-আর-ও
- attribute বা method খোঁজার সময় Python যে ক্রমে class আর তার পূর্বপুরুষদের দেখে। ClassName.__mro__ দিয়ে দেখা যায়; multiple inheritance-এ C3 নিয়মে তৈরি হয়।যেখানে শিখবেন: পর্ব ৩২পর্ব ৫৩পর্ব ৫৪
- Multiple assignmentমাল্টিপল অ্যাসাইনমেন্ট
- এক লাইনে কয়েকটি নামে মান দেওয়া, যেমন a, b = 1, 2. ডান দিকের মানের সংখ্যা আর বাম দিকের নামের সংখ্যা মিলতে হয়।যেখানে শিখবেন: পর্ব ০৬
- Multiple inheritanceমাল্টিপল ইনহেরিট্যান্স
- একটি class-এর একাধিক base class থাকা, যেমন Copier(Printer, Scanner) লেখা। Python এটি দেয়, Java class-এর জন্য দেয় না।যেখানে শিখবেন: পর্ব ৩১
- multiprocessingমাল্টিপ্রসেসিং
- আলাদা process চালিয়ে কাজ ভাগ করার standard library module; প্রতিটি process-এর নিজস্ব GIL থাকায় সব core কাজে লাগে।যেখানে শিখবেন: পর্ব ৪১
- Mutableমিউটেবল
- তৈরির পরেও যে object-এর ভেতরের মান বদলানো যায়, যেমন list, dict, set. অন্যদিকে int, str, tuple বদলানো যায় না; এদের বলা হয় immutable.যেখানে শিখবেন: পর্ব ০৫পর্ব ১৪পর্ব ১৫
- Mutable default argumentমিউটেবল ডিফল্ট আর্গুমেন্ট
- default হিসেবে list বা dict দেওয়ার ফাঁদ — মানটি def চলার সময় একবারই তৈরি হয়, তাই সব ডাক একই object ভাগ করে। সমাধান: None default.যেখানে শিখবেন: পর্ব ২১পর্ব ৩২পর্ব ৪০
- Mutationমিউটেশন
- নাম না সরিয়ে object-এর ভেতরের মান বদলানো, যেমন x.append(1) বা x[0] = 9. ওই object-কে যত নাম দেখায়, সবাই বদলটি দেখে।যেখানে শিখবেন: পর্ব ১৯পর্ব ৫২
- Mutation testingমিউটেশন টেস্টিং
- কোডে ইচ্ছে করে ছোট ছোট বদল (যেমন >= থেকে >) করে দেখা, টেস্ট সেগুলো ধরে কি না — টেস্টের মান যাচাইয়ের পদ্ধতি।যেখানে শিখবেন: পর্ব ৩৯
- MVP (Minimum Viable Product)এম-ভি-পি
- সবচেয়ে ছোট সংস্করণ, যা ব্যবহারকারীর সবচেয়ে বড় সমস্যাটি সমাধান করে আর সত্যিই ব্যবহার করা যায়।যেখানে শিখবেন: পর্ব ২১পর্ব ৫১
- mypyমাই-পাই
- Python-এর সবচেয়ে পুরোনো ও জনপ্রিয় static type checker; কোড চালানোর আগে type hint অনুযায়ী ভুল দেখায়।যেখানে শিখবেন: পর্ব ৩৩পর্ব ৩৭পর্ব ৪৪
- mypycমাইপাই-সি
- type hint-ওয়ালা সাধারণ Python কোডকে C extension-এ compile করার টুল; mypy প্রকল্পের অংশ।যেখানে শিখবেন: পর্ব ৪৩
N
- Naive datetimeনাইভ ডেটটাইম
- time zone-এর তথ্য ছাড়া datetime, যার tzinfo হলো None. কোন অঞ্চলের সময়, তা জানে না, তাই একাধিক দেশ বা সার্ভারে ভুল বোঝাবুঝি ঘটায়।যেখানে শিখবেন: পর্ব ২৭
- Name (variable name)নেম
- Python-এ একটি লেবেল, যা কোনো object-এর সাথে যুক্ত থাকে। নাম নিজে মান ধরে রাখে না, শুধু object-কে দেখায়।যেখানে শিখবেন: পর্ব ০৫পর্ব ২০পর্ব ৫৪
- Name manglingনেম ম্যাংলিং
- class-এর ভেতরে দুটি আন্ডারস্কোর দিয়ে শুরু নাম (__pin) Python নিজে বদলে _ClassName__pin করে দেয়। উদ্দেশ্য subclass-এর সাথে নামের সংঘর্ষ এড়ানো, সত্যিকারের গোপনীয়তা নয়।যেখানে শিখবেন: পর্ব ২৯পর্ব ৫৪
- __name__ডান্ডার নেম
- প্রতিটি module-এ Python নিজে বসানো একটি ভ্যারিয়েবল: ফাইল সরাসরি চালালে এর মান "__main__", আর import করলে মান হয় module-এর নিজের নাম, যেমন "grading".যেখানে শিখবেন: পর্ব ২২
- Named groupনেমড গ্রুপ
- (?P<name>...) — নাম দেওয়া capturing group. m["name"] বা m.groupdict() দিয়ে নাম ধরে মান পাওয়া যায়, তাই প্যাটার্নে নতুন বন্ধনী যোগ হলেও কোড ভাঙে না।যেখানে শিখবেন: পর্ব ২৮
- namedtupleনেমডটাপল
- collections module-এর একটি ফাংশন, যা ঘরের নামসহ নতুন একটি tuple-type বানায়; তখন p[1]-এর পাশাপাশি p.lat লিখেও পড়া যায়। Python 2.6 থেকে আছে।যেখানে শিখবেন: পর্ব ১৫পর্ব ২৭পর্ব ৫৩
- NameErrorনেম এরর
- এমন একটি নাম ব্যবহার করা, যা Python চেনে না — সাধারণত বানান ভুল বা কোট বাদ পড়ায়। লাইনটি চালানোর সময় ধরা পড়ে, তাই আগের লাইনগুলো চলে যায়।যেখানে শিখবেন: পর্ব ০৪পর্ব ৫২
- Namespaceনেমস্পেস
- নাম আর object-এর জোড়া রাখার একটি খাতা — যেমন একটি ফাংশন ডাকের local নামগুলো, একটি module-এর global নামগুলো, বা builtins. একই নাম আলাদা namespace-এ আলাদা জিনিস বোঝাতে পারে।যেখানে শিখবেন: পর্ব ২০পর্ব ২২পর্ব ২৯
- Namespace (argparse)নেমস্পেস
- argparse-এর parse_args() যে object ফেরত দেয়। প্রতিটি আর্গুমেন্টের মান এর একটি attribute — যেমন args.folder, args.dry_run.যেখানে শিখবেন: পর্ব ৪৯
- Namespace packageনেমস্পেস প্যাকেজ
- __init__.py ছাড়া ফোল্ডার দিয়ে তৈরি package (PEP 420, Python 3.3 থেকে)। একই নামের অনেক ফোল্ডার, এমনকি আলাদাভাবে install করা অংশ মিলে একটি package হতে পারে। নিজের সাধারণ project-এ __init__.py রাখাই ভালো।যেখানে শিখবেন: পর্ব ২২
- NaNন্যান
- Not a Number — অর্থহীন হিসাবের ফল বোঝানো float-এর বিশেষ মান, যেমন inf - inf. nan নিজের সমানও নয়, তাই খুঁজতে math.isnan() লাগে; pandas-এ ফাঁকা ঘর বোঝাতেও NaN ব্যবহার হয়, খোঁজা হয় isna() দিয়ে।যেখানে শিখবেন: পর্ব ০৭পর্ব ৪৬
- ndarrayএন-ডি-অ্যারে
- NumPy-র মূল ধরন: একই dtype-এর অনেক মান মেমরিতে পাশাপাশি রাখা একটি n-মাত্রার array. Python list-এর মতো প্রতিটি উপাদান আলাদা object নয়।যেখানে শিখবেন: পর্ব ৪৬
- Negative indexনেগেটিভ ইনডেক্স
- শেষ থেকে গোনার index: s[-1] শেষ উপাদান, s[-2] তার আগেরটি। শেষের অংশ নিতে খুব সুবিধাজনক।যেখানে শিখবেন: পর্ব ০৯পর্ব ১৪পর্ব ১৫
- Negative markingনেগেটিভ মার্কিং
- ভুল উত্তরের জন্য নম্বর কেটে নেওয়ার নিয়ম। এমন পরীক্ষায় আন্দাজ করার আগে প্রত্যাশিত লাভ-ক্ষতি হিসাব করতে হয়।যেখানে শিখবেন: পর্ব ৫৩
- Nested dictionaryনেস্টেড ডিকশনারি
- এমন dict, যার মান নিজেই আরেকটি dict; JSON-এর মতো রেকর্ড রাখতে ব্যবহৃত হয়, পড়া হয় d[a][b] রূপে।যেখানে শিখবেন: পর্ব ১৬পর্ব ২৬
- Nested function (inner function)নেস্টেড ফাংশন
- আরেকটি ফাংশনের body-র ভেতরে def দিয়ে লেখা ফাংশন। বাইরের ফাংশন চলার সময় এটি তৈরি হয়, আর বাইরের ফাংশনের নাম পড়তে পারে, অর্থাৎ Enclosing scope দেখতে পায়।যেখানে শিখবেন: পর্ব ২০
- Nested ifনেস্টেড ইফ
- একটি if-এর block-এর ভেতরে আরেকটি if; স্তর বেশি হলে কোড পড়া কঠিন হয়।যেখানে শিখবেন: পর্ব ১১
- Nested listনেস্টেড লিস্ট
- এমন list যার ঘরে আরেকটি list থাকে, যেমন [[72, 65], [88, 91]]. টেবিল বা গ্রিড বোঝাতে ব্যবহার হয়; table[1][0] মানে সারি ১-এর ঘর ০.যেখানে শিখবেন: পর্ব ১৪পর্ব ১৯
- Nested loopনেস্টেড লুপ
- একটি লুপের body-র ভেতরে আরেকটি লুপ। বাইরের প্রতিটি ঘোরায় ভেতরেরটি পুরোটা ঘোরে, তাই মোট ঘোরা হয় দুই সংখ্যার গুণফল।যেখানে শিখবেন: পর্ব ১২পর্ব ১৮পর্ব ৪৩
- Nested unpackingনেস্টেড আনপ্যাকিং
- ভেতরে ভেতরে থাকা tuple বা list একই আকারের বন্ধনী দিয়ে একবারে খোলা, যেমন city, (lat, lon) = ("সিলেট", (24.89, 91.87)).যেখানে শিখবেন: পর্ব ১৫
- Newlineনিউলাইন
- নতুন লাইন শুরু করার অদৃশ্য অক্ষর, string-এ লেখা হয় \n দিয়ে। print নিজে থেকে প্রতিবার শেষে একটি newline দেয়।যেখানে শিখবেন: পর্ব ০৪পর্ব ০৯পর্ব ২৫
- Newline translationনিউলাইন ট্রান্সলেশন
- text mode-এ Python-এর লাইন-শেষ চিহ্ন বদলে দেওয়া: পড়ার সময় \r\n বা \r-কে \n, আর Windows-এ লেখার সময় \n-কে \r\n করা। open()-এ newline="" দিলে এই অনুবাদ বন্ধ থাকে, যা csv module-এর জন্য দরকার।যেখানে শিখবেন: পর্ব ২৬
- Nominal typingনমিনাল টাইপিং
- type-এর সামঞ্জস্য ঠিক হয় ঘোষিত নাম ও inheritance দেখে; একই method থাকলেও inherit না করলে মেলে না।যেখানে শিখবেন: পর্ব ৩৩পর্ব ৫৪
- Non-blocking I/Oনন-ব্লকিং আই-ও
- এমন I/O, যেখানে ডেটা না থাকলে অপেক্ষা না করে সাথে সাথে ফেরত আসে; অপারেটিং সিস্টেম (epoll, kqueue) পরে জানায় কখন ডেটা প্রস্তুত।যেখানে শিখবেন: পর্ব ৪২
- Non-capturing groupনন-ক্যাপচারিং গ্রুপ
- (?:...) — কয়েকটি অংশকে একসাথে বাঁধে, যাতে quantifier বা | পুরোটার ওপর কাজ করে, কিন্তু মেলা লেখা আলাদা group হিসেবে মনে রাখে না।যেখানে শিখবেন: পর্ব ২৮
- Non-data descriptorনন-ডেটা ডেসক্রিপ্টর
- যে descriptor-এর শুধু __get__ আছে, যেমন সাধারণ ফাংশন বা cached_property. instance-এর __dict__-এ একই নামে মান থাকলে সেটিই জেতে।যেখানে শিখবেন: পর্ব ৩২
- Noneনান
- “এখনো কোনো মান নেই” বোঝানোর বিশেষ object, যার type NoneType. পুরো প্রোগ্রামে এটি একটিই, তাই যাচাই করা হয় x is None দিয়ে।যেখানে শিখবেন: পর্ব ০৬পর্ব ০৮পর্ব ১১
- nonlocalননলোকাল
- Python 3-এর কিওয়ার্ড: nested ফাংশনের ভেতরে nonlocal x লিখলে x-এ assignment যায় নিকটতম ঘিরে রাখা ফাংশনের x-এ, নতুন local তৈরি হয় না। closure দিয়ে counter-এর মতো অবস্থা রাখতে লাগে।যেখানে শিখবেন: পর্ব ২০পর্ব ৫২পর্ব ৫৪
- noqaনো-কিউএ
- কোনো লাইনের শেষে # noqa: F401-এর মতো comment, যা linter-কে বলে ওই লাইনে নির্দিষ্ট নিয়মটি ইচ্ছা করেই ভাঙা হয়েছে, তাই সতর্কবার্তার দরকার নেই।যেখানে শিখবেন: পর্ব ৪৪
- NotImplementedনট ইমপ্লিমেন্টেড
- একটি বিশেষ built-in মান, যা binary dunder method অচেনা type পেলে return করে। এর মানে “আমি জানি না, অন্য পক্ষকে চেষ্টা করো”; দুজনেই এটি দিলে Python TypeError তোলে।যেখানে শিখবেন: পর্ব ৩০পর্ব ৫৪
O
- OAuth2ও-অথ টু
- অনুমতি দেওয়ার একটি মানক প্রোটোকল, যাতে password না দিয়ে token দিয়ে একটি অ্যাপ ব্যবহারকারীর হয়ে অন্য সার্ভিসে কাজ করতে পারে; লগইন ব্যবস্থায় বহুল ব্যবহৃত।যেখানে শিখবেন: পর্ব ৪৮
- Objectঅবজেক্ট
- মেমরিতে থাকা একটি মান, যার একটি type, একটি identity আর একটি value আছে। Python-এ সংখ্যা, string, ফাংশন, class — সবই object.যেখানে শিখবেন: পর্ব ০৫পর্ব ০৬পর্ব ০৭
- Object-oriented programming (OOP)অবজেক্ট-ওরিয়েন্টেড প্রোগ্রামিং
- প্রোগ্রামকে এমন object-এর মেলামেশা হিসেবে সাজানোর পদ্ধতি, যাদের প্রত্যেকের নিজের ডেটা ও আচরণ আছে। শিকড় Simula 67 আর Smalltalk-এ।যেখানে শিখবেন: পর্ব ২৯
- Off-by-one errorঅফ-বাই-ওয়ান এরর
- সীমা এক ঘর এদিক-ওদিক হওয়ার ভুল — যেমন < আর <= গুলিয়ে ফেলা, ফলে লুপ একবার কম বা বেশি চলে বা শেষ উপাদান বাদ পড়ে।যেখানে শিখবেন: পর্ব ০২পর্ব ১২পর্ব ৩৪
- Online judgeঅনলাইন জাজ
- যে ওয়েবসাইট আপনার জমা দেওয়া কোড গোপন টেস্ট ইনপুটে চালিয়ে আউটপুট, সময় আর মেমরি যাচাই করে ফল জানায় — যেমন Accepted, Wrong Answer বা TLE.যেখানে শিখবেন: পর্ব ৪৫পর্ব ৫৫
- Opcodeঅপকোড
- একটি bytecode নির্দেশের নাম, যেমন LOAD_NAME বা BINARY_OP. নামগুলো Python version অনুযায়ী বদলায়।যেখানে শিখবেন: পর্ব ০৫
- Open addressingওপেন অ্যাড্রেসিং
- collision সামলানোর একটি পদ্ধতি: ঘর ভরা থাকলে একটি নির্দিষ্ট সূত্র ধরে টেবিলেরই অন্য ঘরে জায়গা খোঁজা। CPython-এর dict এই পদ্ধতি ব্যবহার করে।যেখানে শিখবেন: পর্ব ১৬
- OpenAPIওপেন-এপিআই
- HTTP API বর্ণনা করার একটি মানক (আগের নাম Swagger specification); FastAPI এটি /openapi.json-এ নিজেই তৈরি করে।যেখানে শিখবেন: পর্ব ৪৮
- openpyxlওপেন-পাই-এক্সেল
- Excel-এর .xlsx ফাইল পড়া-লেখার জনপ্রিয় তৃতীয় পক্ষের Python লাইব্রেরি — শিট, সেল, সূত্র আর ফরম্যাটিং নিয়ে কাজ করে। pip দিয়ে আলাদা ইনস্টল করতে হয়।যেখানে শিখবেন: পর্ব ৪৯
- Operandঅপারেন্ড
- যে মান বা object নিয়ে operator কাজ করে। age < 5-এ age আর 5 হলো দুটি operand.যেখানে শিখবেন: পর্ব ০৮পর্ব ৫২
- Operatorঅপারেটর
- যে চিহ্ন এক বা একাধিক মানের ওপর কোনো কাজ করে, যেমন যোগের +, ভাগের / বা তুলনার ==.যেখানে শিখবেন: পর্ব ০৭পর্ব ০৮
- operator moduleঅপারেটর মডিউল
- standard library-র module, যেখানে +, *, [] বা . এর মতো কাজগুলো সাধারণ ফাংশন হিসেবে আছে — add, mul, itemgetter, attrgetter. lambda-র বদলে পাঠানো যায়।যেখানে শিখবেন: পর্ব ৩৮
- Operator overloadingঅপারেটর ওভারলোডিং
- নিজের class-এ +, -, *, ==, <-এর মতো operator-এর অর্থ দেওয়া। Python-এ এটি dunder method (যেমন __add__) লিখে করা হয়; অর্থ স্বতঃস্পষ্ট হলেই উচিত।যেখানে শিখবেন: পর্ব ৩০
- Operator precedenceঅপারেটর প্রিসিডেন্স
- একটি expression-এ একাধিক অপারেটর থাকলে কোনটি আগে হিসাব হবে তার নিয়ম। যেমন ** আগে, তারপর * /, তারপর + -; বন্ধনী সবার আগে।যেখানে শিখবেন: পর্ব ০৭পর্ব ০৮
- operator.attrgetter()অ্যাট্রগেটার
- এমন একটি callable বানায়, যা object থেকে নির্দিষ্ট attribute পড়ে। attrgetter("price") প্রায় lambda p: p.price-এর সমান; sort-এর key হিসেবে প্রচলিত।যেখানে শিখবেন: পর্ব ৩৮
- operator.itemgetter()আইটেমগেটার
- এমন একটি callable বানায়, যা কোনো জিনিস থেকে নির্দিষ্ট index বা key-র মান বের করে। itemgetter(1) প্রায় lambda r: r[1]-এর সমান, আর কয়েকটি index দিলে tuple দেয়।যেখানে শিখবেন: পর্ব ৩৮
- Optional argumentঅপশনাল আর্গুমেন্ট
- -- বা - দিয়ে শুরু হওয়া কমান্ড-লাইন আর্গুমেন্ট, যেমন --prefix biye. যেকোনো ক্রমে দেওয়া যায়, আর না দিলে default মান বসে।যেখানে শিখবেন: পর্ব ৪৯
- OR patternঅর প্যাটার্ন
- | দিয়ে জোড়া কয়েকটি বিকল্প pattern; যেকোনো একটি মিললেই case মেলে।যেখানে শিখবেন: পর্ব ১১
- OrderedDictঅর্ডারড ডিক্ট
- ক্রম মনে রাখা dict, Python 3.7-এর আগে খুব প্রচলিত ছিল। এখন সাধারণ dict-ও ক্রম রাখে; OrderedDict-এর বাড়তি সুবিধা move_to_end আর ক্রমসহ তুলনা।যেখানে শিখবেন: পর্ব ২৭পর্ব ৫৫
- ORMও-আর-এম
- Object-Relational Mapping — ডেটাবেসের টেবিলকে Python class আর সারিকে object হিসেবে ব্যবহার করার পদ্ধতি, যাতে সরাসরি SQL লিখতে না হয়।যেখানে শিখবেন: পর্ব ৪৮
- os.pathও-এস ডট পাথ
- path-কে সাধারণ string ধরে কাজ করার পুরোনো module — os.path.join, os.path.exists ইত্যাদি। পুরোনো কোডে প্রচুর দেখা যায়; নতুন কোডে pathlib পছন্দনীয়।যেখানে শিখবেন: পর্ব ২৫
- OSErrorও-এস এরর
- অপারেটিং সিস্টেমের কাজে (ফাইল, ফোল্ডার, নেটওয়ার্ক) ব্যর্থতার পরিবার। FileNotFoundError, PermissionError ইত্যাদি এর সন্তান।যেখানে শিখবেন: পর্ব ২৪
- OSErrorও-এস এরর
- অপারেটিং সিস্টেম-সংক্রান্ত সব error-এর মূল class. FileNotFoundError, PermissionError, FileExistsError, IsADirectoryError — সবাই এর সন্তান।যেখানে শিখবেন: পর্ব ২৫
- OTP (One-Time Password)ওটিপি
- একবার ব্যবহারের জন্য পাঠানো ছোট কোড, সাধারণত ৪–৬ অঙ্কের, যা অল্প সময় পরে বাতিল হয়। অনুমান করা যাবে না এমনভাবে বানাতে হয়।যেখানে শিখবেন: পর্ব ২৭
- Outputআউটপুট
- প্রোগ্রাম বা অ্যালগরিদম কাজ শেষে যে ফল দেয় — স্ক্রিনে ছাপা লেখা, ফেরত দেওয়া মান বা ফাইল।যেখানে শিখবেন: পর্ব ০২পর্ব ১০
- Overflowওভারফ্লো
- কোনো সংখ্যা তার type-এর ধারণক্ষমতার চেয়ে বড় হয়ে যাওয়া। C-র int-এ এটি ঘটে; Python-এর int-এ ঘটে না, তবে float সীমা পার হলে inf হয়ে যায়।যেখানে শিখবেন: পর্ব ০৭পর্ব ৪৫
- Overrideওভাররাইড
- subclass-এ base class-এর একই নামের method নতুন করে লেখা। খোঁজার সময় subclass-এরটি আগে পাওয়া যায়, তাই সেটিই চলে।যেখানে শিখবেন: পর্ব ৩১
- OWASPওয়াস্প
- Open Worldwide Application Security Project — ২০০১ সালে শুরু হওয়া উন্মুক্ত সংগঠন, যা ওয়েব অ্যাপের সাধারণ ঝুঁকির তালিকা OWASP Top 10 আর নিরাপদ কোডিংয়ের নির্দেশিকা প্রকাশ করে।যেখানে শিখবেন: পর্ব ৫০
P
- Packageপ্যাকেজ
- module-এর একটি ফোল্ডার (সাধারণত __init__.py-সহ), যার ভেতরের module-এর নাম ডট দিয়ে লেখা হয়, যেমন shop.pricing. pip দিয়ে আনা pandas বা requests-এর ভেতরেও এমন package থাকে।যেখানে শিখবেন: পর্ব ০১পর্ব ০৩পর্ব ২২
- Packingপ্যাকিং
- কমা দিয়ে লেখা কয়েকটি মানকে একটি tuple-এ ভরে ফেলা, যেমন t = 1, 2, 3 বা return a, b. এর উল্টো কাজ unpacking.যেখানে শিখবেন: পর্ব ১৫
- Paginationপ্যাজিনেশন
- বড় ফলাফল একবারে না পাঠিয়ে পাতায় পাতায় পাঠানোর ব্যবস্থা — পাতা নম্বর, offset বা cursor/next লিংক দিয়ে।যেখানে শিখবেন: পর্ব ৪৭
- Pair programmingপেয়ার প্রোগ্রামিং
- দুজন মিলে একটি কোড লেখা — একজন লেখেন, অন্যজন পর্যালোচনা করেন ও দিক দেখান; এখন AI-কে সঙ্গী হিসেবেও এভাবে ব্যবহার করা হয়।যেখানে শিখবেন: পর্ব ২১পর্ব ৫১
- pandasপান্ডাস
- টেবিল আকারের ডেটা বিশ্লেষণের জনপ্রিয় বাইরের Python লাইব্রেরি; pd.read_csv এক লাইনে বড় CSV পড়ে কলামের ধরন অনুমান করে। pip দিয়ে install করতে হয়।যেখানে শিখবেন: পর্ব ২৬পর্ব ৪৬পর্ব ৪৯
- Parallelismপ্যারালেলিজম
- অনেক কাজ একই মুহূর্তে সত্যিই একসাথে চলা, সাধারণত একাধিক CPU core-এ; asyncio এটা দেয় না, process বা free-threaded thread দেয়।যেখানে শিখবেন: পর্ব ৪১পর্ব ৪২
- Parameterপ্যারামিটার
- ফাংশনের সংজ্ঞায় বন্ধনীর ভেতরে লেখা নাম, যেমন def add_vat(price, rate)-এর price আর rate. ডাকার সময় এই নামগুলো পাঠানো argument-এর সাথে যুক্ত হয়।যেখানে শিখবেন: পর্ব ১৩পর্ব ১৯
- Parameterized queryপ্যারামিটারাইজড কোয়েরি
- SQL লেখায় মান সরাসরি না জুড়ে ? চিহ্নের জায়গায় আলাদা করে পাঠানো। এতে SQL injection ঠেকে আর ধরন ঠিকমতো সামলানো হয়।যেখানে শিখবেন: পর্ব ২৭পর্ব ৪৮পর্ব ৫০
- parametrizeপ্যারামেট্রাইজ
- @pytest.mark.parametrize দিয়ে একটি টেস্ট ফাংশনকে অনেকগুলো ইনপুট-প্রত্যাশা জোড়ায় চালানো; প্রতিটি জোড়া আলাদা টেস্ট হিসেবে গোনা হয়।যেখানে শিখবেন: পর্ব ৩৯পর্ব ৫৪
- Parserপার্সার
- Token-গুলো ব্যাকরণ মেনে সাজিয়ে AST নামের গাছ বানায় এমন অংশ। ব্যাকরণ ভুল হলে এখানেই SyntaxError আসে।যেখানে শিখবেন: পর্ব ০৫
- PascalCaseপ্যাসকেল কেস
- প্রতিটি শব্দের প্রথম অক্ষর বড় হাতের, মাঝে কোনো চিহ্ন নেই — যেমন BankAccount; PEP 8-এ class আর exception-এর নামের ধাঁচ (CapWords নামেও পরিচিত)।যেখানে শিখবেন: পর্ব ৪৪
- passপাস
- কিছুই না করা একটি statement; ফাঁকা রাখা যায় না এমন block-এ জায়গা ধরে রাখতে ব্যবহার হয়।যেখানে শিখবেন: পর্ব ১১
- patch (unittest.mock)প্যাচ
- টেস্টের সময় একটি module-এর একটি নাম সাময়িক mock দিয়ে বদলে দেয়; বদলাতে হয় যেখানে নামটি খোঁজা হয়, সেখানে।যেখানে শিখবেন: পর্ব ৩৯
- Pathপাথ
- ফোল্ডার আর ফাইলের নাম জুড়ে একটি ফাইলের ঠিকানা, যেমন data/sales.txt. pathlib-এ এটি একটি Path object.যেখানে শিখবেন: পর্ব ২৫
- PATH (environment variable)পাথ
- ফোল্ডারের একটি তালিকা, যেখানে shell ক্রমানুসারে প্রোগ্রাম খোঁজে। প্রথম মিলে যাওয়া প্রোগ্রামটিই চলে।যেখানে শিখবেন: পর্ব ০৩পর্ব ২৩
- Path parameterপাথ প্যারামিটার
- URL-এর path-এর পরিবর্তনশীল অংশ, যেমন /products/{product_id}-এর product_id; সাধারণত একটি নির্দিষ্ট resource চিহ্নিত করে।যেখানে শিখবেন: পর্ব ৪৮
- Path traversalপাথ ট্রাভার্সাল
- ../ বা absolute path ব্যবহার করে অনুমোদিত ফোল্ডারের বাইরের ফাইল পড়া বা লেখার আক্রমণ। প্রতিরোধ: path resolve() করে যাচাই করা যে সেটি অনুমোদিত ফোল্ডারের ভেতরেই আছে।যেখানে শিখবেন: পর্ব ২৫পর্ব ৫০পর্ব ৫৪
- pathlibপাথলিব
- Python 3.4 থেকে standard library-র module, যেখানে path একটি object: / দিয়ে জোড়া, .name, .suffix, .exists(), .read_text() ইত্যাদি method. path নিয়ে কাজের আধুনিক উপায়।যেখানে শিখবেন: পর্ব ২৫পর্ব ৪৪পর্ব ৪৯
- Pattern recognitionপ্যাটার্ন রিকগনিশন
- নতুন সমস্যার সাথে আগে সমাধান করা সমস্যার মিল খুঁজে বের করা, যাতে একই পদ্ধতি আবার ব্যবহার করা যায়।যেখানে শিখবেন: পর্ব ০২
- pdbপি-ডি-বি
- Python-এর standard library-র নিজস্ব টার্মিনাল-ভিত্তিক debugger. breakpoint() বা python -m pdb দিয়ে চালু হয়, আর n, s, c, p, w-এর মতো ছোট কমান্ডে চলে।যেখানে শিখবেন: পর্ব ৪০
- PEPপেপ
- Python Enhancement Proposal — Python-এ নতুন বৈশিষ্ট্য বা নিয়ম প্রস্তাবের লিখিত নথি। যেমন PEP 8 হলো স্টাইল-গাইড।যেখানে শিখবেন: পর্ব ০১
- PEP 257পেপ টু-ফাইভ-সেভেন
- Python-এ docstring লেখার নিয়মের PEP: তিনটি ডাবল কোট, প্রথম লাইনে এক বাক্যের সারাংশ, দরকার হলে ফাঁকা লাইনের পরে বিস্তারিত।যেখানে শিখবেন: পর্ব ৪৪
- PEP 8পেপ এইট
- Python কোড লেখার অফিসিয়াল স্টাইল গাইড: নাম রাখা, indentation, লাইনের দৈর্ঘ্য ইত্যাদির নিয়ম, যাতে সবার কোড একই রকম পড়তে সহজ হয়।যেখানে শিখবেন: পর্ব ০৬পর্ব ০৮পর্ব ৩৮
- Percent-encodingপার্সেন্ট এনকোডিং
- URL-এ সরাসরি বসানো যায় না এমন অক্ষর (ফাঁকা জায়গা, &, বাংলা) % আর hex সংখ্যা দিয়ে লেখার নিয়ম; urlencode বা requests-এর params= এটি নিজেই করে।যেখানে শিখবেন: পর্ব ৪৭
- PermissionErrorপারমিশন এরর
- ফাইল বা ফোল্ডারে কাজ করার অনুমতি না থাকলে যে exception ওঠে। Windows-এ অন্য প্রোগ্রাম (যেমন Excel) ফাইলটি খুলে রাখলেও এটি আসতে পারে।যেখানে শিখবেন: পর্ব ২৫
- Permutationপারমুটেশন
- নির্দিষ্ট সংখ্যক জিনিসের সাজানো বাছাই, যেখানে ক্রম গুরুত্বপূর্ণ। ৪ জন থেকে প্রথম ও দ্বিতীয় ১২ভাবে; Python-এ itertools.permutations.যেখানে শিখবেন: পর্ব ৩৮
- Persistenceপারসিস্টেন্স
- ডেটাকে প্রোগ্রামের আয়ুর বাইরেও টিকিয়ে রাখা — ফাইল বা ডেটাবেসে লিখে, যাতে প্রোগ্রাম বন্ধ হলে বা বিদ্যুৎ গেলেও হারিয়ে না যায়।যেখানে শিখবেন: পর্ব ২৫
- Personal dataপার্সোনাল ডেটা
- যে তথ্য দিয়ে একজন নির্দিষ্ট মানুষকে চেনা যায় — নাম, ফোন নম্বর, NID, ঠিকানা, রোলের সাথে নম্বর ইত্যাদি। এমন ডেটা প্রকাশ বা ভাগ করতে অনুমতি ও সাবধানতা লাগে।যেখানে শিখবেন: পর্ব ৪৬
- pickleপিকল
- Python-এর standard library-র একটি module, যা প্রায় যেকোনো Python object-কে byte-এ বদলে আবার ফেরাতে পারে। খোলার সময় যেকোনো function ডাকা যায় বলে অবিশ্বস্ত ডেটায় কখনো ব্যবহার করা উচিত নয়।যেখানে শিখবেন: পর্ব ২৬পর্ব ৪১পর্ব ৫০
- Pinning (version pinning)পিনিং
- dependency-র version হুবহু বেঁধে দেওয়া (যেমন requests==2.32.3), যাতে আজ আর ছয় মাস পরে, আপনার আর সহকর্মীর কম্পিউটারে একই কোড ইনস্টল হয়।যেখানে শিখবেন: পর্ব ২৩পর্ব ৫০
- pipপিপ
- Python-এর package ইনস্টলার। pip install pandas লিখলে PyPI থেকে pandas নামিয়ে ইনস্টল করে।যেখানে শিখবেন: পর্ব ০১পর্ব ০৩পর্ব ২৩
- pip-auditপিপ-অডিট
- PyPA-র একটি আলাদা টুল (pip install pip-audit), যা আপনার ইনস্টল করা package বা requirements.txt মিলিয়ে দেখে কোনটিতে জানা নিরাপত্তা-ত্রুটি আছে, আর কোন version-এ তা ঠিক হয়েছে।যেখানে শিখবেন: পর্ব ২৩পর্ব ৫০
- pipelineপাইপলাইন
- কয়েকটি ধাপ জুড়ে তৈরি প্রক্রিয়া, যেখানে এক ধাপের আউটপুট পরের ধাপের ইনপুট। generator pipeline-এ ডেটা একটি একটি করে সব ধাপ পার হয়, তাই মেমরি স্থির থাকে।যেখানে শিখবেন: পর্ব ৩৪পর্ব ৫৫
- pipxপিপ-এক্স
- terminal থেকে চালানোর Python টুল (যেমন black, httpie) ইনস্টলের টুল। প্রতিটি টুলকে আলাদা virtual environment-এ রাখে, কিন্তু কমান্ডটি সব জায়গা থেকে চালানো যায়।যেখানে শিখবেন: পর্ব ২৩পর্ব ৪৯
- Poetryপোয়েট্রি
- ২০১৮ সালে আসা Python প্রজেক্ট-ম্যানেজার: dependency যোগ, resolve, poetry.lock লেখা আর package প্রকাশ — এক টুলে। PDM একই ধরনের আরেকটি টুল।যেখানে শিখবেন: পর্ব ২৩
- Polymorphismপলিমরফিজম
- একই কোড বা একই method-এর ডাক ভিন্ন ভিন্ন class-এর object-এর সাথে চলা, আর প্রত্যেকে নিজের মতো করে কাজটি করা।যেখানে শিখবেন: পর্ব ৩১পর্ব ৩৩পর্ব ৫৪
- Positional argumentপজিশনাল আর্গুমেন্ট
- ক্রম ধরে চেনা argument — ফাংশনের ডাকে প্রথম মান প্রথম parameter-এ যায়, আর keyword argument-এর আগে বসে; কমান্ড-লাইনে - ছাড়া লেখা শব্দ, যেমন photos, যা ডিফল্টে বাধ্যতামূলক।যেখানে শিখবেন: পর্ব ১৩পর্ব ৪৯
- Positional-only parameterপজিশনাল-অনলি প্যারামিটার
- সংজ্ঞায় / চিহ্নের আগে লেখা parameter, যাকে নাম ধরে পাঠানো যায় না, শুধু ক্রম ধরে। Python 3.8 (PEP 570) থেকে আছে।যেখানে শিখবেন: পর্ব ১৩
- Post-mortem debuggingপোস্ট-মর্টেম ডিবাগিং
- প্রোগ্রাম ক্র্যাশ করার ঠিক মুহূর্তের অবস্থায় debugger খুলে ভ্যারিয়েবল ও stack পরীক্ষা করা। Python-এ python -m pdb script.py বা ক্র্যাশের পরে pdb.pm().যেখানে শিখবেন: পর্ব ৪০
- __post_init__পোস্ট ইনিট
- dataclass-এ লেখা একটি method, যা তৈরি হওয়া __init__ সব field বসানোর পর নিজে ডাকে। যাচাই আর হিসাব করা field বসানোর জায়গা।যেখানে শিখবেন: পর্ব ৩২পর্ব ৫১
- pre-commitপ্রি-কমিট
- git hook সহজে সাজানোর টুল: .pre-commit-config.yaml-এ লেখা ruff-এর মতো টুল প্রতিটি commit-এর আগে চলে, সমস্যা থাকলে commit আটকায়।যেখানে শিখবেন: পর্ব ৪৪
- Preemptive multitaskingপ্রিএম্পটিভ মাল্টিটাস্কিং
- যে ব্যবস্থায় অপারেটিং সিস্টেম যেকোনো মুহূর্তে একটি কাজ থামিয়ে অন্যটি চালাতে পারে; thread আর process এভাবে চলে।যেখানে শিখবেন: পর্ব ৪২
- Prefix sumপ্রিফিক্স সাম
- একটি সারির শুরু থেকে প্রতিটি ঘর পর্যন্ত চলমান যোগফলের তালিকা। একবার O(n)-এ বানালে যেকোনো পরিসরের যোগফল একটি বিয়োগে, O(1)-এ পাওয়া যায়।যেখানে শিখবেন: পর্ব ৪৫
- Premature optimizationপ্রিম্যাচিওর অপটিমাইজেশন
- না মেপে, প্রয়োজনের আগেই কোড দ্রুত করার চেষ্টা — যা সাধারণত কোড জটিল করে কিন্তু আসল ধীর জায়গায় হাতই দেয় না। Donald Knuth-এর ১৯৭৪ সালের বিখ্যাত সতর্কবাণী।যেখানে শিখবেন: পর্ব ৪৩
- Pretty printপ্রিটি প্রিন্ট
- ডেটাকে মানুষের চোখে পড়ার মতো করে সাজিয়ে লেখা — প্রতিটি স্তর নতুন লাইনে, ফাঁকা জায়গা দিয়ে সরানো। json.dumps-এ indent=2 দিলে এমন হয়।যেখানে শিখবেন: পর্ব ২৬
- Principle of least privilegeলিস্ট প্রিভিলেজ
- প্রতিটি প্রোগ্রাম, অ্যাকাউন্ট বা key-কে তার কাজের জন্য যতটুকু দরকার ঠিক ততটুকু অধিকার দেওয়ার নীতি, যাতে ভুল হলেও ক্ষতি ছোট থাকে।যেখানে শিখবেন: পর্ব ৫০
- Print debuggingপ্রিন্ট ডিবাগিং
- কোডের মাঝে print বসিয়ে ভ্যারিয়েবলের মান দেখে প্রোগ্রামের ভেতরের অবস্থা বোঝা। Python-এ f"{x=}" লিখলে নাম ও repr মান একসাথে দেখা যায়; কাজ শেষে এগুলো মুছতে হয়।যেখানে শিখবেন: পর্ব ৪০
- Priority queueপ্রায়োরিটি কিউ
- যে সারিতে আগে আসা নয়, সবচেয়ে গুরুত্বপূর্ণ (যেমন সবচেয়ে ছোট মানের) জিনিস আগে বের হয়, হাসপাতালের জরুরি বিভাগের মতো। Python-এ heapq দিয়ে বানানো হয়।যেখানে শিখবেন: পর্ব ৪৫
- Private name (_name)প্রাইভেট নেম
- underscore দিয়ে শুরু নাম, যেমন _cache — রীতি অনুযায়ী module-এর ভেতরের ব্যবহারের জন্য। Python আটকায় না, বাইরে থেকে দেখা যায়; শুধু star import এগুলো আনে না।যেখানে শিখবেন: পর্ব ২২পর্ব ২৯পর্ব ৩২
- Processপ্রসেস
- operating system-এ চলমান একটি প্রোগ্রাম, যার নিজস্ব মেমরি আছে। প্রতিটি Python process-এর নিজস্ব interpreter আর GIL থাকে।যেখানে শিখবেন: পর্ব ৪১
- ProcessPoolExecutorপ্রসেস পুল এক্সিকিউটর
- concurrent.futures-এর executor, যা কাজগুলো কয়েকটি worker process-এ ভাগ করে; argument আর ফল pickle হয়ে যাতায়াত করে।যেখানে শিখবেন: পর্ব ৪১
- Producer–consumerপ্রডিউসার-কনজিউমার
- নকশা যেখানে একদল কাজ তৈরি করে একটি queue-তে রাখে আর আরেকদল সেখান থেকে তুলে সারে; দুই পক্ষ নিজের গতিতে চলতে পারে।যেখানে শিখবেন: পর্ব ৪১পর্ব ৪২
- Profilerপ্রোফাইলার
- যে টুল প্রোগ্রাম চলার সময় মাপে কোন ফাংশন কতবার ডাকা হলো আর কোথায় কত সময় গেল — ধীর জায়গা খুঁজে বের করার জন্য। Python-এ সাথেই আসে cProfile.যেখানে শিখবেন: পর্ব ৪৩পর্ব ৫৪
- Programপ্রোগ্রাম
- কম্পিউটারের জন্য লেখা নির্দেশের তালিকা, যা নির্দিষ্ট ক্রমে চালানো হয়। Python-এ সাধারণত একটি .py ফাইলই একটি প্রোগ্রাম।যেখানে শিখবেন: পর্ব ০৪
- Propagation (logging)প্রোপাগেশন
- একটি logger-এ লেখা বার্তা বংশতালিকা ধরে বাবা-দাদা logger-এর handler-গুলোতে পৌঁছানো। পথে পূর্বপুরুষ logger-এর level দেখা হয় না, handler-এর level দেখা হয়; propagate = False দিলে থামে।যেখানে শিখবেন: পর্ব ৪০
- Property (@property)প্রপার্টি
- এমন attribute, যা পড়লে-লিখলে আসলে একটি method চলে। @property দিয়ে getter, @x.setter দিয়ে setter যোগ হয়; ডাকার কোড সাধারণ attribute-এর মতোই থাকে।যেখানে শিখবেন: পর্ব ৩২পর্ব ৩৩পর্ব ৪৪
- Property-based testingপ্রপার্টি-বেসড টেস্টিং
- নির্দিষ্ট কেসের বদলে একটি সাধারণ নিয়ম লেখা, আর লাইব্রেরি (Python-এ hypothesis) শত শত ইনপুট বানিয়ে নিয়মটি ভাঙার চেষ্টা করে।যেখানে শিখবেন: পর্ব ৩৯
- Protocol (typing.Protocol)প্রোটোকল
- Python 3.8 থেকে আসা structural চুক্তি: যে class-এ ঠিক method আছে সে-ই মিলে যায়, inheritance লাগে না; যাচাই করে type checker.যেখানে শিখবেন: পর্ব ৩০পর্ব ৩৩পর্ব ৩৭
- Pseudo-random number generatorসিউডো-র্যান্ডম নাম্বার জেনারেটর
- গাণিতিক সূত্রে এলোমেলো দেখতে সংখ্যার সারি বানানোর পদ্ধতি। শুরুর মান (seed) জানলে পুরো সারি আগে থেকেই বলা যায়।যেখানে শিখবেন: পর্ব ২৭
- Pseudocodeসিউডোকোড
- কোনো ভাষার কঠোর নিয়ম ছাড়া, নিজের ভাষায় প্রোগ্রামের মতো করে সাজানো অ্যালগরিদম। এটি চালানো যায় না; শুধু যুক্তি পরিষ্কার করতে লেখা হয়।যেখানে শিখবেন: পর্ব ০১পর্ব ০২পর্ব ৪৫
- Public APIপাবলিক এপিআই
- একটি module বা library-র যে নাম আর ফাংশন বাইরের ব্যবহারকারীর জন্য প্রতিশ্রুত — এগুলোর আচরণ হঠাৎ বদলানো হবে না। ভেতরের সহায়ক অংশ এর বাইরে, যা লেখক যেকোনো সময় বদলাতে পারেন।যেখানে শিখবেন: পর্ব ২২পর্ব ৩৭
- Pull requestপুল রিকোয়েস্ট
- GitHub-এর মতো প্ল্যাটফর্মে নিজের শাখার বদলগুলো মূল শাখায় যোগ করার অনুরোধ, যেখানে review, মন্তব্য আর CI-এর যাচাই হয়; GitLab-এ একই জিনিসকে merge request বলে।যেখানে শিখবেন: পর্ব ৪৪
- Pure functionপিওর ফাংশন
- যে ফাংশন একই ইনপুটে সবসময় একই ফল দেয় এবং বাইরের কিছু বদলায় না (ছাপে না, ফাইলে লেখে না)। পরীক্ষা করা সবচেয়ে সহজ।যেখানে শিখবেন: পর্ব ১৩পর্ব ১৯পর্ব ২১
- py launcherপাই লঞ্চার
- Windows-এ Python-এর সাথে আসা py নামের ছোট প্রোগ্রাম। কম্পিউটারের সব ইনস্টল করা Python চেনে, আর py -3.12-এর মতো কমান্ডে নির্দিষ্ট version বেছে চালায়।যেখানে শিখবেন: পর্ব ০৩
- .pyc fileপাই-সি ফাইল
- Import করা module-এর compile করা bytecode, যা __pycache__ ফোল্ডারে জমা থাকে। এতে পরের বার প্রোগ্রাম দ্রুত শুরু হয়, দ্রুত চলে না।যেখানে শিখবেন: পর্ব ০৫পর্ব ৫২পর্ব ৫৪
- pydanticপাইড্যান্টিক
- তৃতীয় পক্ষের জনপ্রিয় Python লাইব্রেরি, যা type hint অনুযায়ী চালানোর সময় ডেটা যাচাই ও রূপান্তর করে। FastAPI এর ওপর গড়া।যেখানে শিখবেন: পর্ব ৩৭পর্ব ৪৮পর্ব ৫০
- PyO3পাই-ও-থ্রি
- Rust ভাষায় Python extension module লেখার লাইব্রেরি; Pydantic 2-এর মূল অংশ আর Polars-এর মতো লাইব্রেরি এটি ব্যবহার করে।যেখানে শিখবেন: পর্ব ৪৩
- PyPIপাই-পি-আই
- Python Package Index — বাইরের Python package-এর অফিসিয়াল অনলাইন ভাণ্ডার। pip সাধারণত এখান থেকেই package নামায়।যেখানে শিখবেন: পর্ব ০১পর্ব ২৩পর্ব ২৭
- pyproject.tomlপাইপ্রজেক্ট ডট টম্ল
- Python প্রজেক্টের আধুনিক মানক কনফিগ ফাইল: build-system অংশে কোন build টুল লাগবে (PEP 518), আর project অংশে নাম, version, dependencies, requires-python (PEP 621). অনেক টুলের সেটিংও এখানে থাকে।যেখানে শিখবেন: পর্ব ২৩পর্ব ৪৪
- PyPyপাই-পাই
- Python-এর একটি বিকল্প implementation, যার JIT চলার সময় গরম লুপকে machine code বানায়; বিশুদ্ধ-Python হিসাব প্রায়ই কয়েক গুণ দ্রুত চালায়।যেখানে শিখবেন: পর্ব ৪৩পর্ব ৪৫
- pyrightপাইরাইট
- Microsoft-এর তৈরি Python type checker, ২০১৯ সালে প্রকাশিত। VS Code-এর Pylance extension এটি ব্যবহার করে, তাই টাইপ করার সময়ই ভুলের নিচে লাল দাগ পড়ে।যেখানে শিখবেন: পর্ব ৩৭
- pytestপাইটেস্ট
- Python-এর সবচেয়ে প্রচলিত টেস্টিং টুল (third-party package); test_ নামের ফাংশন নিজে খুঁজে চালায়, সাধারণ assert ব্যবহার করে আর ব্যর্থ হলে বিস্তারিত বার্তা দেখায়।যেখানে শিখবেন: পর্ব ৩৯পর্ব ৫১পর্ব ৫৪
- pytest.approxপাইটেস্ট ডট অ্যাপ্রক্স
- float তুলনায় ছোট সহনশীলতা দেয়, যাতে 0.1 + 0.2 আর 0.3-এর মতো প্রায়-সমান মান সমান ধরা হয়।যেখানে শিখবেন: পর্ব ৩৯
- pytest.raisesপাইটেস্ট ডট রেইজেস
- with-এর ভেতরে নির্দিষ্ট exception এসেছে কি না যাচাই করে; না এলে টেস্ট ব্যর্থ। match= দিয়ে বার্তাও মেলানো যায়।যেখানে শিখবেন: পর্ব ৩৯
- python -mপাইথন ড্যাশ এম
- ফাইলের পথ নয়, module-এর নাম দিয়ে চালানো, যেমন python -m shop.cli. তখন Python জানে ফাইলটি কোন package-এর অংশ, তাই relative import কাজ করে; __name__ তবু "__main__" থাকে।যেখানে শিখবেন: পর্ব ২২পর্ব ৫১
- Python data modelপাইথন ডেটা মডেল
- Python-এর নিয়মের তালিকা, যা বলে কোন syntax (len, +, ==, [], for, print) object-এর কোন dunder method ডাকে। এই চুক্তি মানলে নিজের class built-in type-এর মতো আচরণ করে।যেখানে শিখবেন: পর্ব ৩০পর্ব ৩৪পর্ব ৫৪
- Python Software Foundation (PSF)পাইথন সফটওয়্যার ফাউন্ডেশন
- ২০০১ সালে প্রতিষ্ঠিত অলাভজনক সংস্থা, যা Python-এর কপিরাইট ও ট্রেডমার্ক রাখে এবং সম্প্রদায় ও PyPI-র মতো অবকাঠামোকে সহায়তা করে।যেখানে শিখবেন: পর্ব ০১
- PYTHONHASHSEEDপাইথন-হ্যাশ-সিড
- একটি environment variable, যা str ও bytes-এর hash-এর এলোমেলো seed ঠিক করে। একটি সংখ্যা দিলে প্রতিবার একই hash, ফলে set-এর ক্রমও একই থাকে; 0 দিলে randomization বন্ধ। ডিফল্টে প্রতিটি প্রক্রিয়ায় seed বদলায়।যেখানে শিখবেন: পর্ব ৫২
- Pythonicপাইথনিক
- Python-এর প্রচলিত ধাঁচ (idiom) মেনে লেখা কোড, যা যেকোনো Python প্রোগ্রামার এক নজরে বোঝেন — যেমন range(len()) নয়, enumerate বা zip; চালাক নয়, স্পষ্ট।যেখানে শিখবেন: পর্ব ৪৪পর্ব ৫৩পর্ব ৫৪
- PYTHONPATHপাইথনপাথ
- একটি environment variable, যাতে বাড়তি ফোল্ডারের তালিকা দিলে Python সেগুলো sys.path-এ (script-এর ফোল্ডারের পরে) যোগ করে। স্থায়ী সমাধান হিসেবে নয়, বিশেষ প্রয়োজনে ব্যবহার করা হয়।যেখানে শিখবেন: পর্ব ২২
Q
- Quantifierকোয়ান্টিফায়ার
- আগের অংশটি কতবার আসবে তা বলার চিহ্ন: * (০ বা বেশি), + (১ বা বেশি), ? (০ বা ১), {n} (ঠিক n বার), {n,m} (n থেকে m বার)।যেখানে শিখবেন: পর্ব ২৮
- quantizeকোয়ান্টাইজ
- Decimal-এর method, যা মানকে নির্দিষ্ট দশমিক ঘর পর্যন্ত গোল করে, যেমন পয়সা পর্যন্ত Decimal("0.01") দিয়ে। rounding দিয়ে নিয়ম বলা যায়, যেমন ROUND_HALF_UP.যেখানে শিখবেন: পর্ব ০৭
- Query parameterকোয়েরি প্যারামিটার
- URL-এর ?-এর পরের key=value অংশ, যেমন ?max_price=200&limit=5; সাধারণত তালিকা ছাঁকা, সাজানো বা পাতা ভাগ করতে ব্যবহৃত, প্রায়ই ঐচ্ছিক।যেখানে শিখবেন: পর্ব ৪৮
- Query stringকোয়েরি স্ট্রিং
- URL-এ ? চিহ্নের পরের অংশ, যেখানে নাম=মান জোড়াগুলো & দিয়ে আলাদা থাকে — যেমন খোঁজার শব্দ বা পাতা নম্বর।যেখানে শিখবেন: পর্ব ৪৭
- Queue (data structure)কিউ
- যে কাঠামোতে আগে যা ঢোকে, সেটিই আগে বের হয় (FIFO), দোকানের লাইনের মতো। Python-এ collections.deque-এর append আর popleft দিয়ে O(1)-এ চলে।যেখানে শিখবেন: পর্ব ৪৫
- queue.Queueকিউ
- Python-এর thread-safe সারি: put() দিয়ে রাখা, get() দিয়ে তোলা; খালি বা ভরা হলে নিজে থেকেই অপেক্ষা করায়।যেখানে শিখবেন: পর্ব ৪১
R
- Race conditionরেস কন্ডিশন
- যখন ফল নির্ভর করে একাধিক কাজ কোন ক্রমে ঘটল তার ওপর — যেমন দুই thread একসাথে balance += 100 করলে একটি জমা হারিয়ে যাওয়া, বা ফাইল আছে কি না দেখা আর খোলার মাঝে অন্য কেউ সেটি মুছে দেওয়া।যেখানে শিখবেন: পর্ব ২৪পর্ব ৪১পর্ব ৪২
- RAIIআর-এ-আই-আই
- Resource Acquisition Is Initialization — C++-এর নকশা, যেখানে সম্পদ object-এর জীবনের সাথে বাঁধা: constructor-এ নেওয়া, destructor-এ ফেরত। Python-এ একই কাজ with দিয়ে।যেখানে শিখবেন: পর্ব ৩৬পর্ব ৫৪
- Rainbow tableরেইনবো টেবিল
- সাধারণ পাসওয়ার্ডের hash আগে থেকে হিসাব করে রাখা বিশাল তালিকা। salt ব্যবহার করলে এই তালিকা অকেজো হয়ে যায়।যেখানে শিখবেন: পর্ব ৫০
- raiseরেইজ
- নিজে একটি exception তোলার কিওয়ার্ড — যেমন raise ValueError("বার্তা") লিখলে একটি ValueError ওঠে। except-এর ভেতরে শুধু raise লিখলে একই exception আবার ওপরে যায়।যেখানে শিখবেন: পর্ব ২৪
- range()রেঞ্জ
- সংখ্যার একটি অলস সারি — range(start, stop, step). stop কখনো ভেতরে থাকে না, আর পুরো list তৈরি না করে দরকারমতো সংখ্যা হিসাব করে দেয়।যেখানে শিখবেন: পর্ব ১২
- Rate limitingরেট লিমিটিং
- নির্দিষ্ট সময়ে বা একসাথে কতগুলো অনুরোধ পাঠানো যাবে তার সীমা; সার্ভার নিজেকে রক্ষা করতে এটা চাপায়, আর ভদ্র client নিজেই মেনে চলে।যেখানে শিখবেন: পর্ব ৪২পর্ব ৪৭
- Raw stringর স্ট্রিং
- কোটের আগে r লেখা string, যেমন r"C:\new". এখানে backslash সাধারণ অক্ষর, কোনো escape sequence নয় — Windows path আর regex-এ কাজের।যেখানে শিখবেন: পর্ব ০৯পর্ব ২৮পর্ব ৫৪
- Re-raiseরি-রেইজ
- ধরা exception-কে except block-এর ভেতর থেকে খালি raise লিখে আবার ওপরে পাঠানো — আসল traceback অক্ষত থাকে। লগ লেখা বা আংশিক কাজ ফেরানোর পরে ব্যবহার হয়।যেখানে শিখবেন: পর্ব ২৪
- Read-modify-writeরিড-মডিফাই-রাইট
- মান পড়া, বদলানো আর ফেরত লেখা — তিন ধাপের কাজ। মাঝে অন্য thread ঢুকলে আপডেট হারাতে পারে; x += 1 এমন একটি কাজ।যেখানে শিখবেন: পর্ব ৪১
- READMEরিডমি
- একটি প্রজেক্টের প্রথম পাতা, সাধারণত README.md ফাইল: প্রজেক্টটি কী করে, কীভাবে ইনস্টল ও চালাতে হয়, নকশা আর সীমাবদ্ধতা। GitHub এটি repository-র মূল পাতায় দেখায়।যেখানে শিখবেন: পর্ব ৫১পর্ব ৫৫
- Rebindingরিবাইন্ডিং
- একটি নামকে এক object থেকে খুলে অন্য object-এ লাগানো, যেমন x = x + [1]. পুরোনো object বদলায় না, তার অন্য নামগুলোও কিছু টের পায় না।যেখানে শিখবেন: পর্ব ১৯পর্ব ৫২
- Recursionরিকার্শন
- একটি ফাংশন নিজেকেই ডাকা, প্রতিবার সমস্যার ছোট রূপ নিয়ে। প্রতিটি ডাক নতুন frame নেয়; CPython-এর ডিফল্ট গভীরতার সীমা প্রায় ১০০০।যেখানে শিখবেন: পর্ব ১৩পর্ব ১৯পর্ব ৩২
- Recursion limitরিকার্শন লিমিট
- Python একটি ফাংশন নিজেকে সর্বোচ্চ কত গভীরে ডাকতে পারবে তার সীমা, ডিফল্টে প্রায় ১০০০। sys.setrecursionlimit দিয়ে বাড়ানো যায়, কিন্তু তাতে আসল stack বাড়ে না।যেখানে শিখবেন: পর্ব ৪৫পর্ব ৫৫
- ReDoS (Regular expression Denial of Service)রি-ডস
- ইচ্ছা করে এমন ইনপুট পাঠানো, যাতে একটি দুর্বল regex catastrophic backtracking-এ আটকে সার্ভারের CPU দখল করে রাখে আর সেবা বন্ধ হয়ে যায়।যেখানে শিখবেন: পর্ব ২৮
- Refactoringরিফ্যাক্টরিং
- বাইরের আচরণ একই রেখে কোডের ভেতরের গঠন গোছানো বা উন্নত করা; আগের সব টেস্ট পাস করাই তার প্রমাণ।যেখানে শিখবেন: পর্ব ২১পর্ব ৩৭পর্ব ৩৯
- Referenceরেফারেন্স
- কোনো object-কে দেখানোর একটি উপায় — একটি নাম, list-এর একটি ঘর বা ফাংশনের একটি argument. Python-এ সব নাম আসলে reference.যেখানে শিখবেন: পর্ব ০৫পর্ব ১৪পর্ব ১৫
- Reference countingরেফারেন্স কাউন্টিং
- প্রতিটি object-কে কয়টি reference দেখাচ্ছে তার গণনা রাখা; গণনা শূন্য হলে CPython object-টি সঙ্গে সঙ্গে মুছে মেমরি ফেরত দেয়।যেখানে শিখবেন: পর্ব ০৫পর্ব ০৬পর্ব ১৪
- Reference cycleরেফারেন্স সাইকেল
- দুই বা ততোধিক object একে অপরকে দেখাচ্ছে, বাইরে থেকে কেউ নয়। Reference count শূন্য হয় না, তাই এদের মোছে garbage collector.যেখানে শিখবেন: পর্ব ০৫পর্ব ৩৬
- Reflected method (__radd__ ইত্যাদি)রিফ্লেক্টেড মেথড
- ডান পাশের object-এর উল্টো operator method, যেমন __radd__, __rmul__. বাঁ পাশের object NotImplemented দিলে Python এটি ডাকে; এজন্যই 0 + money আর sum() কাজ করে।যেখানে শিখবেন: পর্ব ৩০
- Regex flagরেজেক্স ফ্ল্যাগ
- পুরো প্যাটার্নের আচরণ বদলানোর সুইচ, যেমন re.IGNORECASE, re.MULTILINE, re.ASCII বা re.VERBOSE. কয়েকটি একসাথে দিতে | দিয়ে জোড়া হয়।যেখানে শিখবেন: পর্ব ২৮
- Registry patternরেজিস্ট্রি প্যাটার্ন
- decorator দিয়ে ফাংশন বা class-কে একটি তালিকা বা dict-এ নিবন্ধন করা, মোড়ানো ছাড়াই। Flask/FastAPI-র route আর plugin ব্যবস্থা এভাবে কাজ করে।যেখানে শিখবেন: পর্ব ৩৫পর্ব ৪৮
- Regressionরিগ্রেশন
- একবার ঠিক করা বাগ বা আগে ঠিকঠাক চলা আচরণ পরে অন্য কোনো পরিবর্তনে আবার ভেঙে যাওয়া; টেস্ট এর পাহারাদার।যেখানে শিখবেন: পর্ব ৩৯
- Regression testরিগ্রেশন টেস্ট
- একটি বাগ ঠিক করার পর সেই বাগের জন্য লেখা স্থায়ী টেস্ট, যাতে ভবিষ্যতে কোনো বদলে বাগটি ফিরে এলে সাথে সাথে ধরা পড়ে।যেখানে শিখবেন: পর্ব ৪০
- Regular expression (regex)রেগুলার এক্সপ্রেশন
- লেখার আকৃতি বর্ণনার একটি ছোট ভাষা, যেমন 01[3-9]\d{8}. এটি দিয়ে লেখার ভেতরে খোঁজা, যাচাই, অংশ বের করা আর বদলানো যায়; Python-এ re module এই কাজ করে।যেখানে শিখবেন: পর্ব ২৮পর্ব ৩৯পর্ব ৪৭
- Regular packageরেগুলার প্যাকেজ
- __init__.py ফাইলসহ একটি ফোল্ডার, যার ভেতরের .py ফাইলগুলো module. package প্রথমবার import হলে __init__.py চলে; ভেতরের module-এর নাম ডট দিয়ে লেখা হয়, যেমন shop.pricing.যেখানে শিখবেন: পর্ব ২২
- Relational algebraরিলেশনাল অ্যালজেব্রা
- ১৯৭০ সালে Edgar Codd-এর relational model-এর গাণিতিক ভিত্তি: টেবিলকে সারির সেট ধরে union, intersection, difference, select, project, join দিয়ে প্রশ্ন করা। SQL এর ওপর দাঁড়ানো।যেখানে শিখবেন: পর্ব ১৭
- Relative importরিলেটিভ ইমপোর্ট
- সামনে ডট দিয়ে নিজের package-এর সাপেক্ষে import করা: from .utils import x (একই package), from ..core import y (এক ধাপ উপরে)। শুধু package-এর ভেতরের module-এ চলে; ফাইল সরাসরি চালালে ভাঙে।যেখানে শিখবেন: পর্ব ২২পর্ব ৪৪
- Relative pathরিলেটিভ পাথ
- বর্তমান working directory থেকে গোনা ঠিকানা, যেমন data/a.txt বা ../a.txt. প্রোগ্রাম কোন ফোল্ডার থেকে চালানো হলো, তার ওপর ফল বদলায়।যেখানে শিখবেন: পর্ব ২৫
- REPLরেপল
- Read-Eval-Print Loop — Python-এর সরাসরি প্রশ্নোত্তরের পর্দা, যেখানে এক লাইন লিখে Enter চাপলেই সাথে সাথে ফল দেখা যায়।যেখানে শিখবেন: পর্ব ০১পর্ব ০৩পর্ব ০৪
- __repr__রিপর
- একটি object-কে লেখা হিসেবে দেখানোর dunder method; repr(), REPL আর (__str__ না থাকলে) print এটি ব্যবহার করে। না লিখলে মেমরির ঠিকানাসহ অস্পষ্ট লেখা আসে।যেখানে শিখবেন: পর্ব ২৯পর্ব ৩০পর্ব ৪০
- Reproducibilityরিপ্রোডিউসিবিলিটি
- একই কোড অন্য কম্পিউটারে, অন্য সময়ে হুবহু একই পরিবেশে চালিয়ে একই ফল পাওয়ার ক্ষমতা। pinned version আর lock file এর মূল হাতিয়ার।যেখানে শিখবেন: পর্ব ২৩
- Request bodyরিকোয়েস্ট বডি
- request-এর সাথে পাঠানো মূল ডেটা, সাধারণত JSON — যেমন POST দিয়ে নতুন প্রোডাক্টের নাম আর দাম; FastAPI এটি pydantic model দিয়ে যাচাই করে।যেখানে শিখবেন: পর্ব ৪৮
- requestsরিকোয়েস্টস
- Python-এ HTTP অনুরোধ পাঠানোর সবচেয়ে প্রচলিত বাইরের লাইব্রেরি (pip install requests); get, post, Session, raise_for_status আর json() দেয়। ডিফল্ট timeout নেই।যেখানে শিখবেন: পর্ব ৪৭
- Requirementরিকোয়ারমেন্ট
- সফটওয়্যারটি ব্যবহারকারীর জন্য কী করবে তার লিখিত বর্ণনা — কোড নয়, ব্যবহারকারীর ভাষায় চাহিদা।যেখানে শিখবেন: পর্ব ২১পর্ব ৫১
- requirements.txtরিকোয়ারমেন্টস ডট টি-এক্স-টি
- এক লাইনে একটি package (প্রয়োজনে version-সহ) লেখা একটি সাধারণ টেক্সট ফাইল। pip install -r requirements.txt দিয়ে সবগুলো একসাথে ইনস্টল হয়। নামটি প্রথাগত, নিয়ম নয়।যেখানে শিখবেন: পর্ব ২৩
- Resourceরিসোর্স
- প্রোগ্রাম যা নেয় আর পরে ফেরত দিতে হয় — খোলা ফাইল, lock, ডেটাবেস connection, নেটওয়ার্ক socket বা সাময়িক বদলানো কোনো সেটিং।যেখানে শিখবেন: পর্ব ৩৬
- Resource leakরিসোর্স লিক
- সম্পদ নেওয়া হলো কিন্তু ফেরত দেওয়া হলো না — যেমন exception-এর কারণে ফাইল বন্ধ হলো না। জমতে জমতে প্রোগ্রাম ধীর হয় বা আটকে যায়।যেখানে শিখবেন: পর্ব ৩৬
- Response modelরেসপন্স মডেল
- endpoint কী আকারের ডেটা ফেরত দেবে তার pydantic model; FastAPI এ দিয়ে ফেরত ডেটা যাচাই ও ছাঁকে, ফলে model-এ নেই এমন গোপন field বাইরে যায় না।যেখানে শিখবেন: পর্ব ৪৮
- RESTরেস্ট
- Representational State Transfer — Roy Fielding-এর (২০০০) বর্ণিত নকশা-রীতি; ঠিকানা দিয়ে চিহ্নিত resource, মানক HTTP method আর stateless request.যেখানে শিখবেন: পর্ব ৪৭পর্ব ৪৮
- Retry-Afterরিট্রাই-আফটার
- 429 বা 503-এর সাথে server-এর পাঠানো header, যা বলে কত সেকেন্ড পরে (বা কোন সময়ে) আবার চেষ্টা করা যাবে।যেখানে শিখবেন: পর্ব ৪৭
- Return valueরিটার্ন ভ্যালু
- ফাংশন return দিয়ে ডাকা জায়গায় যে মান ফেরত পাঠায়। return না থাকলে ফেরত মান হয় None.যেখানে শিখবেন: পর্ব ১৩পর্ব ১৫
- Rich comparisonরিচ কম্প্যারিজন
- ছয়টি তুলনার dunder method: __eq__, __ne__, __lt__, __le__, __gt__, __ge__. এরা ==, !=, <, <=, >, >= চালায়।যেখানে শিখবেন: পর্ব ৩০
- Right-associativeরাইট-অ্যাসোসিয়েটিভ
- একই অপারেটর পরপর থাকলে ডান দিক থেকে হিসাব হওয়া। Python-এ ** এমন, তাই 2 ** 3 ** 2 মানে 2 ** 9 = 512.যেখানে শিখবেন: পর্ব ০৭
- robots.txt (Robots Exclusion Protocol)রোবটস ডট টি-এক্স-টি
- সাইটের মূলে রাখা একটি লেখার ফাইল, যেখানে মালিক জানান কোন বট কোন path-এ যাবে না। আইনি বাধা নয়, স্বেচ্ছা-মানা নিয়ম; ২০২২ সালে RFC 9309 হিসেবে লিখিত।যেখানে শিখবেন: পর্ব ৪৭
- Rollbackরোলব্যাক
- transaction-এর এখনো স্থায়ী না হওয়া সব বদল বাতিল করে শুরুর অবস্থায় ফেরা। সাধারণত মাঝপথে কোনো error হলে করা হয়।যেখানে শিখবেন: পর্ব ৩৬পর্ব ৫১পর্ব ৫৫
- Root loggerরুট লগার
- logging-এর বংশতালিকার সবার ওপরের logger. basicConfig একেই কনফিগার করে, আর অন্য logger-এর বার্তা সাধারণত শেষে এর handler-এ পৌঁছায়।যেখানে শিখবেন: পর্ব ৪০
- Round tripরাউন্ড ট্রিপ
- ডেটাকে একটি ফরম্যাটে লিখে আবার পড়ে আনা, আর দেখা আগের মতোই ফিরল কি না। JSON-এর round trip-এ tuple হয়ে যায় list আর int চাবি হয়ে যায় str.যেখানে শিখবেন: পর্ব ২৬
- Rounding errorরাউন্ডিং এরর
- কোনো মানকে সীমিত অঙ্কে রাখতে গিয়ে যে ক্ষুদ্র ভুল হয়। float-এ প্রতিটি হিসাবে এটি ঘটতে পারে আর বারবার হিসাবে জমে বড় হতে পারে।যেখানে শিখবেন: পর্ব ০৭পর্ব ৫৩
- Routingরাউটিং
- কোন method আর path-এর request কোন handler ফাংশনে যাবে তা ঠিক করার কাজ; path থেকে /products/7-এর 7-এর মতো অংশও আলাদা করে।যেখানে শিখবেন: পর্ব ৪৮
- Rubber duck debuggingরাবার ডাক ডিবাগিং
- একটি খেলনা হাঁস বা যে কাউকে লাইন ধরে ধরে কোড ব্যাখ্যা করা। জোরে বলতে গিয়ে নিজের ভুল ধারণা নিজের কানেই ধরা পড়ে; নামটি The Pragmatic Programmer বইয়ের একটি গল্প থেকে।যেখানে শিখবেন: পর্ব ৪০
- Ruffরাফ
- Rust-এ লেখা খুব দ্রুত Python linter ও formatter, যা flake8, isort, pyupgrade-সহ বহু টুলের নিয়ম এক জায়গায় দেয়, আর formatter-ও আছে।যেখানে শিখবেন: পর্ব ৪৪পর্ব ৫০পর্ব ৫১
- Running totalরানিং টোটাল
- প্রতিটি ধাপ পর্যন্ত জমা হওয়া যোগফল, যেমন ব্যাংক স্টেটমেন্টের ব্যালান্স কলাম। [5, 3, 2]-এর running total হলো 5, 8, 10.যেখানে শিখবেন: পর্ব ৩৮
- RuntimeErrorরানটাইম এরর
- এমন ভুলের জন্য exception, যা কোনো নির্দিষ্ট শ্রেণিতে পড়ে না; যেমন লুপ চলার সময় dict-এর আকার বদলালে আসে।যেখানে শিখবেন: পর্ব ১৬
- RuntimeWarningরানটাইম ওয়ার্নিং
- চলার সময় সন্দেহজনক কিছু ঘটলে Python যে সতর্কবার্তা stderr-এ লেখে; প্রোগ্রাম থামে না, যেমন coroutine was never awaited.যেখানে শিখবেন: পর্ব ৪২
S
- Saltসল্ট
- পাসওয়ার্ড hash করার আগে মেশানো random byte, প্রতিটি ব্যবহারকারীর জন্য আলাদা। গোপন নয়, hash-এর পাশেই রাখা হয়; একই পাসওয়ার্ডের hash-কে ভিন্ন করে।যেখানে শিখবেন: পর্ব ৫০
- Sampling profilerস্যাম্পলিং প্রোফাইলার
- যে profiler প্রতিটি ডাক না গুনে নিয়মিত বিরতিতে উঁকি দিয়ে দেখে প্রোগ্রাম কোথায় আছে; প্রায় ধীর করে না। উদাহরণ: py-spy.যেখানে শিখবেন: পর্ব ৪৩
- schedule (লাইব্রেরি)শিডিউল
- তৃতীয় পক্ষের ছোট Python লাইব্রেরি, যা প্রোগ্রামের ভেতরেই সময় ধরে ফাংশন চালায় — যেমন schedule.every().day.at("22:00").do(job). প্রোগ্রামকে সারাক্ষণ চালু থাকতে হয়।যেখানে শিখবেন: পর্ব ৪৯
- SciPy stackসাইপাই স্ট্যাক
- NumPy-র ওপর দাঁড়ানো বৈজ্ঞানিক Python লাইব্রেরিগুলোর পরিবার — SciPy, matplotlib, pandas, IPython/Jupyter, scikit-learn ইত্যাদি, যারা একই ndarray ভাগ করে।যেখানে শিখবেন: পর্ব ৪৬
- Scopeস্কোপ
- কোডের যে অংশ থেকে একটি নাম দেখা ও ব্যবহার করা যায়। Python নাম খোঁজে local, enclosing, global, built-in ক্রমে (LEGB) — পর্ব ২০-এ বিস্তারিত।যেখানে শিখবেন: পর্ব ১৩পর্ব ১৮পর্ব ২০
- Scope creepস্কোপ ক্রিপ
- কাজ চলাকালে একের পর এক নতুন চাহিদা ঢুকে প্রজেক্ট বড় হতে থাকা, ফলে শেষই না হওয়া।যেখানে শিখবেন: পর্ব ২১
- Scriptস্ক্রিপ্ট
- একটি নির্দিষ্ট কাজ স্বয়ংক্রিয়ভাবে করার জন্য লেখা ছোট প্রোগ্রাম, যা সাধারণত একটি .py ফাইল থেকে সরাসরি চালানো হয়।যেখানে শিখবেন: পর্ব ০১পর্ব ০৩পর্ব ০৪
- sdist (source distribution)এস-ডিস্ট
- package-এর সোর্স কোডের আর্কাইভ (সাধারণত .tar.gz). ইনস্টলের সময় আপনার কম্পিউটারে build করতে হয়, তাই C-কোড থাকলে compiler লাগতে পারে। wheel না পেলে pip এটি নেয়।যেখানে শিখবেন: পর্ব ২৩
- Secret scanningসিক্রেট স্ক্যানিং
- কোড আর commit-এ API key বা পাসওয়ার্ডের মতো দেখতে লেখা স্বয়ংক্রিয়ভাবে খোঁজা। GitHub-এর push protection এমন commit push হওয়ার আগেই আটকায়।যেখানে শিখবেন: পর্ব ৫০
- secretsসিক্রেটস
- Python 3.6 থেকে থাকা module, যা অপারেটিং সিস্টেমের নিরাপদ উৎস থেকে এলোমেলো মান দেয় — OTP, password, token বানানোর জন্য।যেখানে শিখবেন: পর্ব ২৭পর্ব ৫০পর্ব ৫৪
- Seedসিড
- pseudo-random সারির শুরুর মান। random.seed(42)-এর মতো একই seed দিলে প্রতিবার একই এলোমেলো ফল আসে — টেস্ট আর পরীক্ষায় কাজের।যেখানে শিখবেন: পর্ব ২৭পর্ব ৪৫
- Semantic versioning (SemVer)সিমান্টিক ভার্সনিং
- MAJOR.MINOR.PATCH ধাঁচের version-নীতি: পুরোনো কোড ভাঙে এমন বদলে MAJOR বাড়ে, নতুন সুবিধায় MINOR, বাগ ঠিকে PATCH. অনেক Python package এটি মোটামুটি মানে, সবাই কঠোরভাবে নয়।যেখানে শিখবেন: পর্ব ২৩
- Semaphoreসেমাফোর
- কয়েকটি টোকেনের একটি গণক; একসাথে কতগুলো কাজ একটি জায়গায় ঢুকতে পারবে তার সীমা টানে — asyncio.Semaphore(3) মানে সর্বোচ্চ ৩টি।যেখানে শিখবেন: পর্ব ৪২
- Sentinelসেন্টিনেল
- আসল ডেটার সাথে গুলিয়ে যাবে না এমন একটি বিশেষ সংকেত-মান — যেমন ইনপুটে “done” পেলে লুপ থামা, বা default-এ None (কিংবা নিজের বানানো _MISSING = object()) দিয়ে বোঝানো যে কিছু দেওয়া হয়নি।যেখানে শিখবেন: পর্ব ১২পর্ব ২০পর্ব ৩৬
- Separation of concernsসেপারেশন অফ কনসার্নস
- প্রতিটি দায়িত্ব (ইনপুট পড়া, হিসাব, ছাপা, ডেটা রাখা) আলাদা অংশে রাখার নকশা-নীতি, যাতে একটি বদলালে অন্যটি না ভাঙে।যেখানে শিখবেন: পর্ব ২১পর্ব ২২পর্ব ৫১
- Sequenceসিকোয়েন্স
- ক্রম মেনে সাজানো জিনিসের সংগ্রহ, যার দৈর্ঘ্য (len) আছে আর index দিয়ে যেকোনো জিনিস পাওয়া যায় — যেমন list, tuple, string, range.যেখানে শিখবেন: পর্ব ০৯পর্ব ১২পর্ব ১৪
- Sequence patternসিকোয়েন্স প্যাটার্ন
- [a, b] বা [first, *rest] ধরনের pattern; list বা tuple-এর দৈর্ঘ্য আর উপাদান মেলায়, string-এর সাথে মেলে না।যেখানে শিখবেন: পর্ব ১১পর্ব ১৫
- Serializationসিরিয়ালাইজেশন
- মেমরির ভেতরের object (dict, list ইত্যাদি) থেকে এমন লেখা বা byte বানানো, যা ফাইলে রাখা বা অন্য প্রোগ্রামে পাঠানো যায় — যেমন json.dumps.যেখানে শিখবেন: পর্ব ২৬পর্ব ৪৮
- Seriesসিরিজ
- pandas-এর এক মাত্রার লেবেলযুক্ত array — প্রতিটি মানের সাথে একটি index লেবেল। DataFrame-এর প্রতিটি কলাম একটি Series.যেখানে শিখবেন: পর্ব ৪৬
- Service layerসার্ভিস লেয়ার
- যে স্তর একটি কাজের পুরো ব্যবসায়িক নিয়ম চালায় — খোঁজা, যাচাই, জমা দেওয়া, log লেখা — কিন্তু নিজে কিছু পড়ে না, ছাপে না, বা SQL লেখে না। CLI আর ওয়েব দুটোই একে ডাকতে পারে।যেখানে শিখবেন: পর্ব ৫১
- Session (requests.Session)সেশন
- একই server-এ বারবার অনুরোধের জন্য সংযোগ খোলা রেখে পুনর্ব্যবহার করে, আর সাধারণ header ও cookie সব অনুরোধে পাঠায়।যেখানে শিখবেন: পর্ব ৪৭
- Setসেট
- অনন্য ও hashable মানের ক্রমহীন সংগ্রহ। একই মান দুবার রাখা যায় না, আর কোনো মান আছে কি না খুব দ্রুত যাচাই করা যায়।যেখানে শিখবেন: পর্ব ১৪পর্ব ১৭পর্ব ১৮
- Set comprehensionসেট কম্প্রিহেনশন
- দ্বিতীয় বন্ধনীর ভেতরে কোলন ছাড়া লেখা comprehension, যা অনন্য মানগুলোর একটি নতুন set দেয়। এর ক্রম নিশ্চিত নয়।যেখানে শিখবেন: পর্ব ১৭পর্ব ১৮
- Set differenceসেট ডিফারেন্স
- প্রথম set-এ আছে কিন্তু দ্বিতীয়টিতে নেই এমন উপাদান। Python-এ a - b; এর দিক আছে, তাই a - b আর b - a সাধারণত আলাদা।যেখানে শিখবেন: পর্ব ১৭
- Set-builder notationসেট-বিল্ডার নোটেশন
- গণিতের সেট গঠন পদ্ধতি, যেমন { x² | x ∈ N, x জোড় } — শর্ত দিয়ে একটি সেটের সদস্য বর্ণনা করা। comprehension এই ধারণা থেকেই এসেছে।যেখানে শিখবেন: পর্ব ১৮
- setdefault()সেটডিফল্ট
- dict-এর method: চাবি না থাকলে দেওয়া default বসায়, তারপর চাবির মান ফেরত দেয়; দলে ভাগ করার কাজে ব্যবহৃত হয়।যেখানে শিখবেন: পর্ব ১৬পর্ব ৪৪
- Setterসেটার
- attribute-এ মান বসানোর সময় চলা method, সাধারণত যাচাইয়ের জন্য। Python-এ @x.setter দিয়ে লেখা হয়, ফলে obj.x = মান লিখলেই এটি চলে।যেখানে শিখবেন: পর্ব ৩২
- Shadowingশ্যাডোয়িং
- নিজের কোনো নাম দিয়ে আগে থেকে থাকা একটি নাম ঢেকে ফেলা, যেমন list = [1, 2] লিখলে built-in list ফাংশন আর পাওয়া যায় না।যেখানে শিখবেন: পর্ব ০৬পর্ব ২০পর্ব ২২
- Shallow copyশ্যালো কপি
- নতুন একটি container, কিন্তু ভেতরের ঘরগুলো মূলটির একই object দেখায়। a[:], list(a) আর a.copy() shallow copy দেয়; ভেতরের object নিজে কপি হয় না।যেখানে শিখবেন: পর্ব ১৪পর্ব ১৯পর্ব ২১
- Shallow immutabilityশ্যালো ইমিউটেবিলিটি
- অগভীর অপরিবর্তনীয়তা: tuple-এর কোন ঘরে কোন object আছে তা বদলায় না, কিন্তু ঘরের object নিজে mutable হলে (যেমন list) তার ভেতরটা বদলাতে পারে।যেখানে শিখবেন: পর্ব ১৫পর্ব ৫৪
- shapeশেপ
- array-র প্রতিটি মাত্রায় কতগুলো উপাদান, তার tuple — যেমন ৫ জন ছাত্র × ৩ বিষয়ের টেবিলের shape (5, 3).যেখানে শিখবেন: পর্ব ৪৬
- Shellশেল
- Terminal-এর ভেতরে যে প্রোগ্রামটি কমান্ড পড়ে বোঝে এবং সংশ্লিষ্ট প্রোগ্রাম খুঁজে চালায়, যেমন PowerShell, bash বা zsh.যেখানে শিখবেন: পর্ব ০৩পর্ব ৪৯
- Short-circuitশর্ট-সার্কিট
- উত্তর জানা মাত্র বাকি অংশ না দেখে থেমে যাওয়া। any() প্রথম সত্য পেলেই, all() প্রথম মিথ্যা পেলেই থামে; and/or-ও একইভাবে কাজ করে।যেখানে শিখবেন: পর্ব ০৮পর্ব ১১পর্ব ১২
- Shortest pathশর্টেস্ট পাথ
- গ্রাফে দুটি বিন্দুর মধ্যে সবচেয়ে কম ধাপ বা সবচেয়ে কম মোট ওজনের পথ। ওজনহীন হলে BFS, অঋণাত্মক ওজনে Dijkstra.যেখানে শিখবেন: পর্ব ৪৫
- shutilশাটিল / এস-এইচ-ইউটিল
- "shell utilities" — standard library-র module, যা ফাইল কপি (copy2), সরানো (move), পুরো ফোল্ডার কপি (copytree), মোছা (rmtree) আর zip বানানোর (make_archive) কাজ করে।যেখানে শিখবেন: পর্ব ৪৯
- Side effectসাইড ইফেক্ট
- ফাংশনের ফল ফেরত দেওয়ার বাইরে অন্য কোনো পরিবর্তন — পর্দায় ছাপা, ফাইলে লেখা, global ভ্যারিয়েবল বা পাঠানো list বদলানো।যেখানে শিখবেন: পর্ব ১৩পর্ব ১৮পর্ব ১৯
- Sieve of Eratosthenesইরাটোস্থেনিসের ছাঁকনি
- n পর্যন্ত সব মৌলিক সংখ্যা একসাথে বের করার প্রাচীন পদ্ধতি: প্রতিটি মৌলিক সংখ্যার গুণিতকগুলো কেটে দেওয়া। খরচ প্রায় O(n log log n).যেখানে শিখবেন: পর্ব ৪৫
- Singletonসিঙ্গেলটন
- যে object পুরো প্রোগ্রামে মাত্র একটিই থাকে, যেমন None. এমন object-এর সাথে তুলনা is দিয়ে করা হয়।যেখানে শিখবেন: পর্ব ০৮পর্ব ২২পর্ব ৩০
- SipHashসিপহ্যাশ
- Jean-Philippe Aumasson ও Daniel J. Bernstein-এর তৈরি একটি দ্রুত keyed hash. গোপন key না জানলে কোন চাবি কোন ঘরে যাবে আন্দাজ করা যায় না। Python 3.4 থেকে string-এর hash এর একটি রূপ দিয়ে হিসাব হয়।যেখানে শিখবেন: পর্ব ১৭পর্ব ৫৫
- site-packagesসাইট-প্যাকেজেস
- যে ফোল্ডারে pip বাইরের package বসায়। প্রতিটি Python ইনস্টল ও প্রতিটি virtual environment-এর নিজস্ব site-packages থাকে, আর import এখানেও খোঁজে।যেখানে শিখবেন: পর্ব ২২পর্ব ২৩
- SKU (Stock Keeping Unit)এস-কে-ইউ
- দোকান বা গুদামে প্রতিটি পণ্যের ছোট, অনন্য কোড, যেমন rice বা oil. পণ্যের নাম বদলালেও SKU একই থাকে, তাই ডেটাবেসে এটিই চাবি।যেখানে শিখবেন: পর্ব ৫১
- Slicingস্লাইসিং
- s[start:stop:step] লিখে sequence-এর একটি টুকরো নেওয়া। start নেওয়া হয়, stop বাদ যায়; সীমার বাইরে গেলেও error দেয় না।যেখানে শিখবেন: পর্ব ০৯পর্ব ১৪পর্ব ১৫
- Sliding windowস্লাইডিং উইন্ডো
- সারির ওপর একটি জানালা (পরপর কয়েকটি ঘর) সরিয়ে সরিয়ে উত্তর খোঁজা; নতুন ঘর যোগ আর পুরোনো ঘর বাদ দিয়ে প্রতিবার পুরো জানালা নতুন করে না গুনে।যেখানে শিখবেন: পর্ব ৪৫পর্ব ৫৫
- Slopsquattingস্লপস্কোয়াটিং
- AI যেসব package-নাম বানিয়ে বলে অথচ আসলে নেই, সেই নামে আক্রমণকারী নিজেই ক্ষতিকর package আপলোড করে রাখে — যাতে AI-এর পরামর্শ অন্ধভাবে মানলে সেটি ইনস্টল হয়।যেখানে শিখবেন: পর্ব ২৩
- __slots__স্লটস
- class-এ attribute-এর নির্দিষ্ট তালিকা দেওয়ার ব্যবস্থা; তখন object __dict__ রাখে না, মেমরি কম লাগে, আর তালিকার বাইরের নাম দিলে AttributeError আসে।যেখানে শিখবেন: পর্ব ২৯পর্ব ৪৩
- Small int cacheস্মল ইন্ট ক্যাশ
- CPython-এর ভেতরের একটি সুবিধা: -5 থেকে 256 পর্যন্ত int আগে থেকে তৈরি রেখে বারবার ব্যবহার। এটি ভাষার নিয়ম নয়, তাই সংখ্যায় is-এর ওপর নির্ভর করা যায় না।যেখানে শিখবেন: পর্ব ০৮পর্ব ৫৩পর্ব ৫৪
- snake_caseস্নেক কেস
- সব ছোট হাতের অক্ষর আর শব্দের মাঝে underscore দিয়ে নাম লেখার ধরন, যেমন monthly_salary. Python-এ ভ্যারিয়েবল ও ফাংশনের নামে এটিই প্রচলিত।যেখানে শিখবেন: পর্ব ০৬পর্ব ৪৪
- Soft keywordসফট কিওয়ার্ড
- যে শব্দ শুধু নির্দিষ্ট জায়গায় keyword হিসেবে কাজ করে, অন্যত্র সাধারণ নাম হিসেবেও চলে, যেমন match, case, type. পুরোনো কোড না ভাঙাই এর উদ্দেশ্য।যেখানে শিখবেন: পর্ব ০৬পর্ব ৫৩
- spawnস্পন
- নতুন process তৈরির একটি পদ্ধতি: একদম নতুন interpreter চালু হয়ে মূল ফাইল import করে। Windows ও macOS-এ এটি ডিফল্ট।যেখানে শিখবেন: পর্ব ৪১
- Specializing adaptive interpreterস্পেশালাইজিং অ্যাডাপটিভ ইন্টারপ্রেটার
- Python 3.11 (PEP 659) থেকে CPython-এর কৌশল: একটি নির্দেশ বারবার একই type পেলে তাকে সেই type-এর জন্য দ্রুত, বিশেষ নির্দেশে বদলে নেয়।যেখানে শিখবেন: পর্ব ০৫পর্ব ৪৩
- Specification (spec)স্পেসিফিকেশন
- প্রোগ্রাম ঠিক কী করবে — কোন ইনপুটে কী ফল — তার সুনির্দিষ্ট, যাচাইযোগ্য বর্ণনা; কীভাবে বানানো হবে তা এতে থাকে না।যেখানে শিখবেন: পর্ব ২১পর্ব ৫১
- Split-apply-combineস্প্লিট-অ্যাপ্লাই-কম্বাইন
- দলভিত্তিক হিসাবের তিন ধাপ: ডেটাকে একটি কলামের মান ধরে দলে ভাগ, প্রতিটি দলে একই হিসাব, তারপর ফলগুলো জুড়ে একটি টেবিল। pandas-এর groupby এই কাজ করে।যেখানে শিখবেন: পর্ব ৪৬
- SQLএসকিউএল / সিকুয়েল
- Structured Query Language — database-এ টেবিল বানানো, ডেটা ঢোকানো ও প্রশ্ন করার ভাষা, যেমন SELECT, INSERT, CREATE TABLE.যেখানে শিখবেন: পর্ব ২৭
- SQL injectionএসকিউএল ইনজেকশন
- ব্যবহারকারীর ইনপুটে দুষ্ট SQL লিখে database-এ অনাকাঙ্ক্ষিত কমান্ড চালানোর আক্রমণ। মান f-string দিয়ে SQL-এ জুড়লে এটি সম্ভব হয়।যেখানে শিখবেন: পর্ব ২৭পর্ব ৪৮পর্ব ৫০
- SQLiteএসকিউলাইট
- সার্ভার ছাড়াই একটি মাত্র ফাইলে চলা পূর্ণ SQL database engine, ২০০০ সালে D. Richard Hipp-এর তৈরি। Python-এ sqlite3 module দিয়ে ব্যবহার করা যায়।যেখানে শিখবেন: পর্ব ২৭পর্ব ৩৬পর্ব ৪৮
- SQLModelএসকিউএল-মডেল
- FastAPI-র নির্মাতার তৈরি লাইব্রেরি, যেখানে একই class একসাথে pydantic model আর ডেটাবেস টেবিল; ভেতরে SQLAlchemy ব্যবহার করে।যেখানে শিখবেন: পর্ব ৪৮
- src layoutএস-আর-সি লেআউট
- প্রজেক্টের import করা যায় এমন package-কে সরাসরি মূল ফোল্ডারে না রেখে src/ ফোল্ডারের ভেতরে রাখা। এতে ইনস্টল না করে ভুলবশত ফোল্ডার থেকে import হয়ে যাওয়ার সমস্যা এড়ানো যায়।যেখানে শিখবেন: পর্ব ২২পর্ব ২৩পর্ব ৫১
- Stable sortস্টেবল সর্ট
- এমন সাজানো, যেখানে সমান key-এর জিনিসগুলো সাজানোর আগে যে ক্রমে ছিল পরেও সেই ক্রমে থাকে। Python-এর sort() আর sorted() সবসময় stable.যেখানে শিখবেন: পর্ব ১৪পর্ব ২১পর্ব ৩৮
- Stack (data structure)স্ট্যাক
- যে কাঠামোতে শেষে যা রাখা হয়, সেটিই আগে বের হয় (LIFO). Python-এ সাধারণ list-এর append আর pop দিয়েই stack চালানো যায়।যেখানে শিখবেন: পর্ব ৪৫পর্ব ৫৫
- Stack frameস্ট্যাক ফ্রেম
- একটি ফাংশন ডাকের নিজস্ব খাতা — তার parameter, local variable আর কোন লাইনে কাজ চলছে। প্রতিটি ডাক আলাদা frame পায়।যেখানে শিখবেন: পর্ব ১৩পর্ব ১৮পর্ব ২৪
- Stack machineস্ট্যাক মেশিন
- যে যন্ত্র হিসাবের মানগুলো একটি স্তূপে (stack) রাখে — নতুন মান ওপরে রাখে, কাজের সময় ওপর থেকে তোলে। CPython-এর VM এভাবে কাজ করে।যেখানে শিখবেন: পর্ব ০৫
- Stack unwindingস্ট্যাক আনওয়াইন্ডিং
- exception ওপরে ওঠার সময় যে ফাংশনগুলো তা ধরেনি, তাদের stack frame একে একে সরিয়ে ফেলা; পথে প্রতিটি finally চলে।যেখানে শিখবেন: পর্ব ২৪
- Standard deviationস্ট্যান্ডার্ড ডেভিয়েশন
- মানগুলো গড় থেকে গড়ে কতটা দূরে ছড়িয়ে আছে তার মাপ। ছোট হলে মানগুলো কাছাকাছি, বড় হলে ছড়ানো।যেখানে শিখবেন: পর্ব ৪৬
- Standard libraryস্ট্যান্ডার্ড লাইব্রেরি
- Python ইনস্টল করলেই সাথে আসা module-এর বিশাল সংগ্রহ (json, csv, pathlib, datetime ইত্যাদি)। আলাদা ইনস্টল ছাড়াই import করা যায়।যেখানে শিখবেন: পর্ব ০১পর্ব ০৭পর্ব ২২
- STAR methodস্টার মেথড
- আচরণগত প্রশ্নের উত্তর গোছানোর কাঠামো: Situation (পরিস্থিতি), Task (দায়িত্ব), Action (আপনার কাজ), Result (ফল ও শিক্ষা)।যেখানে শিখবেন: পর্ব ৫৫
- Starred assignmentস্টারড অ্যাসাইনমেন্ট
- unpacking-এ একটি নামের আগে * দিয়ে বাকি সব মান একটি list হিসেবে নেওয়া, যেমন first, *rest = items. Python 3.0-তে PEP 3132 থেকে এসেছে; এক assignment-এ তারা একটিই।যেখানে শিখবেন: পর্ব ১৫পর্ব ৫২
- Statementস্টেটমেন্ট
- প্রোগ্রামের একটি সম্পূর্ণ নির্দেশ, যেমন একটি print ডাকা। Python-এ সাধারণত প্রতিটি statement আলাদা লাইনে থাকে, শেষে সেমিকোলন লাগে না।যেখানে শিখবেন: পর্ব ০৪পর্ব ১১পর্ব ১৮
- Static analysisস্ট্যাটিক অ্যানালাইসিস
- প্রোগ্রাম না চালিয়ে শুধু কোড পড়ে ভুল খোঁজা। mypy, pyright আর ruff-এর মতো টুল এভাবে কাজ করে।যেখানে শিখবেন: পর্ব ৩৭পর্ব ৪৪পর্ব ৫০
- Static typingস্ট্যাটিক টাইপিং
- প্রতিটি ভ্যারিয়েবলের টাইপ আগে থেকেই নির্দিষ্ট, আর compile করার সময়ই যাচাই হয়। C, C++, Java এই ধরনের।যেখানে শিখবেন: পর্ব ০১পর্ব ০৬
- statistics moduleস্ট্যাটিসটিকস মডিউল
- Python-এর standard library-র module, যাতে mean, median, mode, stdev-এর মতো সাধারণ পরিসংখ্যানের function আছে। ছোট ডেটার জন্য যথেষ্ট, বড় ডেটায় ধীর।যেখানে শিখবেন: পর্ব ৪৬
- Status codeস্ট্যাটাস কোড
- response-এর তিন অঙ্কের সংখ্যা, যা ফলাফল জানায় — 2xx সফল, 4xx client-এর দিকের সমস্যা (যেমন 404 পাওয়া যায়নি), 5xx সার্ভারের ভেতরের ভুল।যেখানে শিখবেন: পর্ব ৪৭পর্ব ৪৮পর্ব ৫৩
- stderr (standard error)স্ট্যান্ডার্ড এরর
- error ও সতর্কবার্তার জন্য আলাদা আউটপুটের পথ; আউটপুট ফাইলে পাঠালেও এটি পর্দায় আসে। Python-এ লেখা হয় print(..., file=sys.stderr) দিয়ে।যেখানে শিখবেন: পর্ব ১০পর্ব ২৪পর্ব ৩৯
- stdin (standard input)স্ট্যান্ডার্ড ইনপুট
- প্রোগ্রামের মূল ইনপুটের পথ; সাধারণত কীবোর্ড, তবে ফাইল বা অন্য প্রোগ্রামও হতে পারে। Python-এ input() এখান থেকে একটি লাইন পড়ে।যেখানে শিখবেন: পর্ব ১০
- stdout (standard output)স্ট্যান্ডার্ড আউটপুট
- প্রোগ্রামের মূল আউটপুটের পথ, সাধারণত টার্মিনালের পর্দা; print() স্বাভাবিকভাবে এখানেই লেখে।যেখানে শিখবেন: পর্ব ১০পর্ব ৩৬পর্ব ৩৯
- Step intoস্টেপ ইনটু
- Debugger-এ লাইনের ফাংশন ডাকের ভেতরে ঢুকে সেই ফাংশনের প্রথম লাইনে থামা। pdb-তে s, VS Code-এ F11.যেখানে শিখবেন: পর্ব ৪০
- Step outস্টেপ আউট
- Debugger-এ এখনকার ফাংশনের বাকিটা চালিয়ে যে ফাংশন একে ডেকেছিল সেখানে ফেরা। VS Code-এ Shift+F11; pdb-তে কাছাকাছি কাজ করে r (return).যেখানে শিখবেন: পর্ব ৪০
- Step overস্টেপ ওভার
- Debugger-এ এখনকার লাইন পুরোটা চালিয়ে পরের লাইনে থামা; লাইনে ফাংশন ডাক থাকলে তার ভেতরে না ঢুকে একবারে চালিয়ে দেয়। pdb-তে n, VS Code-এ F10.যেখানে শিখবেন: পর্ব ৪০
- StopIterationস্টপ ইটারেশন
- iterator-এ আর জিনিস না থাকলে next() যে exception তোলে। for লুপ এটা ধরে চুপচাপ থেমে যায়; এটা ভুল নয়, স্বাভাবিক শেষের সংকেত।যেখানে শিখবেন: পর্ব ৩৪
- str.format()স্ট্রিং ডট ফরম্যাট
- f-string-এর আগের formatting পদ্ধতি (Python 3.0 ও 2.6 থেকে), যেমন "{} টাকা".format(50) লেখা। spec-এর নিয়ম f-string-এর মতোই।যেখানে শিখবেন: পর্ব ১০
- __str__ / str()ডান্ডার স্ট্র
- object-এর ব্যবহারকারী-বান্ধব, সুন্দর লেখা-রূপ দেয় এমন dunder method. print() আর f-string এটি ডাকে; না থাকলে __repr__ ব্যবহার হয়।যেখানে শিখবেন: পর্ব ৩০
- Strategy patternস্ট্র্যাটেজি প্যাটার্ন
- কোনো কাজের “কীভাবে” অংশটি আলাদা object বা ফাংশনে রেখে বাইরে থেকে দেওয়া, যাতে চালানোর সময় তা অদলবদল করা যায়।যেখানে শিখবেন: পর্ব ৩১
- Streamস্ট্রিম
- প্রোগ্রাম আর বাইরের জগতের মধ্যে লেখা বা বাইট আসা-যাওয়ার একটি পথ, নলের মতো — এক মাথা দিয়ে ঢোকে, অন্য মাথা দিয়ে বের হয়।যেখানে শিখবেন: পর্ব ১০পর্ব ২৫
- Stress testingস্ট্রেস টেস্টিং
- হাজারো এলোমেলো ছোট ইনপুটে দ্রুত সমাধান আর ধীর-কিন্তু-নিশ্চিত সমাধান চালিয়ে উত্তর মেলানো; যে ইনপুটে মেলে না, সেটিই বাগ ধরার সূত্র।যেখানে শিখবেন: পর্ব ৪৫
- strftimeস্ট্রিং-ফরম্যাট-টাইম
- datetime বা date-কে format সংকেত (%d, %m, %Y ইত্যাদি) মেনে পছন্দের রূপের লেখায় বদলানোর method.যেখানে শিখবেন: পর্ব ২৭
- Strict mode (mypy --strict)স্ট্রিক্ট মোড
- mypy-র কঠোর অবস্থা, যেখানে hint ছাড়া ফাংশন নিষেধ আর অকারণ Any-তে সতর্কতা সহ অনেক বাড়তি নিয়ম একসাথে চালু হয়।যেখানে শিখবেন: পর্ব ৩৭
- String (str)স্ট্রিং
- কোটের (একক বা জোড়া) ভেতরে লেখা অক্ষরের সারি, যেমন "চা"। Python 3-এ প্রতিটি string Unicode, তাই বাংলাও চলে।যেখানে শিখবেন: পর্ব ০৪পর্ব ০৬পর্ব ০৯
- String interningইন্টার্নিং
- সমান কিছু string-এর একটিমাত্র কপি রেখে সবাইকে সেটিই দেওয়ার কৌশল। CPython নিজে কিছু string intern করে, তবে কোনগুলো তা নিশ্চিত নয়, তাই string তুলনায় == ব্যবহার করুন।যেখানে শিখবেন: পর্ব ০৮পর্ব ০৯পর্ব ৫৩
- strptimeস্ট্রিং-পার্স-টাইম
- একটি লেখাকে (যেমন "25/12/2026") নির্দিষ্ট format সংকেত মেনে datetime object-এ বদলানোর ফাংশন। ধাঁচ না মিললে ValueError দেয়।যেখানে শিখবেন: পর্ব ২৭
- Structural pattern matchingস্ট্রাকচারাল প্যাটার্ন ম্যাচিং
- ডেটার গঠন (দৈর্ঘ্য, চাবি, type, মান) মিলিয়ে দেখা আর ভেতরের অংশ নাম দিয়ে বের করা; PEP 634-এ সংজ্ঞায়িত।যেখানে শিখবেন: পর্ব ১১পর্ব ১৫
- Structural typingস্ট্রাকচারাল টাইপিং
- type-এর সামঞ্জস্য ঠিক হয় আকার দেখে, অর্থাৎ দরকারি method ও attribute আছে কি না; বংশ বা ঘোষণা দেখে নয়।যেখানে শিখবেন: পর্ব ৩৩পর্ব ৩৭পর্ব ৫১
- Structured concurrencyস্ট্রাকচার্ড কনকারেন্সি
- নকশার নীতি যে একসাথে চলা কাজের আয়ু কোডের একটি ব্লকের সাথে বাঁধা থাকবে, যাতে কোনো কাজ পেছনে হারিয়ে না যায় আর কোনো ভুল চাপা না পড়ে; Trio-র nursery আর asyncio-র TaskGroup এর উদাহরণ।যেখানে শিখবেন: পর্ব ৪২
- Structured loggingস্ট্রাকচার্ড লগিং
- log বার্তা সাধারণ বাক্যের বদলে নির্দিষ্ট ঘরসহ লেখা, প্রায়ই JSON হিসেবে — যেমন event, order_id, amount. এতে মেশিন দিয়ে খোঁজা ও গোনা সহজ হয়।যেখানে শিখবেন: পর্ব ৪০
- Structured programmingস্ট্রাকচার্ড প্রোগ্রামিং
- অবাধ goto-র বদলে শুধু ক্রম, নির্বাচন (if) আর পুনরাবৃত্তি (লুপ) — এই কয়েকটি পরিচিত গঠন দিয়ে প্রোগ্রাম লেখার নীতি, যা ১৯৬০-৭০-এর দশকে জনপ্রিয় হয়।যেখানে শিখবেন: পর্ব ১২
- Stub file (.pyi)স্টাব ফাইল
- শুধু ফাংশন ও class-এর সংজ্ঞা আর type hint থাকা ফাইল, শরীর ছাড়া। যে লাইব্রেরি নিজে hint দেয় না, তার hint এভাবে আলাদা দেওয়া হয়; standard library-র stub থাকে typeshed-এ।যেখানে শিখবেন: পর্ব ৩৭
- Style guideস্টাইল গাইড
- কোড কীভাবে লেখা হবে — নাম, ফাঁকা জায়গা, লাইনের দৈর্ঘ্য, import — তার লিখিত নিয়মের সংকলন; Python-এর অফিসিয়ালটি PEP 8.যেখানে শিখবেন: পর্ব ৪৪
- Subclassসাবক্লাস
- অন্য একটি type থেকে উত্তরাধিকার পাওয়া type; সে মূল type-এর সব আচরণ পায়, যেমন bool হলো int-এর subclass. বিস্তারিত পর্ব ৩১-এ।যেখানে শিখবেন: পর্ব ০৬পর্ব ১৫পর্ব ২৪
- Subcommandসাবকমান্ড
- একটি টুলের ভেতরের আলাদা কাজ, যার নিজের আর্গুমেন্ট আছে — যেমন git add, git commit. argparse-এ add_subparsers() দিয়ে বানানো হয়।যেখানে শিখবেন: পর্ব ৪৯পর্ব ৫১
- subprocessসাবপ্রসেস
- standard library-র module, যা Python থেকে অন্য প্রোগ্রাম (git, ffmpeg ইত্যাদি) চালায়, তার আউটপুট ও exit code ধরে। প্রধান ফাংশন subprocess.run, যাতে আর্গুমেন্ট list আকারে দেওয়া নিরাপদ।যেখানে শিখবেন: পর্ব ৪৯
- Subsetসাবসেট
- a-র প্রতিটি উপাদান b-তেও থাকলে a হলো b-এর subset. Python-এ a <= b বা a.issubset(b); a < b মানে proper subset, অর্থাৎ b-তে অন্তত একটি বাড়তি উপাদান আছে।যেখানে শিখবেন: পর্ব ১৭
- super()সুপার
- একটি built-in, যা object-এর MRO-তে বর্তমান class-এর পরের class-এর method ডাকতে দেয়। সাধারণত super().__init__(...) দিয়ে বাবার অংশ তৈরি করা হয়।যেখানে শিখবেন: পর্ব ৩১পর্ব ৫৪
- Supersetসুপারসেট
- a যদি b-এর সব উপাদান ধারণ করে, তবে a হলো b-এর superset. Python-এ a >= b বা a.issuperset(b).যেখানে শিখবেন: পর্ব ১৭
- Supply-chain attackসাপ্লাই-চেইন অ্যাটাক
- সরাসরি আপনার কোডে নয়, আপনি যে package, টুল বা build-প্রক্রিয়ার ওপর নির্ভর করেন সেখানে ক্ষতিকর কোড ঢুকিয়ে আক্রমণ। একটি জনপ্রিয় package আক্রান্ত হলে হাজার প্রজেক্ট ঝুঁকিতে পড়ে।যেখানে শিখবেন: পর্ব ২৩
- Swagger UIসোয়াগার ইউআই
- OpenAPI বর্ণনা থেকে তৈরি ইন্টারঅ্যাকটিভ ডকুমেন্টেশন পেজ, যেখান থেকে ব্রাউজারেই request পাঠিয়ে দেখা যায়; FastAPI-তে /docs ঠিকানায়।যেখানে শিখবেন: পর্ব ৪৮
- Swallowing exceptionsসোয়ালোয়িং এক্সেপশনস
- except: pass-এর মতো কোড দিয়ে ভুল ধরে কিছু না করে চুপচাপ ফেলে দেওয়া। বাগ লুকিয়ে যায় আর প্রোগ্রাম ভুল ফল নিয়ে চলতে থাকে।যেখানে শিখবেন: পর্ব ২৪পর্ব ৩৫পর্ব ৩৬
- Switch intervalসুইচ ইন্টারভাল
- অন্য thread অপেক্ষায় থাকলে চলমান thread কতক্ষণ পর GIL ছাড়বে; ডিফল্ট ০.০০৫ সেকেন্ড, sys.getswitchinterval() দিয়ে দেখা যায়।যেখানে শিখবেন: পর্ব ৪১
- switch statementসুইচ স্টেটমেন্ট
- C, Java-র মতো ভাষায় একটি মানকে কয়েকটি ধ্রুবকের সাথে তুলনা করে শাখা বাছাইয়ের কাঠামো; Python-এ এটি নেই।যেখানে শিখবেন: পর্ব ১১
- Symmetric differenceসিমেট্রিক ডিফারেন্স
- দুটি set-এর ঠিক একটিতে আছে এমন উপাদান — দুটোতে থাকাগুলো বাদ। Python-এ a ^ b, যা (a | b) - (a & b)-এর সমান।যেখানে শিখবেন: পর্ব ১৭
- Syntactic sugarসিনট্যাকটিক সুগার
- যে লেখার ধরন নতুন কোনো ক্ষমতা দেয় না, শুধু একই কাজ সহজে ও পরিষ্কারভাবে লিখতে দেয়। যেমন @log মানে func = log(func).যেখানে শিখবেন: পর্ব ৩৫পর্ব ৫৪
- Syntaxসিনট্যাক্স
- একটি প্রোগ্রামিং ভাষার ব্যাকরণ — কোন শব্দ, চিহ্ন আর ফাঁকা জায়গা কোন ক্রমে লিখলে ভাষাটি তা বুঝবে। Python-এ ভুল হলে SyntaxError আসে।যেখানে শিখবেন: পর্ব ০২পর্ব ০৪
- SyntaxErrorসিনট্যাক্স এরর
- ব্যাকরণের ভুল — যেমন বন্ধনী বা কোট বন্ধ না করা, কমা বাদ পড়া। চালানোর আগেই ধরা পড়ে, তাই ফাইলের একটি লাইনও চলে না।যেখানে শিখবেন: পর্ব ০৪পর্ব ৪৪পর্ব ৫২
- SyntaxWarningসিনট্যাক্স ওয়ার্নিং
- Compile-এর সময় compiler যে সতর্কবার্তা দেয়, যখন কোড বৈধ কিন্তু প্রায় নিশ্চিত ভুল, যেমন x is 5. প্রোগ্রাম থামে না, বার্তা আসে stderr-এ।যেখানে শিখবেন: পর্ব ০৮পর্ব ৫৩
- sys.argvসিস আর্গ-ভি
- terminal থেকে প্রোগ্রাম চালানোর সময় দেওয়া শব্দগুলোর list. প্রথম ঘরে স্ক্রিপ্টের নাম, বাকিগুলো আর্গুমেন্ট — সবই str টাইপের।যেখানে শিখবেন: পর্ব ৪৯
- sys.modulesসিস ডট মডিউলস
- লোড হওয়া সব module-এর cache — একটি dict, যার চাবি module-এর নাম আর মান module object. import প্রথমে এখানেই দেখে, তাই একটি module পুরো প্রোগ্রামে একবারই চলে।যেখানে শিখবেন: পর্ব ২২পর্ব ৫২
- sys.pathসিস ডট পাথ
- যে ফোল্ডারগুলোতে Python module খোঁজে, তাদের list — সাধারণত আগে script-এর ফোল্ডার, তারপর PYTHONPATH, standard library আর site-packages. খোঁজা উপর থেকে নিচে, প্রথম মিলেই থামে।যেখানে শিখবেন: পর্ব ২২
- sys.prefix / sys.base_prefixসিস ডট প্রিফিক্স
- sys.prefix হলো চলমান Python-পরিবেশের মূল ফোল্ডার, sys.base_prefix হলো আসল Python ইনস্টলের ফোল্ডার। দুটি আলাদা হলে বুঝবেন কোড একটি virtual environment-এর ভেতরে চলছে।যেখানে শিখবেন: পর্ব ২৩
- SystemExitসিস্টেম এক্সিট
- sys.exit() ডাকলে যে exception ওঠে; কেউ না ধরলে প্রোগ্রাম বন্ধ হয়। এটিও সরাসরি BaseException-এর সন্তান।যেখানে শিখবেন: পর্ব ২৪
T
- TabErrorট্যাব এরর
- indentation-এ tab আর space অস্পষ্টভাবে মেশালে Python যে error দেয়।যেখানে শিখবেন: পর্ব ১১
- Taskটাস্ক
- asyncio-তে event loop-এ জমা দেওয়া একটি coroutine; create_task, gather বা TaskGroup তৈরি করে, আর এটা নিজে থেকেই চলতে শুরু করে।যেখানে শিখবেন: পর্ব ৪২
- Task Schedulerটাস্ক শিডিউলার
- Windows-এর নির্দিষ্ট সময়ে বা ঘটনায় প্রোগ্রাম চালানোর ব্যবস্থা — cron-এর Windows রূপ। গ্রাফিক্যাল অ্যাপ বা schtasks কমান্ড দিয়ে কাজ যোগ করা যায়।যেখানে শিখবেন: পর্ব ৪৯
- TaskGroupটাস্ক গ্রুপ
- Python 3.11 থেকে আসা asyncio.TaskGroup; async with ব্লকের ভেতরে Task তৈরি করে, সব শেষ না হলে ব্লক ছাড়ে না, একটি ব্যর্থ হলে বাকিদের cancel করে ভুলগুলো ExceptionGroup-এ দেয়।যেখানে শিখবেন: পর্ব ৪২
- Technical interviewটেকনিক্যাল ইন্টারভিউ
- চাকরির যে ধাপে প্রার্থীর কোডিং, সমস্যা সমাধান আর প্রযুক্তিগত জ্ঞান যাচাই করা হয় — প্রায়ই লাইভে কোড লিখে আর ব্যাখ্যা করে।যেখানে শিখবেন: পর্ব ৫৫
- Tell, don't askটেল, ডোন্ট আস্ক
- নকশার একটি সূত্র: object-এর ডেটা বাইরে এনে সিদ্ধান্ত না নিয়ে object-কে কাজটি করতে বলুন (book.borrow(name)), যাতে নিয়মটি class-এর ভেতরে এক জায়গায় থাকে।যেখানে শিখবেন: পর্ব ২৯
- Template method patternটেমপ্লেট মেথড প্যাটার্ন
- base class-এ একটি সাধারণ method কাজের পুরো কাঠামো ঠিক করে, আর মাঝের পরিবর্তনশীল ধাপগুলো abstract method হিসেবে subclass-এর ওপর ছেড়ে দেয়।যেখানে শিখবেন: পর্ব ৩৩
- Terminalটার্মিনাল
- লেখা কমান্ড দিয়ে কম্পিউটারকে নির্দেশ দেওয়ার জানালা, যেমন PowerShell বা Mac-এর Terminal অ্যাপ।যেখানে শিখবেন: পর্ব ০৩
- Terms of Serviceটার্মস অফ সার্ভিস
- একটি সাইট বা API ব্যবহারের শর্তাবলি, যেখানে প্রায়ই লেখা থাকে স্বয়ংক্রিয় সংগ্রহ, বাণিজ্যিক ব্যবহার বা উৎসের নাম দেখানো নিয়ে নিয়ম।যেখানে শিখবেন: পর্ব ৪৭
- Test coverageটেস্ট কভারেজ
- টেস্ট চলার সময় কোডের কত শতাংশ লাইন (বা শাখা) অন্তত একবার চলেছে তার মাপ; ফল ঠিক ছিল কি না বলে না।যেখানে শিখবেন: পর্ব ৩৯
- Test discoveryটেস্ট ডিসকভারি
- নামের নিয়ম দেখে (test_*.py ফাইল, test_ ফাংশন) টুলের নিজে থেকে টেস্ট খুঁজে নেওয়া।যেখানে শিখবেন: পর্ব ৩৯
- Test doubleটেস্ট ডাবল
- টেস্টে আসল জিনিসের (SMS সার্ভিস, নেটওয়ার্ক, ঘড়ি) জায়গায় বসানো যেকোনো বদলি — fake, mock, stub ইত্যাদির সাধারণ নাম।যেখানে শিখবেন: পর্ব ৩৯
- Test runnerটেস্ট রানার
- যে প্রোগ্রাম টেস্টগুলো খুঁজে একে একে চালায়, পাস-ব্যর্থ গোনে আর ফল জানায় — যেমন pytest বা unittest-এর runner.যেখানে শিখবেন: পর্ব ৩৯
- Test suiteটেস্ট স্যুইট
- একটি প্রজেক্টের সব টেস্টের সংগ্রহ, যা একটি কমান্ডে একসাথে চালানো যায়।যেখানে শিখবেন: পর্ব ৩৯
- Test-driven development (TDD)টেস্ট-ড্রিভেন ডেভেলপমেন্ট
- আগে একটি ব্যর্থ টেস্ট লেখা, তারপর পাস করানোর মতো সরলতম কোড, তারপর গোছানো — লাল, সবুজ, refactor চক্রে কোড তৈরি।যেখানে শিখবেন: পর্ব ৩৯
- TestCaseটেস্টকেস
- unittest-এর base class; এর subclass-এ test দিয়ে শুরু প্রতিটি method একটি টেস্ট, আর assertEqual-এর মতো যাচাইয়ের method পাওয়া যায়।যেখানে শিখবেন: পর্ব ৩৯
- TestClientটেস্ট ক্লায়েন্ট
- FastAPI/Starlette-এর টুল, যা আসল server বা নেটওয়ার্ক ছাড়াই app-এ request পাঠিয়ে response দেয় — pytest-এ API টেস্ট করতে ব্যবহৃত।যেখানে শিখবেন: পর্ব ৪৮
- Text modeটেক্সট মোড
- open()-এর ডিফল্ট মোড, যেখানে Python বাইটকে encoding মেনে str-এ বদলায় আর newline অনুবাদ করে। লেখা ফাইলের জন্য, সাথে encoding="utf-8" দিয়ে।যেখানে শিখবেন: পর্ব ২৫
- Think aloudথিংক অ্যালাউড
- সমস্যা সমাধানের সময় নিজের ভাবনার ধাপগুলো জোরে বলে যাওয়া, যাতে পরীক্ষক বা ইন্টারভিউয়ার আপনার যুক্তির পথ দেখতে পান।যেখানে শিখবেন: পর্ব ৫৪পর্ব ৫৫
- Third-party packageথার্ড-পার্টি প্যাকেজ
- Python-এর সাথে আসে না, অন্যদের লেখা package — সাধারণত PyPI থেকে pip দিয়ে ইনস্টল করা হয়, যেমন requests বা numpy.যেখানে শিখবেন: পর্ব ২৭পর্ব ৩৯পর্ব ৪৪
- Threadথ্রেড
- একটি process-এর ভেতরে কাজের একটি স্বাধীন ধারা; একই process-এর thread-গুলো মেমরি ভাগ করে, আর অপারেটিং সিস্টেম তাদের মাঝে কাজ বদলায়।যেখানে শিখবেন: পর্ব ৪১পর্ব ৪২
- Thread poolথ্রেড পুল
- আগে থেকে তৈরি কয়েকটি কর্মী-thread, যারা একটি সারি থেকে কাজ তুলে নেয়; প্রতিটি কাজের জন্য নতুন thread বানাতে হয় না।যেখানে শিখবেন: পর্ব ৪১পর্ব ৪৮
- Thread-safeথ্রেড-সেফ
- যে কোড বা object একাধিক thread একসাথে ব্যবহার করলেও ভুল ফল দেয় না।যেখানে শিখবেন: পর্ব ৪১
- threading moduleথ্রেডিং মডিউল
- Python-এর standard library module, যা Thread, Lock, RLock, Event-এর মতো thread-এর হাতিয়ার দেয়।যেখানে শিখবেন: পর্ব ৪১
- Throwaway variable (_)থ্রোঅ্যাওয়ে ভ্যারিয়েবল
- যে মান দরকার নেই তাকে _ নামে বসানোর রীতি, যেমন name, _, gpa = record. Python-এর কাছে _ সাধারণ নাম, পাঠকের কাছে বার্তা: এটি ইচ্ছে করে ফেলে দেওয়া।যেখানে শিখবেন: পর্ব ১৫
- Time complexityটাইম কমপ্লেক্সিটি
- ইনপুটের আকার n বাড়লে একটি অ্যালগরিদমের ধাপের সংখ্যা কীভাবে বাড়ে তার হিসাব, সাধারণত Big-O দিয়ে লেখা হয় — যেমন O(n log n).যেখানে শিখবেন: পর্ব ৪৫
- time.perf_counter()পারফ কাউন্টার
- কোনো কাজে কত সময় লাগল মাপার জন্য সবচেয়ে সূক্ষ্ম ঘড়ি; শুধু সামনে চলে। এর একক মান অর্থহীন, দুটি মানের পার্থক্যই কাজের।যেখানে শিখবেন: পর্ব ২৭পর্ব ৩৫পর্ব ৩৬
- timedeltaটাইমডেল্টা
- দুটি তারিখ বা মুহূর্তের দূরত্ব — কত দিন, সেকেন্ড। দুটি date বিয়োগ করলে পাওয়া যায়, আর date-এর সাথে যোগ করলে নতুন তারিখ হয়।যেখানে শিখবেন: পর্ব ২৭
- timeitটাইম-ইট
- ছোট কোডের টুকরো বহুবার চালিয়ে নির্ভরযোগ্যভাবে সময় মাপার স্ট্যান্ডার্ড module. টার্মিনালে python -m timeit, কোডে timeit.timeit(..., number=...).যেখানে শিখবেন: পর্ব ৪৩
- Timeoutটাইমআউট
- একটি কাজের জন্য সর্বোচ্চ অপেক্ষার সময়; asyncio-তে asyncio.timeout বা wait_for সময় পেরোলে কাজটি cancel করে TimeoutError দেয়।যেখানে শিখবেন: পর্ব ৪২
- Timing attackটাইমিং অ্যাটাক
- কোনো তুলনা বা হিসাবে কত সময় লাগল তা মেপে গোপন তথ্য আন্দাজ করার কৌশল। প্রতিরোধ: hmac.compare_digest-এর মতো সমান-সময়ের তুলনা।যেখানে শিখবেন: পর্ব ৫০
- Timsortটিমসর্ট
- Tim Peters-এর ২০০২ সালে Python 2.3-এর জন্য বানানো সাজানোর অ্যালগরিদম, merge sort আর insertion sort মিলিয়ে। আগে থেকে সাজানো অংশ কাজে লাগায়, stable, আর সবচেয়ে খারাপ ক্ষেত্রে O(n log n).যেখানে শিখবেন: পর্ব ১৪পর্ব ৪৫
- TLE (Time Limit Exceeded)টিএলই
- জাজের রায়, যার মানে প্রোগ্রাম নির্ধারিত সময়সীমার মধ্যে শেষ হয়নি। সাধারণত অ্যালগরিদমের complexity বেশি বা ইনপুট পড়া ধীর হলে আসে।যেখানে শিখবেন: পর্ব ৪৫
- TLS (Transport Layer Security)টি-এল-এস
- সংযোগ এনক্রিপ্ট করার আর server-এর সার্টিফিকেট যাচাই করার প্রোটোকল; HTTPS-এর নিরাপত্তা এখান থেকে আসে।যেখানে শিখবেন: পর্ব ৪৭
- tmp_pathটেম্প পাথ
- pytest-এর তৈরি fixture; প্রতিটি টেস্টকে একটি নতুন, খালি অস্থায়ী ফোল্ডার pathlib.Path হিসেবে দেয়, যাতে আসল ফাইলে হাত না পড়ে।যেখানে শিখবেন: পর্ব ৩৯
- Tokenটোকেন
- কোডের সবচেয়ে ছোট অর্থপূর্ণ টুকরো — যেমন একটি নাম, একটি সংখ্যা বা একটি চিহ্ন। Tokenizer লেখাকে token-এ ভাঙে।যেখানে শিখবেন: পর্ব ০৫
- TOMLটম্ল
- মানুষের পড়ার উপযোগী কনফিগ-ফাইলের ভাষা (Tom's Obvious, Minimal Language). [section] শিরোনাম আর key = value লাইন দিয়ে লেখা। Python 3.11 থেকে tomllib module দিয়ে পড়া যায়।যেখানে শিখবেন: পর্ব ২৩পর্ব ২৬
- Top-kটপ-কে
- একটি সংগ্রহ থেকে সবচেয়ে বড় (বা ছোট) k-টি জিনিস বের করার সমস্যা। পুরোটা sort না করে heap দিয়ে O(n log k)-এ করা যায়।যেখানে শিখবেন: পর্ব ৪৫
- tottimeটট-টাইম
- cProfile-এর কলাম: একটি ফাংশনের শুধু নিজের কোডে মোট সময়, ভেতর থেকে ডাকা অন্য ফাংশনের সময় বাদে। বড় tottime মানে আসল কাজ সেখানেই হচ্ছে।যেখানে শিখবেন: পর্ব ৪৩
- Trace tableট্রেস টেবিল
- Dry run-এর টেবিল: প্রতিটি variable-এর জন্য একটি কলাম আর প্রতিটি ধাপের জন্য একটি সারি, যাতে মান কখন কীভাবে বদলায় তা দেখা যায়।যেখানে শিখবেন: পর্ব ০২পর্ব ৫২
- Tracebackট্রেসব্যাক
- error হলে Python-এর দেওয়া বিবরণ: কোন ফাইল, কোন লাইন, কোন কোড, আর শেষ লাইনে error-এর ধরন ও মেসেজ। নিচ থেকে ওপরে পড়তে হয়।যেখানে শিখবেন: পর্ব ০৪পর্ব ১৬পর্ব ২৪
- tracemallocট্রেস-ম্যালক
- Python-এর স্ট্যান্ডার্ড module (3.4 থেকে), যা দেখায় কোন লাইন কত মেমরি নিয়েছে আর বর্তমান ও সর্বোচ্চ মেমরি ব্যবহার কত।যেখানে শিখবেন: পর্ব ৪৩
- Trailing commaট্রেইলিং কমা
- শেষ উপাদানের পরের কমা। এক উপাদানের tuple লিখতে এটি বাধ্যতামূলক, যেমন (5,); কমা ছাড়া (5) শুধু একটি সংখ্যা।যেখানে শিখবেন: পর্ব ১৫
- Transactionট্রানজ্যাকশন
- কয়েকটি বদলের একটি দল, যা হয় সবগুলো একসাথে স্থায়ী হয় (commit), নয়তো একটিও হয় না (rollback) — যেমন এক হিসাব থেকে কেটে আরেক হিসাবে জমা।যেখানে শিখবেন: পর্ব ৩৬পর্ব ৫১পর্ব ৫৫
- Transitive dependencyট্রানজিটিভ ডিপেন্ডেন্সি
- আপনি সরাসরি চাননি, কিন্তু আপনার dependency-র নিজের প্রয়োজনে যে package আসে। requests ইনস্টল করলে সাথে urllib3, idna, certifi আর charset-normalizer আসে।যেখানে শিখবেন: পর্ব ২৩
- Triple-quoted stringট্রিপল-কোটেড স্ট্রিং
- তিনটি কোট (""" বা ''') দিয়ে লেখা string, যা কয়েক লাইন জুড়ে লেখা যায়; ভেতরের নতুন লাইনগুলোও লেখার অংশ হয়।যেখানে শিখবেন: পর্ব ০৯
- True divisionট্রু ডিভিশন
- Python-এর / অপারেটর, যা আসল ভাগফল দেয় আর ফল সবসময় float হয় — 10 / 2 হলো 5.0. PEP 238 অনুযায়ী Python 3 থেকে এটাই নিয়ম।যেখানে শিখবেন: পর্ব ০৭
- Truncateট্রাঙ্কেট
- ফাইলের লেখা কেটে ছোট করা — সাধারণত শূন্য বাইটে নামানো। "w" মোড ফাইল খোলার মুহূর্তেই এটা করে, তাই পুরোনো লেখা হারিয়ে যায়।যেখানে শিখবেন: পর্ব ২৫
- Trust boundaryট্রাস্ট বাউন্ডারি
- যে রেখায় অবিশ্বস্ত বাইরের ডেটা (ফর্ম, ফাইল, নেটওয়ার্ক, package) আপনার কোডে ঢোকে। এখানেই ডেটা যাচাই করতে হয়।যেখানে শিখবেন: পর্ব ৫০
- Trusted publishingট্রাস্টেড পাবলিশিং
- PyPI-র ব্যবস্থা (২০২৩), যেখানে package আপলোডের জন্য দীর্ঘস্থায়ী পাসওয়ার্ড বা token না রেখে GitHub Actions-এর মতো নির্দিষ্ট CI থেকে স্বল্পমেয়াদি পরিচয়-প্রমাণ দিয়ে প্রকাশ করা যায়।যেখানে শিখবেন: পর্ব ২৩পর্ব ৫০
- Truthinessট্রুথিনেস
- যেকোনো মানকে সত্য বা মিথ্যা হিসেবে বিচার করার নিয়ম: শূন্য, খালি জিনিস, None আর False মিথ্যা ধরা হয়; বাকি প্রায় সব সত্য। bool() দিয়ে দেখা যায়।যেখানে শিখবেন: পর্ব ০৬পর্ব ০৮পর্ব ১১
- try/exceptট্রাই/এক্সেপ্ট
- Python-এ exception ধরার কাঠামো: try-এর নিচে ভুল হতে পারে এমন কোড, আর except-এর নিচে নির্দিষ্ট ধরনের ভুল হলে কী করতে হবে। সঙ্গে ঐচ্ছিক else ও finally থাকতে পারে।যেখানে শিখবেন: পর্ব ২৪
- Tupleটাপল
- কমা দিয়ে আলাদা করা মানের একটি ক্রম, যা তৈরির পর বদলানো যায় না, যেমন (20, 10). বিস্তারিত পর্ব ১৫-এ।যেখানে শিখবেন: পর্ব ০৬পর্ব ১৩পর্ব ১৪
- Two pointersটু পয়েন্টার্স
- একটি (প্রায়ই সাজানো) সারিতে দুটি সূচক রেখে শর্ত অনুযায়ী একটি একটি করে সরানোর কৌশল। দুই লুপের O(n²) কাজ প্রায়ই O(n)-এ নামে।যেখানে শিখবেন: পর্ব ৪৫পর্ব ৫৫
- Two-factor authentication (2FA)টু-ফ্যাক্টর অথেন্টিকেশন
- পাসওয়ার্ডের সাথে দ্বিতীয় একটি প্রমাণ (ফোনের অ্যাপের কোড বা নিরাপত্তা-চাবি) চাওয়া। পাসওয়ার্ড চুরি হলেও অ্যাকাউন্টে ঢোকা কঠিন হয়।যেখানে শিখবেন: পর্ব ২৩
- Type aliasটাইপ অ্যালিয়াস
- একটি type-এর আরেকটি নাম, যেমন type Taka = int. Python 3.12 থেকে type statement দিয়ে লেখা হয়; alias নতুন type নয়, শুধু ডাকনাম।যেখানে শিখবেন: পর্ব ৩৭
- Type checkerটাইপ চেকার
- যে টুল কোড না চালিয়েই type hint পড়ে ভুল খোঁজে, যেমন mypy বা pyright.যেখানে শিখবেন: পর্ব ৩৩পর্ব ৩৭
- Type conversionটাইপ কনভার্শন
- এক type-এর মান থেকে অন্য type-এর নতুন object বানানো, যেমন int("42") বা str(10). পুরোনো object বদলায় না।যেখানে শিখবেন: পর্ব ০৬পর্ব ১০
- Type hintটাইপ হিন্ট
- নামের পাশে প্রত্যাশিত type লিখে রাখা, যেমন age: int = 20. Python চলার সময় এটি যাচাই করে না; mypy-র মতো টুল আর editor এটি ব্যবহার করে।যেখানে শিখবেন: পর্ব ০৬পর্ব ১৩পর্ব ৩৩
- Type narrowingটাইপ ন্যারোয়িং
- if x is None বা isinstance-এর মতো পরীক্ষার পরে type checker-এর একটি union থেকে অসম্ভব type বাদ দিয়ে নির্দিষ্ট type ধরে নেওয়া।যেখানে শিখবেন: পর্ব ৩৭
- Type parameterটাইপ প্যারামিটার
- Python 3.12-এর syntax-এ ফাংশন বা class-এর নামের পরে বর্গ বন্ধনীতে ঘোষিত type variable, যেমন def first[T](...). PEP 695 থেকে এসেছে।যেখানে শিখবেন: পর্ব ৩৭
- Type slotটাইপ স্লট
- CPython-এ প্রতিটি type-এর ভেতরের C কাঠামোর একটি নির্দিষ্ট ঘর, যেখানে যোগ, দৈর্ঘ্য, hash-এর মতো কাজের ফাংশন বসানো থাকে। এজন্যই dunder খোঁজা হয় type-এ, আর operator দ্রুত চলে।যেখানে শিখবেন: পর্ব ৩০
- Type variable (TypeVar)টাইপ ভ্যারিয়েবল
- type-এর জায়গায় বসানো একটি নাম, যেমন T, যা প্রতিবার ডাকার সময় আসল type দিয়ে পূরণ হয়। এভাবে input আর output-এর type-এর সম্পর্ক লেখা যায়।যেখানে শিখবেন: পর্ব ৩৭
- TypedDictটাইপড ডিক্ট
- dict-এর প্রতিটি চাবির নাম আর তার মানের type লিখে রাখার উপায়, JSON-এর মতো ডেটার জন্য। চালানোর সময় এটি সাধারণ dict-ই থাকে।যেখানে শিখবেন: পর্ব ৩৭
- TypeErrorটাইপ এরর
- যে exception আসে যখন কোনো কাজ ভুল type-এর object-এ করা হয়, যেমন "250" + 50. Python লেখা আর সংখ্যা নিজে থেকে মেশায় না।যেখানে শিখবেন: পর্ব ০৬পর্ব ০৮পর্ব ০৯
- Typerটাইপার
- click-এর ওপর তৈরি তৃতীয় পক্ষের লাইব্রেরি, যা ফাংশনের type hint আর default মান পড়েই কমান্ড-লাইনের আর্গুমেন্ট ও help বানায়।যেখানে শিখবেন: পর্ব ৪৯
- typing.get_type_hints()গেট টাইপ হিন্টস
- একটি object-এর annotation পড়ে আসল type-এর dict ফেরত দেয়; string আকারে লেখা hint-কেও type-এ বদলে নেয়।যেখানে শিখবেন: পর্ব ৩৭
U
- UnboundLocalErrorআনবাউন্ড লোকাল এরর
- যে error আসে যখন ফাংশনের ভেতরে একটি নাম local (কারণ কোথাও তাতে assign আছে), কিন্তু মান দেওয়ার আগেই তাকে পড়া হয়। NameError-এর একটি subclass; সাধারণ কারণ global বা nonlocal লিখতে ভুলে যাওয়া।যেখানে শিখবেন: পর্ব ২০পর্ব ৫২পর্ব ৫৪
- Unicodeইউনিকোড
- বিশ্বের প্রায় সব ভাষার প্রতিটি অক্ষরকে একটি নির্দিষ্ট নম্বর দেওয়ার আন্তর্জাতিক মান। বাংলা অক্ষরও এর অংশ, আর ফাইলে সাধারণত UTF-8 রূপে সেভ হয়।যেখানে শিখবেন: পর্ব ০৪পর্ব ০৬পর্ব ০৯
- Unicode normalizationনরমালাইজেশন
- একই দেখতে কিন্তু ভিন্ন code point-এ লেখা টেক্সটকে একটি আদর্শ রূপে (যেমন NFC) বদলে নেওয়া, যাতে তুলনা ঠিকঠাক হয়। Python-এ unicodedata.normalize() দিয়ে করা হয়।যেখানে শিখবেন: পর্ব ০৯পর্ব ২৮পর্ব ৫৫
- Uniform access principleইউনিফর্ম অ্যাক্সেস প্রিন্সিপল
- Bertrand Meyer-এর নীতি: একটি মান জমা রাখা না হিসাব করা, তা ডাকার লেখার রূপ দেখে বোঝা যাবে না। Python-এ property এই নীতি মেনে চলে।যেখানে শিখবেন: পর্ব ৩২
- Unionইউনিয়ন
- দুটি set-এর যেকোনো একটিতে আছে এমন সব উপাদান নিয়ে নতুন set. Python-এ a | b বা a.union(b).যেখানে শিখবেন: পর্ব ১৭
- Union type (X | Y)ইউনিয়ন টাইপ
- দুই বা ততোধিক type-এর যেকোনো একটি, যেমন int | str বা Student | None. Python 3.10 থেকে খাড়া দাগ দিয়ে লেখা যায়; পুরোনো রূপ Union[...] আর Optional[...].যেখানে শিখবেন: পর্ব ৩৭
- Unit testইউনিট টেস্ট
- একটি ছোট অংশ (সাধারণত একটি ফাংশন) আলাদা করে নির্দিষ্ট ইনপুটে চালিয়ে প্রত্যাশিত ফল মেলানো পরীক্ষা।যেখানে শিখবেন: পর্ব ২১পর্ব ৩৩পর্ব ৩৯
- unittestইউনিটটেস্ট
- Python-এর স্ট্যান্ডার্ড লাইব্রেরির টেস্ট-কাঠামো (Python 2.1 থেকে), JUnit-এর আদলে class-ভিত্তিক: TestCase, setUp, assertEqual.যেখানে শিখবেন: পর্ব ৩৯
- Universal newlinesইউনিভার্সাল নিউলাইনস
- text মোডে Python-এর newline অনুবাদ: পড়ার সময় \r\n বা \r বদলে \n হয়, লেখার সময় \n বদলে OS-এর নিজস্ব চিহ্ন হয়। newline="" দিলে অনুবাদ বন্ধ।যেখানে শিখবেন: পর্ব ২৫
- Unpackingআনপ্যাকিং
- একটি tuple বা list-এর মানগুলো খুলে আলাদা আলাদা নামে দেওয়া, যেমন a, b = (20, 10). Swap এই কৌশলেই কাজ করে।যেখানে শিখবেন: পর্ব ০৬পর্ব ১০পর্ব ১২
- UPPER_SNAKE_CASEআপার স্নেক কেস
- সব অক্ষর বড় হাতের আর শব্দের মাঝে আন্ডারস্কোর — যেমন PASS_MARK; PEP 8-এ module-স্তরের ধ্রুবকের নামের ধাঁচ।যেখানে শিখবেন: পর্ব ৪৪
- URL (Uniform Resource Locator)ইউ-আর-এল
- ইন্টারনেটে একটি জিনিসের পূর্ণ ঠিকানা: scheme, host, port, path, query আর fragment নিয়ে গঠিত।যেখানে শিখবেন: পর্ব ৪৭
- urllibইউ-আর-এল-লিব
- Python-এর standard library-র URL ও HTTP package: urllib.parse (URL ভাঙা-বানানো), urllib.request (অনুরোধ পাঠানো), urllib.robotparser (robots.txt পড়া)।যেখানে শিখবেন: পর্ব ৪৭
- User-Agentইউজার-এজেন্ট
- যে header-এ client জানায় সে কোন প্রোগ্রাম। ভদ্র বট এখানে নিজের নাম আর যোগাযোগের ঠিকানা দেয়।যেখানে শিখবেন: পর্ব ৪৭
- UTCইউটিসি
- Coordinated Universal Time — পৃথিবীর সব time zone মাপার মূল ঘড়ি। বাংলাদেশের মান সময় UTC+6, অর্থাৎ ৬ ঘণ্টা এগিয়ে।যেখানে শিখবেন: পর্ব ২৭
- UTF-8ইউটিএফ-এইট
- Unicode code point-কে বাইটে রূপান্তরের সবচেয়ে প্রচলিত নিয়ম; ইংরেজি অক্ষর ১ বাইট, বাংলা ৩ বাইট। Python 3 সোর্স ফাইলের ডিফল্ট encoding এটিই।যেখানে শিখবেন: পর্ব ০৩পর্ব ০৯পর্ব ২৫
- uvইউ-ভি
- Astral কোম্পানির Rust-এ লেখা দ্রুত Python প্যাকেজ ও প্রজেক্ট ম্যানেজার (২০২৪)। venv তৈরি, package ইনস্টল, lock file, এমনকি Python নিজে ইনস্টল — এক টুলে। pip-এর মতো কমান্ডও (uv pip) দেয়।যেখানে শিখবেন: পর্ব ২৩
- Uvicornইউভিকর্ন
- একটি দ্রুত ASGI server, যা নেটওয়ার্ক থেকে request নিয়ে FastAPI বা Starlette-এর মতো ASGI application-কে দেয়।যেখানে শিখবেন: পর্ব ৪৮
V
- Value objectভ্যালু অবজেক্ট
- যে object-এর পরিচয় তার মান দিয়ে, যেমন টাকা, তারিখ বা স্থানাঙ্ক। দুটি সমান মানের value object সমান ধরা হয়; এদের সাধারণত immutable আর hashable বানানো হয়।যেখানে শিখবেন: পর্ব ৩০
- ValueErrorভ্যালু এরর
- যে exception আসে যখন type ঠিক কিন্তু মানটি গ্রহণযোগ্য নয়, যেমন int("12.5") বা int("abc").যেখানে শিখবেন: পর্ব ০৬পর্ব ১০পর্ব ১৪
- Variableভ্যারিয়েবল
- একটি মানের দেওয়া নাম, যেমন best = 72. Python-এ variable হলো একটি object-এর দিকে নির্দেশ করা লেবেল; পরে নামটি অন্য object-এ সরিয়ে নেওয়া যায়।যেখানে শিখবেন: পর্ব ০২পর্ব ০৬পর্ব ০৭
- Vectorizationভেক্টরাইজেশন
- উপাদান ধরে ধরে Python লুপ না লিখে পুরো array-র ওপর একটি কাজ বলে দেওয়া, যাতে লুপটি দ্রুত সংকলিত কোডে চলে — যেমন NumPy-তে arr * 2.যেখানে শিখবেন: পর্ব ৪৩পর্ব ৪৬পর্ব ৫৩
- Version specifierভার্সন স্পেসিফায়ার
- কোন version চলবে তা বলার নিয়ম, PEP 440 অনুযায়ী। ==2.1.0 মানে হুবহু এটি, >=2.1 মানে এটি বা নতুন, ~=2.1 মানে অন্তত 2.1 কিন্তু 3.0-এর নিচে।যেখানে শিখবেন: পর্ব ২৩
- Virama (হসন্ত)হসন্ত
- বাংলার ্ চিহ্ন (U+09CD), যা ব্যঞ্জনের অন্তর্নিহিত স্বর মুছে পরের ব্যঞ্জনের সাথে জুড়ে যুক্তাক্ষর বানায়; যেমন ক + ্ + ষ = ক্ষ.যেখানে শিখবেন: পর্ব ০৯পর্ব ২৮
- Virtual environmentভার্চুয়াল এনভায়রনমেন্ট
- একটি প্রজেক্টের জন্য আলাদা Python-পরিবেশ, যার নিজস্ব package অন্য প্রজেক্টে মেশে না। python -m venv দিয়ে তৈরি হয়।যেখানে শিখবেন: পর্ব ০৩পর্ব ২৩পর্ব ৩৭
- Virtual machine (VM)ভার্চুয়াল মেশিন
- CPython-এর ভেতরের একটি বড় লুপ, যা bytecode নির্দেশ একটার পর একটা পড়ে চালায়। এটি পুরো কম্পিউটারের অনুকরণ নয়।যেখানে শিখবেন: পর্ব ০৫পর্ব ৪৩
- Virtual subclassভার্চুয়াল সাবক্লাস
- ABC.register() দিয়ে নিবন্ধিত class; isinstance সত্য দেয়, কিন্তু আসল inheritance হয় না, কোনো method যাচাইও হয় না।যেখানে শিখবেন: পর্ব ৩৩
- Viva (viva voce)ভাইভা
- মৌখিক পরীক্ষা — পরীক্ষক মুখে প্রশ্ন করেন আর আপনি মুখে উত্তর দেন; প্রথম উত্তর থেকেই সাধারণত পরের প্রশ্ন আসে।যেখানে শিখবেন: পর্ব ৫৪
W
- Wall-clock timeওয়াল-ক্লক টাইম
- শুরু থেকে শেষ পর্যন্ত আসলে যত সময় গেল, ডিস্ক বা নেটওয়ার্কের অপেক্ষাসহ। শুধু CPU-র কাজের সময় (CPU time) থেকে আলাদা।যেখানে শিখবেন: পর্ব ৪৩
- Walrus operator (:=)ওয়ালরাস অপারেটর
- Assignment expression: একটি expression-এর ভেতরেই নামে মান রাখে এবং সেই মানটি ফেরত দেয়। PEP 572 অনুযায়ী Python 3.8 থেকে আছে।যেখানে শিখবেন: পর্ব ০৮পর্ব ১৮পর্ব ৩৪
- warnings moduleওয়ার্নিংস মডিউল
- Python-এর যে module প্রোগ্রামারের জন্য সতর্কবার্তা দেয়, যেমন DeprecationWarning দিয়ে জানানো যে কোনো ফাংশন পরে বাদ যাবে। logging চলমান ঘটনার খাতা, warnings কোড লেখকের জন্য পরামর্শ।যেখানে শিখবেন: পর্ব ৪০
- Watch expressionওয়াচ এক্সপ্রেশন
- Debugger-এর WATCH প্যানেলে লিখে রাখা একটি expression, যার মান প্রতিটি step-এর পর নিজে থেকে আবার হিসাব হয়ে দেখায়। কোন লাইনে মান বদলাল, সহজে চোখে পড়ে।যেখানে শিখবেন: পর্ব ৪০
- Weak referenceউইক রেফারেন্স
- এমন reference, যা object-কে বাঁচিয়ে রাখে না; আর কোনো সাধারণ reference না থাকলে garbage collector object মুছে ফেলতে পারে। event loop Task-কে এভাবেই মনে রাখে।যেখানে শিখবেন: পর্ব ৪২
- Web frameworkওয়েব ফ্রেমওয়ার্ক
- এমন লাইব্রেরি, যা routing, request পড়া, যাচাই, JSON রূপান্তর আর error সামলানোর মতো সাধারণ কাজ করে দেয়, যাতে আপনি শুধু handler লেখেন — যেমন Django, Flask, FastAPI.যেখানে শিখবেন: পর্ব ৪৮
- Web scrapingওয়েব স্ক্র্যাপিং
- মানুষের জন্য বানানো HTML পাতা প্রোগ্রাম দিয়ে নামিয়ে ভেতর থেকে তথ্য বের করা; API না থাকলে শেষ উপায়, দায়িত্বের সাথে করতে হয়।যেখানে শিখবেন: পর্ব ৪৭
- Web serverওয়েব সার্ভার
- যে প্রোগ্রাম নেটওয়ার্কে কান পেতে HTTP request-এর বাইট পড়ে আর response পাঠায়, যেমন Uvicorn, Gunicorn বা Nginx.যেখানে শিখবেন: পর্ব ৪৭পর্ব ৪৮
- WebAssembly (Wasm)ওয়েবঅ্যাসেম্বলি
- ব্রাউজারের ভেতরে দ্রুত চলতে পারে এমন একটি নিম্নস্তরের কোড ফরম্যাট। Pyodide CPython-কে এতে compile করে ব্রাউজারে Python চালায়।যেখানে শিখবেন: পর্ব ০৫
- Wheel (.whl)হুইল
- আগে থেকে build করা, শুধু ফাইল কপি করলেই ইনস্টল হয় এমন package-ফাইল (আসলে একটি zip). নামের শেষাংশ বলে কোন Python ও কোন OS-এর জন্য, যেমন py3-none-any মানে সব জায়গায় চলে। PEP 427-এ নির্ধারিত।যেখানে শিখবেন: পর্ব ২৩
- while loopহোয়াইল লুপ
- যে লুপ প্রতিটি ঘোরার আগে একটি শর্ত দেখে, আর শর্ত সত্য থাকা পর্যন্ত body চালায়। কতবার ঘুরবে আগে জানা না থাকলে ব্যবহার হয়।যেখানে শিখবেন: পর্ব ১২পর্ব ৩৪
- Wildcard importওয়াইল্ডকার্ড ইমপোর্ট
- from x import * — module-এর সব public নাম (underscore ছাড়া, বা __all__-এর তালিকা) একসাথে নিজের namespace-এ আনা। নামের উৎস হারায় ও নিঃশব্দে নাম ঢেকে ফেলে, তাই PEP 8 এড়াতে বলে।যেখানে শিখবেন: পর্ব ২২পর্ব ৪৪
- Wildcard pattern (_)ওয়াইল্ডকার্ড
- _ — সবকিছুর সাথে মেলে কিন্তু কোনো নাম বাঁধে না; match-এর ডিফল্ট শাখা হিসেবে সবার শেষে বসে।যেখানে শিখবেন: পর্ব ১১
- with statementউইথ স্টেটমেন্ট
- with open(...) as f: ধরনের ব্লক, যা শেষ হলে (error হলেও) সম্পদটি নিজে থেকে বন্ধ বা ফেরত দেয়। ফাইল খোলার সঠিক উপায়।যেখানে শিখবেন: পর্ব ২৫পর্ব ৩৬পর্ব ৪৪
- Word boundary (\b)ওয়ার্ড বাউন্ডারি
- \b — একটি শব্দের অক্ষর (\w) আর শব্দের অক্ষর নয় এমন কিছুর মাঝের অবস্থান। বাংলা কার-চিহ্ন \w নয় বলে বাংলা শব্দের ভেতরেও এই সীমানা পড়ে যায়।যেখানে শিখবেন: পর্ব ২৮
- Working directoryওয়ার্কিং ডিরেক্টরি
- Terminal বা চলমান প্রোগ্রাম এই মুহূর্তে যে ফোল্ডারে আছে। পুরো পথ না দিলে ফাইল এখানেই খোঁজা হয়; cd দিয়ে বদলানো যায়।যেখানে শিখবেন: পর্ব ০৩পর্ব ২২পর্ব ২৫
- Wrapper functionর্যাপার ফাংশন
- যে ফাংশন *args, **kwargs দিয়ে সব argument নিয়ে নিজের কিছু কাজ যোগ করে, তারপর হুবহু আরেকটি ফাংশনে পাঠিয়ে দেয় — একে বলে forward করা। decorator-এর ভেতরের মূল কৌশল এটাই।যেখানে শিখবেন: পর্ব ২০পর্ব ৩৫
- WSGIডাব্লিউএসজিআই / উইজগি
- Web Server Gateway Interface (PEP 333, ২০০৩) — web server আর Python application-এর মাঝের synchronous চুক্তি; application একটি ফাংশন, যে environ dict আর start_response নেয়।যেখানে শিখবেন: পর্ব ৪৮
Y
- YAMLইয়ামল
- indentation দিয়ে গঠন বোঝানো, comment-সহ মানুষের জন্য সহজ একটি ডেটা ফরম্যাট, DevOps টুলের config-এ প্রচলিত। Python-এ PyYAML দিয়ে পড়তে সবসময় yaml.safe_load ব্যবহার করুন।যেখানে শিখবেন: পর্ব ২৬পর্ব ৫০
- yieldইল্ড
- ফাংশনের ভেতরের একটি keyword, যা একটি মান বাইরে দিয়ে ফাংশনকে সেখানেই থামিয়ে রাখে, local অবস্থাসহ। পরের next()-এ ঠিক পরের লাইন থেকে আবার চলে।যেখানে শিখবেন: পর্ব ৩৪পর্ব ৩৬পর্ব ৫৪
- yield fromইল্ড ফ্রম
- একটি generator-এর ভেতরে আরেকটি iterable-এর সব মান পরপর পার করে দেওয়ার লেখা (Python 3.3 থেকে)। ভেতরের generator-এর return মান আর send/close-ও সঠিকভাবে পৌঁছে দেয়।যেখানে শিখবেন: পর্ব ৩৪
Z
- Zen of Pythonজেন অফ পাইথন
- Tim Peters-এর লেখা Python-এর নকশা-দর্শনের ১৯টি ছোট বাক্য (PEP 20), যেমন Readability counts; import this লিখলে ছাপা হয়।যেখানে শিখবেন: পর্ব ৪৪পর্ব ৫৪
- Zero-cost exceptionজিরো-কস্ট এক্সেপশন
- এমন বাস্তবায়ন, যেখানে ভুল না হলে try block-এ ঢুকতে কোনো বাড়তি কাজ হয় না; খরচ হয় শুধু exception উঠলে। CPython 3.11 থেকে।যেখানে শিখবেন: পর্ব ২৪
- ZeroDivisionErrorজিরো ডিভিশন এরর
- কোনো সংখ্যাকে শূন্য দিয়ে ভাগ বা ভাগশেষ করতে গেলে যে exception ওঠে। এটি ArithmeticError পরিবারের সদস্য।যেখানে শিখবেন: পর্ব ২৪
- zip()জিপ
- কয়েকটি iterable-এর পাশাপাশি জিনিসগুলো জোড়ায় জোড়ায় দেয় এমন built-in. সবচেয়ে ছোটটি ফুরালেই থামে; Python 3.10 থেকে strict=True দিলে দৈর্ঘ্য না মিললে ValueError দেয়।যেখানে শিখবেন: পর্ব ১২পর্ব ৪৪
- zipfileজিপফাইল
- standard library-র module, যা .zip ফাইল বানানো, খোলা, ভেতরের ফাইলের তালিকা দেখা আর testzip() দিয়ে নষ্ট কি না যাচাই করার কাজ করে।যেখানে শিখবেন: পর্ব ৪৯
- zoneinfoজোনইনফো
- Python 3.9 থেকে থাকা module, যা IANA time zone database থেকে অঞ্চলের নিয়ম পড়ে, যেমন ZoneInfo("Asia/Dhaka"). Windows-এ tzdata package লাগতে পারে।যেখানে শিখবেন: পর্ব ২৭
এই শব্দটি পাওয়া যায়নি। বানান বদলে বা বাংলায় লিখে দেখুন।