শূন্য থেকে শুরুফ্রি

পাইথন

নিজের কম্পিউটারে পাইথন চালিয়ে, প্রতিটি অধ্যায়ে একটি করে বিষয় শিখে ইনস্টল থেকে কন্ট্রোল ফ্লো পর্যন্ত যাওয়া। প্রতিটি অধ্যায়ের শেষে সহজ থেকে কঠিন দশটি প্রশ্নের কুইজ।

প্রতিটি অধ্যায়ের ছয় ধাপ

  1. 1সমস্যা
  2. 2বোঝা
  3. 3উদাহরণ
  4. 4অনুমান
  5. 5নিজে করা
  6. 6কঠিন করা
  1. 01পাইথন ইনস্টল করা ও প্রথম প্রোগ্রাম চালানোউইন্ডোজে পাইথন ইনস্টল করুন, টার্মিনাল থেকে সেটি চালু আছে কিনা যাচাই করুন, এবং নিজের কম্পিউটারে প্রথম পাইথন ফাইল লিখে চালান।25 মিনিট১০টি প্রশ্ন
  2. 02টার্মিনাল, ফোল্ডার আর প্রথম প্রজেক্টটার্মিনাল থেকে ফোল্ডারে ঘোরাফেরা করুন, প্রজেক্ট ফোল্ডার বানান, ফাইল চালান, এবং পাইথনের ইন্টারঅ্যাক্টিভ শেল কখন কাজে লাগে তা বুঝুন।25 মিনিট১০টি প্রশ্ন
  3. 03print দিয়ে দেখা, কমেন্ট দিয়ে বোঝানোin-reviewprint কীভাবে একাধিক জিনিস ছাপে, sep আর end দিয়ে সেটা কীভাবে বদলানো যায়, আর কমেন্ট কেন লেখা হয় — প্রোগ্রামের ভেতরে দেখার প্রথম হাতিয়ার।20 মিনিট১০টি প্রশ্ন
  4. 04ভেরিয়েবল আর টাইপ — প্রোগ্রাম কীভাবে মনে রাখেin-reviewভেরিয়েবলে মান রাখা, নাম দেওয়ার নিয়ম, আর চারটি মৌলিক টাইপ — int, float, str, bool। সাথে সেই ত্রুটি যেটা শুরুর দিকে সবচেয়ে বেশি আসে।30 মিনিট১০টি প্রশ্ন
  5. 05সংখ্যা নিয়ে হিসাব — ভাগ, ভাগশেষ আর দশমিকের ফাঁদin-reviewসাতটি গাণিতিক অপারেটর, কোনটি আগে চলে, পূর্ণ ভাগ ও ভাগশেষ কোথায় কাজে লাগে, আর দশমিক সংখ্যা কেন মাঝে মাঝে অদ্ভুত উত্তর দেয়।30 মিনিট১০টি প্রশ্ন
  6. 06লেখা নিয়ে কাজ — ইনডেক্স, স্লাইস আর f-stringin-reviewলেখার ভেতর থেকে অংশ বের করা, পরিষ্কার করা, বদলানো, আর f-string দিয়ে পড়তে সহজ বার্তা তৈরি করা — সাথে লেখার অপরিবর্তনীয়তার নিয়ম।35 মিনিট১০টি প্রশ্ন
  7. 07ব্যবহারকারীর কাছ থেকে ইনপুট নেওয়াin-reviewinput() দিয়ে ব্যবহারকারীর লেখা নেওয়া, সেটি কেন সব সময় str হয়, আর int() ও float() দিয়ে সংখ্যায় বদলানোর সময় কোন ত্রুটিগুলো আসে।30 মিনিট১০টি প্রশ্ন
  8. 08True আর False — প্রশ্ন করা শেখাin-reviewতুলনার অপারেটর, and / or / not, শিকল-তুলনা, আর কোন মানগুলো পাইথনের চোখে মিথ্যা — শর্ত লেখার আগে যে ভিতটা লাগে।30 মিনিট১০টি প্রশ্ন
  9. 09সিদ্ধান্ত নেওয়া — if, elif, elsein-reviewশর্ত দেখে আলাদা পথে যাওয়া, ইনডেন্টেশন কেন পাইথনে অর্থ বহন করে, আর শর্তের ক্রম ভুল হলে যে নীরব বাগটা তৈরি হয়।35 মিনিট১০টি প্রশ্ন
  10. 10while লুপ — শর্ত সত্য থাকা পর্যন্ত চলাin-reviewএকই কাজ বারবার চালানো, অসীম লুপ কীভাবে হয় ও থামানো যায়, break আর continue, আর সঠিক ইনপুট না পাওয়া পর্যন্ত জিজ্ঞেস করতে থাকা।35 মিনিট১০টি প্রশ্ন
  11. 11for লুপ আর range — নির্দিষ্ট সংখ্যক বার চলাin-reviewকতবার চলবে জানা থাকলে for লুপই সঠিক পছন্দ। range-এর তিনটি রূপ, শেষ সীমা কেন বাদ যায়, আর for না while — কোনটা কখন।35 মিনিট১০টি প্রশ্ন
  12. 12লিস্ট — একই নামে অনেকগুলো মানin-reviewএকটি নামে যত খুশি মান রাখা, সূচক আর স্লাইস দিয়ে ভেতরে পৌঁছানো, আর লিস্ট বদলানোর মেথডগুলো — সাথে দুটি নাম এক লিস্টে লেগে যাওয়ার ফাঁদ।30 মিনিট১০টি প্রশ্ন
  13. 13লিস্ট সাজানো আর তার মেথডগুলোin-reviewsorted() আর .sort()-এর পার্থক্য, max/min/sum/count/index, key= দিয়ে সাজানোর নিয়ম বদলানো, আর join() দিয়ে লিস্টকে পড়ার মতো লেখা বানানো।30 মিনিট১০টি প্রশ্ন
  14. 14টাপল আর আনপ্যাকিংin-reviewবদলানো যায় না এমন লিস্ট — কোথায় সেটাই দরকার, আনপ্যাকিং দিয়ে সূচকের বদলে নাম ব্যবহার, এক লাইনে অদলবদল, আর (5) বনাম (5,)-এর ফাঁদ।30 মিনিট১০টি প্রশ্ন
  15. 15ডিকশনারি — কী আর মানের জোড়াin-reviewনাম ধরে মান রাখা ও তোলা, KeyError এড়াতে .get(), কী যোগ-বদল-বাদ, .items() দিয়ে ঘোরা, আর কেন লিস্ট কী হতে পারে না।32 মিনিট১০টি প্রশ্ন
  16. 16সেট — পুনরাবৃত্তিহীন সংগ্রহin-reviewপুনরাবৃত্তি সরানো, দুটি সংগ্রহ মেলানোর চারটি চিহ্ন, কেন {} খালি সেট নয়, আর সেটে ক্রম না থাকার মানে কী।28 মিনিট১০টি প্রশ্ন
  17. 17নেস্টেড ডেটা — ডিকশনারির লিস্টin-reviewবাস্তব ডেটার আকার: লিস্টের ভেতরে ডিকশনারি, ডিকশনারির ভেতরে লিস্ট। ভেতরে পৌঁছানো, গ্রুপ করা, আর কেন copy() এখানে যথেষ্ট নয়।35 মিনিট১০টি প্রশ্ন
  18. 18কম্প্রিহেনশন — লুপকে এক লাইনেin-reviewলিস্ট, ডিকশনারি আর সেট কম্প্রিহেনশন, ছাঁকার if আর বেছে নেওয়ার if/else-এর পার্থক্য, আর কখন কম্প্রিহেনশন লিখতে নেই।30 মিনিট১০টি প্রশ্ন
  19. 19ফাংশন — একটি সিদ্ধান্ত, একটি নামin-reviewdef দিয়ে ফাংশন লেখা, return আর print-এর পার্থক্য, শুরুতেই গার্ড দিয়ে প্রান্ত সামলানো, আর ডকস্ট্রিং।35 মিনিট১০টি প্রশ্ন
  20. 20ফাংশনের আর্গুমেন্ট — নাম, ডিফল্ট আর তারকাin-reviewনাম ধরে আর্গুমেন্ট পাঠানো, ডিফল্ট মান ও তাদের ক্রমের নিয়ম, *args আর **kwargs, আর কল করার সময় লিস্ট বা ডিকশনারি খুলে পাঠানো।32 মিনিট১০টি প্রশ্ন
  21. 21স্কোপ আর পরিবর্তনীয় ডিফল্টin-reviewএকটি নাম কোথায় বাস করে আর কে তাকে দেখতে পায়, বাইরের নাম পড়া ও লেখার পার্থক্য, UnboundLocalError, আর পাইথনের সবচেয়ে পরিচিত ফাঁদ — ডিফল্ট হিসেবে খালি লিস্ট।34 মিনিট১০টি প্রশ্ন
  22. 22মডিউল আর ইমপোর্টin-reviewনিজের লেখা ফাইলকে আরেক ফাইল থেকে ব্যবহার করা, import করলে আসলে কী ঘটে, `if __name__ == "__main__"` কেন লাগে, স্ট্যান্ডার্ড লাইব্রেরি, আর ফাইলের নাম দিয়ে মডিউল ঢেকে ফেলার ফাঁদ।33 মিনিট১০টি প্রশ্ন
  23. 23ফাইল পড়া আর লেখাin-reviewwith open দিয়ে ফাইল পড়া ও লেখা, r/w/a/x মোডের পার্থক্য, প্রতিটি লাইনের শেষের নতুন-লাইন, encoding কেন সবসময় লিখতে হয়, আর pathlib দিয়ে ছোট কাজ।35 মিনিট১০টি প্রশ্ন
  24. 24এক্সেপশন — ভাঙা অবস্থা সামলানোin-reviewtry/except দিয়ে নির্দিষ্ট ত্রুটি ধরা, কেন except Exception: pass প্রায় সবসময়ই ভুল, else আর finally, নিজে raise করা, আর ত্রুটির পরিবার থেকে সঠিক মাপেরটা বেছে নেওয়া।36 মিনিট১০টি প্রশ্ন
  25. 25JSON আর CSVin-reviewcsv মডিউল দিয়ে উদ্ধৃতিসহ টেবিল পড়া ও লেখা, newline="" কেন লাগে, json দিয়ে গঠনযুক্ত তথ্য রাখা, আর কোন ধরনগুলো যাত্রাপথে বদলে যায়।34 মিনিট১০টি প্রশ্ন
  26. 26ক্লাস — তথ্য আর আচরণ একসাথেin-reviewclass, __init__ আর self, মেথড, __repr__ দিয়ে ছাপার রূপ, __eq__ দিয়ে সমতা, ক্লাস-স্তর আর ইনস্ট্যান্স-স্তরের পার্থক্য, আর কখন ক্লাস লাগে না।38 মিনিট১০টি প্রশ্ন
  27. 27ডেটাক্লাস আর টাইপ হিন্টin-review@dataclass কী লিখে দেয়, field(default_factory=...) কেন লাগে, frozen=True কী দেয়, ফাংশনে টাইপ হিন্ট, আর হিন্ট চালানোর সময় কিছু না করে যাচাইকারীর নিচে সবকিছু করার মানে।36 মিনিট১০টি প্রশ্ন
  28. 28pytest দিয়ে টেস্ট লেখাin-reviewassert থেকে শুরু করে pytest, ব্যর্থতার রিপোর্ট পড়া, pytest.raises, parametrize, tmp_path আর fixture — আর কোন আকারের কোড পরীক্ষা করা সহজ।37 মিনিট১০টি প্রশ্ন
  29. 29ডিবাগিং আর লগিংin-reviewট্রেসব্যাক ঠিক ক্রমে পড়া, print-এর বদলে logging, স্তর ও getLogger(__name__), log.exception দিয়ে ধরা পড়া ত্রুটির পুরো হিসাব, আর breakpoint() দিয়ে ভিতরে ঢোকা।34 মিনিট১০টি প্রশ্ন