প্রোগ্রামিং

আল্টিমেট পাইথন বিগিনারস গাইড

30 অক্টোবর, 2021

সুচিপত্র

  • পরিবেশ সেটআপ
    • স্থানীয় পরিবেশ সেটআপ
    • কিভাবে পাইথন পেতে
    • কিভাবে পাইথন ইন্সটল করবেন
    • উইন্ডোজ ইনস্টলেশন
    • ইউনিক্স/লিনাক্স ইনস্টলেশন
    • MAC ইনস্টলেশন
    • পাইথনের জন্য পাথ সেট আপ করা হচ্ছে
    • ইউনিক্স/লিনাক্সের জন্য পথ সেট করা হচ্ছে
    • উইন্ডোজের জন্য পথ সেট করা
  • পাইথন এনভায়রনমেন্ট ভেরিয়েবল
    • পাইথন চলছে
  • মৌলিক সিনট্যাক্স
    • পাইথন শনাক্তকারী
    • পাইথন স্টেটমেন্ট
    • পাইথনে ইন্ডেন্ট
    • পাইথনে মন্তব্য
    • ইনপুট হচ্ছে
    • আউটপুট প্রদর্শন করুন
  • পরিবর্তনশীল প্রকার
    • ভেরিয়েবলে মান বরাদ্দ করা
    • পাইথন ডেটা প্রকার
    • স্ট্রিংস
    • টিপলস
    • তালিকা
    • সংখ্যা
  • বেসিক অপারেটর
    • নিয়োগ অপারেটর
    • বিটওয়াইজ অপারেটর
    • লজিক্যাল অপারেটর
    • পাটিগণিত অপারেটর
    • তুলনা অপারেটর
    • পরিচয় অপারেটর
    • সদস্যপদ অপারেটর
  • সিদ্ধান্ত গ্রহণ
    • যদি বিবৃতি
    • অন্যথায় যদি
    • নেস্টেড যদি
    • ইফ-এলিফ-অন্য-মই
    • সংক্ষেপে যদি বিবৃতি
    • সংক্ষেপে যদি-অন্যথা বিবৃতি
  • লুপস
    • যখন লুপ
    • লুপের জন্য
    • নেস্টেড লুপ
    • লুপ কন্ট্রোল স্টেটমেন্ট
    • বিবৃতি চালিয়ে যান
    • ব্রেক স্টেটমেন্ট
    • বিবৃতি পাস
  • সংখ্যা
    • সংখ্যার ধরন রূপান্তর
    • র্যান্ডম সংখ্যা ফাংশন
    • ত্রিকোণমিতিক ফাংশন
    • গাণিতিক ফাংশন
  • স্ট্রিংস
    • একটি স্ট্রিং তৈরি করা হচ্ছে
    • স্ট্রিং স্পেশাল অপারেটর
    • স্ট্রিং ফরম্যাটিং অপারেটর
    • পালাবার অক্ষর
    • স্ট্রিং পদ্ধতিতে নির্মিত
  • টিপলস
    • Tuples মধ্যে মান অ্যাক্সেস
    • টিপল আপডেট করা হচ্ছে
    • বেসিক Tuple অপারেটর
    • Tuple ফাংশন মধ্যে নির্মিত
    • ইনডেক্সিং এবং স্লাইসিং
    • একটি tuple মুছে ফেলা হচ্ছে
  • তালিকা
    • তালিকায় মান অ্যাক্সেস করা
    • তালিকা আপডেট করা হচ্ছে
    • মৌলিক তালিকা অপারেটর
    • বিল্ট ইন লিস্ট ফাংশন এবং মেথড
    • ইনডেক্সিং এবং স্লাইসিং
    • তালিকা উপাদান মুছুন
  • অভিধান
  • তারিখ এবং সময়
  • ফাংশন
    • একটি ফাংশন সংজ্ঞায়িত কিভাবে
    • একটি ফাংশন কলিং
    • রেফারেন্স দ্বারা পাস
    • মান দ্বারা পাস
    • ফাংশন আর্গুমেন্ট
    • পরিবর্তনশীল-দৈর্ঘ্যের আর্গুমেন্ট
    • প্রয়োজনীয় যুক্তি
    • ডিফল্ট আর্গুমেন্ট
    • মূলশব্দ আর্গুমেন্ট
    • বেনামী ফাংশন
  • মডিউল
    • আমদানি বিবৃতি
    • আমদানি বিবৃতি থেকে
    • আমদানি থেকে * বিবৃতি
    • মডিউল সনাক্তকরণ
    • স্থানীয়() এবং গ্লোবাল() ফাংশন
    • নামস্থান এবং স্কোপিং
    • dir( ) ফাংশন
    • রিলোড() ফাংশন
  • ফাইল I/O
    • একটি ফাইল খোলা হচ্ছে
    • ফাইল অবজেক্টের বৈশিষ্ট্য
    • একটি ফাইল বন্ধ করা হচ্ছে
    • বিবৃতি সহ
    • লেখার পদ্ধতি
    • পড়ার পদ্ধতি
    • rename() পদ্ধতি
    • অপসারণ() পদ্ধতি
    • ফাইল অবস্থান
  • ব্যতিক্রম
    • একটি ব্যতিক্রম কি?
    • একটি ব্যতিক্রম হ্যান্ডলিং
    • একটি ব্যতিক্রম উত্থাপন
    • আদর্শ ব্যতিক্রমের তালিকা
    • ব্যবহারকারী সংজ্ঞায়িত ব্যতিক্রম
    • পাইথনে দাবী
  • ক্লাস এবং অবজেক্ট
    • ক্লাস তৈরি করা হচ্ছে
    • ক্লাস অবজেক্ট
    • অ্যাট্রিবিউট অ্যাক্সেস করা
    • অন্তর্নির্মিত বর্গ বৈশিষ্ট্য
    • আবর্জনা সংগ্রহ
    • শ্রেণী উত্তরাধিকার
    • ওভাররাইডিং পদ্ধতি
    • নিয়মিত অভিব্যক্তি
    • ম্যাচ ফাংশন
    • অনুসন্ধান ফাংশন
    • রেগুলার এক্সপ্রেশন মডিফায়ার
    • রেগুলার এক্সপ্রেশন প্যাটার্ন
    • ক্যারেক্টার ক্লাস
    • পুনরাবৃত্তি মামলা
    • নোঙ্গর
  • সিজিআই প্রোগ্রামিং
    • ওয়েব ব্রাউজিং
    • HTTP হেডার
    • CGI এনভায়রনমেন্ট ভেরিয়েবল
    • GET পদ্ধতি
    • পোস্ট পদ্ধতি
    • CGI এ কুকিজ ব্যবহার করা
    • এটা কিভাবে কাজ করে?
  • মাইএসকিউএল ডাটাবেস অ্যাক্সেস
    • ডাটাবেস টেবিল তৈরি করা হচ্ছে
    • ইনসার্ট অপারেশন
    • অপারেশন পড়ুন
    • অপারেশন আপডেট করুন
    • ডিলিট অপারেশন
    • লেনদেন সম্পাদন
    • কমিট অপারেশন
    • রোলব্যাক অপারেশন
    • ডাটাবেস সংযোগ বিচ্ছিন্ন করা হচ্ছে
    • হ্যান্ডলিং ত্রুটি
  • নেটওয়ার্ক
    • সকেট কি?
    • সকেট মডিউল
    • পাইথন ইন্টারনেট মডিউল
  • ইমেইল পাঠানো হচ্ছে
    • পাইথন ব্যবহার করে একটি HTML ইমেল পাঠানো
    • একটি ই-মেইল হিসাবে সংযুক্তি পাঠানো
  • মাল্টিথ্রেড প্রোগ্রামিং
    • একটি নতুন থ্রেড শুরু হচ্ছে
    • থ্রেডিং মডিউল
    • থ্রেড সিঙ্ক্রোনাইজ করা হচ্ছে
    • মাল্টিথ্রেডেড অগ্রাধিকার সারি
  • XML প্রক্রিয়াকরণ
    • XML কি?
    • XML পার্সার আর্কিটেকচার এবং API
    • SAX API-এর সাথে XML পার্স করা হচ্ছে
      • মেক_পার্সার পদ্ধতি
      • পার্স পদ্ধতি
      • পার্সস্ট্রিং পদ্ধতি
  • GUI প্রোগ্রামিং
    • Tkinter উইজেট
  • জ্যামিতি ব্যবস্থাপনা
  • প্রস্তাবিত প্রবন্ধ

অভিধান

পাইথনে অভিধান হল ডেটা মানগুলির একটি বিক্ষিপ্ত সংগ্রহ যা একটি মানচিত্রের মতো ডেটা মানগুলি সংরক্ষণ করতে ব্যবহৃত হয়, যা অন্য কিছু ডেটা টাইপের মতো নয় যা একটি উপাদান হিসাবে শুধুমাত্র একটি মান ধারণ করে। এটিকে আরও অপ্টিমাইজ করতে অভিধানে মূল-মান দেওয়া হয়েছে।

একটি অভিধান তৈরি করা হচ্ছে

আপনি 'কমা' দ্বারা পৃথক কোঁকড়া {} ধনুর্বন্ধনীর একটি ক্রম স্থাপন করে পাইথনে একটি অভিধান তৈরি করতে পারেন৷ একটি অভিধানে এক জোড়া মান রয়েছে, একটি হল কী, এবং অন্য সংশ্লিষ্ট জোড়া উপাদানটি হল কী: মান৷ অভিধানে মানগুলি যে কোনও ডেটা টাইপের হতে পারে এবং নকল করা যেতে পারে, যেখানে কীগুলি পুনরাবৃত্তি করা যায় না এবং অপরিবর্তনীয়।

img 617dd26c1f935

আউটপুট

img 617dd26c6b3ca

একটি অভিধানে উপাদান যোগ করা হচ্ছে

পাইথন অভিধানে উপাদান যোগ করা একাধিক উপায়ে করা যেতে পারে। মান সংজ্ঞায়িত করে একটি অভিধানে একটি মান যোগ করা যেতে পারে এবং কী যেমন, Dict[Key] = 'মান।' একটি অভিধানে একটি মান আপডেট করা বিল্ট-ইন আপডেট() পদ্ধতি ব্যবহার করে করা যেতে পারে। নেস্টেড কী মানগুলিও বর্তমান অভিধানে যোগ করা হয়। মান যোগ করার সময়, কী-মান ইতিমধ্যেই বিদ্যমান; মান আপডেট করা হয়; অন্যথায়, অভিধানে মান সহ একটি নতুন কী যোগ করা হবে।

img 617dd26cb041c

আউটপুট

img 617dd26d15a46

অভিধান থেকে উপাদান অপসারণ

কী মুছে ফেলার জন্য Del কীওয়ার্ড ব্যবহার করা হয়। একটি অভিধান থেকে নির্দিষ্ট মান, সেইসাথে একটি সম্পূর্ণ অভিধান, মুছে ফেলা যেতে পারে। একটি নেস্টেড অভিধানের আইটেমগুলি ডেল কীওয়ার্ড ব্যবহার করে এবং একটি নির্দিষ্ট নেস্টেড কী এবং সেই নেস্টেড অভিধান থেকে মুছে ফেলার জন্য নির্দিষ্ট কী প্রদান করে মুছে ফেলা যেতে পারে।

img 617dd26d6447c

আউটপুট

img 617dd26da0f56

পাইথন অভিধান পদ্ধতি

হ্যাঁ না পদ্ধতি বর্ণনা
এক.পপ()এটি প্রদত্ত কী থাকা অভিধান থেকে উপাদানটিকে সরিয়ে দেয় এবং ফেরত দেয়।
দুইpopitem ()এটি একটি অভিধান থেকে নির্বিচারে কী-মান জোড়া সরিয়ে দেয় এবং এটিকে একটি টিপল হিসাবে ফেরত দেয়।
3.পরিষ্কার()এটি একটি অভিধান থেকে সমস্ত আইটেম সরিয়ে দেয়।
চার.অনুলিপি()এটি একটি অভিধানের একটি অগভীর অনুলিপি প্রদান করে।
5.পাওয়া()এটি একটি কী এর জন্য একটি মান অ্যাক্সেস করার একটি পদ্ধতি।
6.str ()এটি অভিধানের একটি স্ট্রিং উপস্থাপনা তৈরি করে।
7.fromkeys()এটি seq থেকে কী এবং মান সেট করে একটি নতুন অভিধান তৈরি করে।
8.প্রকার()এটি একটি পাস ভেরিয়েবলের ধরন প্রদান করে।
9.আইটেম()এটি কী, মান টিপল জোড়ার একটি তালিকা প্রদান করে
10.cmp()এটি উভয় অভিধানের উপাদানের তুলনা করে
এগারোhas_key()কীটি অভিধানে থাকলে এটি সত্যে ফিরে আসে। অন্যথায় মিথ্যা
হ্যাঁ না পদ্ধতি বর্ণনা
এক.comp(dict1, dict2)এটি উভয় অভিধানের উপাদানের তুলনা করে।
দুইপ্রকার (পরিবর্তনশীল)এটি পাস করা ভেরিয়েবলের ধরন প্রদান করে। যদি একটি পাস ভেরিয়েবল অভিধানে থাকে, তাহলে এটি একটি অভিধানের ধরন প্রদান করবে।
3.str(ডিক্ট)এটি একটি অভিধানের একটি মুদ্রণযোগ্য স্ট্রিং উপস্থাপনা তৈরি করে
চার.লেন (ডিক্ট)এটি অভিধানের মোট দৈর্ঘ্য দেয়। এটি অভিধানে আইটেম সংখ্যার সমান হবে।

তারিখ এবং সময়

পাইথন প্রোগ্রামগুলি বিভিন্ন উপায়ে তারিখ এবং সময় পরিচালনা করতে পারে। ডেটা ফরম্যাটের মধ্যে রূপান্তর করা কম্পিউটারের জন্য একটি দৈনন্দিন কাজ। পাইথনের সময় এবং ক্যালেন্ডার মডিউল আপনাকে তারিখ এবং সময় ট্র্যাক করতে সাহায্য করে।

img 617dd26e02dd0

আউটপুট

img 617dd26e3f106

সময় Tuple

সূচক মাঠ মূল্যবোধ
04-সংখ্যার বছর2020
একমাস1-12
দুইদিন1-31
3ঘন্টা0-23
4মিনিট0-59
5দ্বিতীয়0-60
6সপ্তাহের দিনসপ্তাহের দিন0-6
7বছরের দিন1-366
8দিবালোক সঞ্চয়-1,0,1,-1

সময় মডিউল

হ্যাঁ না ফাংশন বর্ণনা
একtime.localtime([সেকেন্ড])এটি সেকেন্ডে প্রকাশ করা একটি উদাহরণ গ্রহণ করে যেহেতু এটি স্থানীয় সময়ের সাথে একটি টাইম-টুপল টি প্রদান করে।
দুইসময়।সময়()এটি বর্তমান সময় তাত্ক্ষণিক এবং সেকেন্ডের একটি ফ্লোটিং-পয়েন্ট সংখ্যা প্রদান করে।
3time.altzoneস্থানীয় DST টাইমজোন, UTC-এর পশ্চিমে সেকেন্ডে, যদি একটি সংজ্ঞায়িত করা হয়। স্থানীয় DST টাইমজোন UTC-এর পূর্বে হলে এটি নেতিবাচক। দিনের আলো শূন্য না হলেই এটি ব্যবহার করুন।
4time.strftime(fmt[,tupletime])এটি একটি তাত্ক্ষণিক গ্রহণ করে যা স্থানীয় সময়ে টাইম-টুপল হিসাবে প্রকাশ করা হয় এবং এটি স্ট্রিং fmt দ্বারা উল্লিখিত তাত্ক্ষণিক প্রতিনিধিত্বকারী একটি স্ট্রিং প্রদান করে।
5time.asctime([tupletime])এটি টাইম-টুপল গ্রহণ করে এবং একটি 24-অক্ষরের স্ট্রিং প্রদান করে যেমন 'Wed Dec 12 18:07:14 2020'।
6time.tzset()এটি লাইব্রেরি রুটিন দ্বারা ব্যবহৃত সময় রূপান্তর নিয়মগুলি পুনরায় সেট করে। পরিবেশ পরিবর্তনশীল TZ আপনাকে বলে যে এটি কীভাবে করা হয়।
7time.mktime(টুপল টাইম)এটি একটি তাত্ক্ষণিক গ্রহণ করে যা স্থানীয় সময়ে সময়-টুপল হিসাবে প্রকাশ করা হয় এবং এটি একটি ভাসমান-বিন্দু মান প্রদান করে যা যুগের পর থেকে সেকেন্ডে প্রকাশ করা হয়।
8নির্দিষ্ট সময় নির্ধারণকারী ঘড়ি( )এটি সেকেন্ডের ফ্লোটিং-পয়েন্ট সংখ্যা হিসাবে বর্তমান CPU সময় প্রদান করে। বিভিন্ন পদ্ধতির গণনামূলক খরচ পরিমাপ করতে, time.clock-এর মান time.time() এর চেয়ে বেশি কার্যকর।
9সময় ঘুম (সেকেন্ড)এটি সেকেন্ড সেকেন্ডের জন্য কলিং থ্রেড স্থগিত করে।
10time.ctime([সেকেন্ড])এটি asctime(স্থানীয় সময়(সেকেন্ড)) এর মত কাজ করে এবং আর্গুমেন্ট ছাড়াই asctime()
এগারোtime.gmtime([সেকেন্ড])এটি একটি তাত্ক্ষণিক গ্রহণ করে যা যুগের পর থেকে সেকেন্ডে প্রকাশ করা হয় এবং UTC এর সাথে একটি টাইম-টুপল টি ফেরত দেয়। দ্রষ্টব্য: t.tm_isdst সর্বদা 0 হয়
12time.strptime(str,fmt='%a %b %d %H:%M:%S %Y')এটি ফরম্যাট স্ট্রিং fmt অনুযায়ী str পার্স করে এবং টাইম-টুপল ফর্ম্যাটে তাত্ক্ষণিক রিটার্ন করে।

ক্যালেন্ডার মডিউল

হ্যাঁ না ফাংশন বর্ণনা
একcalendar.leapdays(y1,y2)এটি সীমার মধ্যে (y1,y2) বছরের মধ্যে মোট লিপ দিনের সংখ্যা প্রদান করে।
দুইcalendar.isleap(বছর)একটি বছর যদি একটি অধিবর্ষ হয় তবে এটি সত্য হয়; অন্যথায়, মিথ্যা।
3calendar.setfirstweekday(সপ্তাহের দিন)এটি প্রতি সপ্তাহের প্রথম দিনকে সপ্তাহের দিনের কোড সপ্তাহের দিন সেট করে। সপ্তাহের দিন কোড 0 থেকে 6।
4calendar.timegm(tupletime)এটা time.gmtime এর বিপরীত। এটি টাইম-টুপল আকারে একটি টাইম ইনস্ট্যান্ট গ্রহণ করে এবং সেকেন্ডের ফ্লোটিং-পয়েন্ট সংখ্যার মতো একই তাত্ক্ষণিক ফেরত দেয়।
5calendar.weekday(বছর,মাস,দিন)এটি প্রদত্ত তারিখের জন্য সপ্তাহের দিন কোড প্রদান করে। সপ্তাহের দিনের কোড হল 0 থেকে 6, মাসের সংখ্যা হল 1 থেকে 12৷
6calendar.prmonth(বছর,মাস,w=2,l=1)এটি calendar.month(বছর,মাস,w,l) প্রিন্ট করে।
7calendar.prcal(বছর,w=2,l=1,c=6)এটি calendar.calendar(বর্ষ,w,l,c) প্রিন্ট করে।
8calendar.monthrange(বছর,মাস)
এটি দুটি পূর্ণসংখ্যা প্রদান করে। প্রথমটি সপ্তাহের দিনের একটি কোড, দ্বিতীয়টি হল মাসের দিনের সংখ্যা৷ সপ্তাহের দিন কোড 0 থেকে 6; মাসের সংখ্যা 1 থেকে 12।
9calendar.monthcalendar(বছর,মাস)এটি তালিকার একটি তালিকা প্রদান করে। প্রতিটি সাবলিস্ট এক সপ্তাহ নির্দেশ করে। বছরের মাসের বাইরে দিনগুলি 0 এ সেট করা হয়েছে; মাসের মধ্যে দিনগুলি তাদের মাসের দিন, 1 এবং তার উপরে সেট করা হয়।
10calendar.firstweekday( )এটি একটি সপ্তাহের দিনের জন্য বর্তমান সেটিং প্রদান করে যা প্রতি সপ্তাহে শুরু হয়। ডিফল্টরূপে, যখন ক্যালেন্ডারটি প্রথম আমদানি করা হয়, তখন এটি 0, মানে সোমবার৷
এগারোcalendar.calendar(বছর,w=3,l=1,c=6)এটি বছরের জন্য একটি ক্যালেন্ডার সহ একটি মাল্টিলাইন স্ট্রিং প্রদান করে বা তিনটি কলামে ফর্ম্যাট করে যা স্পেস দ্বারা পৃথক করা হয়। w প্রতিটি তারিখের অক্ষরের প্রস্থ। l হল প্রতি সপ্তাহের লাইনের সংখ্যা।
12calendar.month(বছর,মাস,w=3,l=1)এটি বছরের এক মাসের জন্য ক্যালেন্ডারের সাথে একটি মাল্টিলাইন স্ট্রিং প্রদান করে, প্রতি সপ্তাহে একটি লাইন এবং দুটি হেডার লাইন। w প্রতিটি তারিখের অক্ষরের প্রস্থ। l হল প্রতি সপ্তাহের লাইনের সংখ্যা।