বাংলায় পাইথন – লিস্ট (তৃতীয় পর্ব)

আমরা এই পর্বে পাইথনে লিস্ট অবজেক্ট এর এই মেথডগুলো দেখব:

insert()
pop()
remove()
reverse()
sort()

প্রথমেই আছে insert() – এটি ব্যবহার করে আমরা একটি লিস্টের যে কোন অবস্থানে আরেকটি আইটেম যোগ করতে পারি । যেমন:

দেখুন insert() মেথডটি দুটি প্যারামিটার গ্রহন করে । প্রথম প্যারামিটারটি দ্বারা আমরা নির্দেশ করি কোন অবস্থানে আইটেমটি বসাতে হবে, দ্বিতীয় প্যারামিটার হিসেবে আমরা সরাসরি আইটেমটিকে পাস করি । অর্থাৎ, l.insert(2,4) এর অর্থ হল l লিস্টের 2-তম অবস্থানে 4 আইটেমটিকে যোগ করা ।

এবার আসা যাক pop() মেথডে । এই মেথডটি লিস্টের সর্বশেষ আইটেমটি রিটার্ন করে এবং ঐ লিস্ট থেকে এটিকে বাদ দিয়ে দেয় । যেমন:

দেখা যাচ্ছে এখানে l.pop() মেথড কলটি l লিস্টের সর্বশেষ আইটেম 4 কে রিটার্ন করছে (যেটিকে আমরা s নামে সংরক্ষণ করলাম) । এবং এই একই সাথে l লিস্টটি থেকে এই শেষ আইটেম 4 কেও বাদ দিয়ে দিয়েছে ।

এবার আসা যাক remove() মেথডে । এটি insert() মেথডের ঠিক উলটো কাজ করে থাকে । এটিকে কোন অবস্থান দেখিয়ে দিলে সেই অবস্থানের আইটেমটিকে রিমুভ করাই এর কাজ । আসুন একটি উদাহরণ দেখে নেই:

আমরা দেখলাম কিভাবে remove() মেথডের সাহায্যে যে কোন একটি আইটেম আমরা রিমুভ করতে পারি । এই মেথডটি ছারাও আমরা পাইথনের বিল্ট ইন ফাংশন del() ব্যবহার করেও কোন আইটেম রিমুভ করতে পারি । যেমন:

এই কোডটুকু নিজে নিজে রান করে দেখুন কি ঘটে ।

এরপরে চলুন দেখে নেই sort() এবং reverse() মেথডের ব্যবহার । sort() ব্যবহার করে যে কোন লিস্টকে সর্ট বা স্বাভাবিকভাবে সাজানো হয় । reverse() মেথডটি লিস্ট কে উলটো ভাবে সাজানোর জন্যে ব্যবহার করা হয় ।

নিজে নিজে আমরা এই মেথড দুটি কোন লিস্ট অবজেক্টের উপর প্রয়োগ করে দেখি ।

বাংলায় পাইথন – লিস্ট (দ্বিতীয় পর্ব)

আমরা আগের পোস্টে দেখেছি কিভাবে লিস্ট ডিক্লেয়ার করা যায়, কিভাবে লিস্টের ভ্যালু গুলো এক্সেস করা যায় । আজ আমরা দেখব লিস্ট সম্পর্কিত আরো কিছু জিনিস । আমি এর আগে dir() ফাংশনের কথা উল্লেখ করেছিলাম । পাইথনে কোন নাম সম্পর্কে টেকনিক্যাল বিষয় (প্রোপার্টিজ, মেথডস ইত্যাদি) জানার জন্য আমরা এই ফাংশনটি ব্যবহার করি । আসুন ঝটপট একটি লিস্টের উপর এই ফাংশনটি প্রয়োগ করি :

আমরা দেখতে পাচ্ছি একটি লিস্টের অনেকগুলো মেথড ও প্রোপার্টি রয়েছে । যেগুলোর আগে এবং পরে __ (ডাবল আন্ডারস্কোর) রয়েছে সেগুলো নিয়ে আমরা মাথা ঘামাব না । বাকিগুলোর মধ্যে আমরা দেখতে পাচ্ছি:

append()
count()
extend()
index()
insert()
pop()
remove()
reverse()
sort()

কোন লিস্টের শেষে আরেকটি আইটেম যোগ করতে আমরা append() ব্যবহার করি । যেমন:

এখানে l একটি লিস্ট যেটার শেষে আমরা 3 যোগ করলাম । কোন লিস্টে একটি আইটেম কতবার আছে তা জানার জন্য আমরা count() ব্যবহার করি । যেমন:

তাহলে দেখলাম l লিস্টটিতে বিভিন্ন আইটেম কতবার আছে তা কিভাবে বের করা যায় । লক্ষ্য করূন অন্যান্য অনেক প্রোগ্রামিং ল্যাঙ্গুয়েজে count বা length এই ধরনের ফাংশন, মেথড বা প্রোপার্টি দিয়ে লিস্টের আকার বা আইটেমের সংখ্যা নির্নয় করা হয় । পাইথনে count এর ব্যবহারটি কিছুটা ভিন্ন । আর পাইথনে একটি লিস্ট এর আইটেম সংখ্যা বের করতে আমরা len() ফাংশনটি ব্যবহার করি । যেমন:

এই কোড রান করে দেখুন আউটপুট কি দেখায় । একটি লিস্টের শেষে আরেকটি লিস্ট যোগ করতে আমরা extend() ব্যবহার করি । যেমন:

এখানে lst1 লিস্টটির শেষে lst2 যোগ করলাম । এর ফলে lst1 এর আইটেমগুলোর সাথে lst2 এর আইটেমগুলোও যুক্ত হয়ে গেল ।

এবার আসা যাক index() এ । কোন লিস্টে কোন আইটেম এর অবস্থান বা ইন্ডেক্স জানতে আমরা এটি ব্যবহার করি । লিস্টে যদি ঐ আইটেম একাধিকবার থাকে তাহলে প্রথম অবস্থানটি পাওয়া যাবে। যেমন:

এখানে 2 আইটেমটি দুবার এসেছে – 1 এবং 2 ইন্ডেক্সে । তাই প্রথম অবস্থানটি পেলাম আমরা ।

সময়ের স্বল্পতার কারণে আজ আর বাকি মেথডগুলো কাভার করব না । ইনশাআল্লাহ নেক্সট পোস্টে আবার শুরু করব ।

বাংলায় পাইথন – লিস্ট

লিস্ট শব্দের বাংলা অর্থ তালিকা। আমাদের বোধহয় ব্যখ্যা করার দরকার পড়ে না তালিকা কি জিনিস । পাইথনেও লিস্ট একই কাজ করে । সহজ কথায় লিস্ট হল কতগুলো আইটেমের একটি তালিকা । অনেক প্রোগ্রামিং ল্যাঙ্গুয়েজে লিস্ট ডিক্লেয়ার করার সময় বলে দিতে হয় লিস্টের আইটেমগুলোর টাইপ কি হবে, পাইথনে তার দরকার পড়ে না । একটি লিস্টের আইটেমগুলো বিভিন্ন টাইপের হতে পারে ।

কিভাবে লিস্ট ডিক্লেয়ার করব? (থার্ড) ব্রাকেটের ভিতরে কমা দিয়ে একেকটি আইটেম সেপারেট করে দিলেই লিস্ট তৈরি হয়ে যাবে । আসুন উদাহরণ দেখি:

প্রথমে কোডগুলো মনোযোগ দিয়ে পড়ুন । বোঝার চেষ্টা করূন এর আউটপুট কি হতে পারে ।

বরাবরের মত একটি পাইথন ফাইলে এই কোডগুলো লিখে রান করে দেখুন কি আউটপুট দেখায় । type() ফাংশনটির ব্যবহার আমরা আগেই দেখেছি । আউটপুট দেখে মিলিয়ে নিন আপনি কি আশা করেছিলেন আউটপুট হিসেবে আর কি এসেছে আউটপুট । যদি না মিলে, বোঝার চেষ্টা করূন কোথায় বুঝতে পারেন নি ।

এই কোড থেকে আমরা কি কি দেখলাম:

  • কিভাবে লিস্ট ডিক্লেয়ার করতে হয়
  • লিস্টের আইটেমগুলোর একটি ইন্ডেক্স ভ্যালু থাকে। এই ইন্ডেক্স ভ্যালু ব্যবহার করে আমরা n-তম আইটেমের মান বের করতে পারি
  • এই ভ্যালুর মান 0 থেকে শুরু হয় । অর্থাৎ প্রথম আইটেমের ইন্ডেক্স 0, দ্বিতীয়টির 1 এভাবে n-তম আইটেমের ইন্ডেক্স (n-1)

লিস্ট সম্পর্কে আরো জানার আগে আমরা range() ফাংশনটির ব্যবহার দেখে নেই । এই ফাংশনটির একটি উদাহরণ দেখি :

এই ফাংশনটি সংখ্যার লিস্ট তৈরি করে । এর সিগনেচার অনেকটা এরকম: range(min,max,step) । এখানে min হল নূন্যতম ভ্যালু যেটা থেকে লিস্ট শুরু হবে । max হল সর্বোচ্চ ভ্যালু যেটার ঠিক আগের ভ্যালু পর্যন্ত লিস্ট তৈরি হবে । step হল মধ্যবর্তী ব্যবধান ।

উপরোক্ত কোড রান করালে প্রথমে আমরা পাব 0 থেকে শুরু করে 10 এর ঠিক আগের ভ্যালু অর্থাৎ 9 পর্যন্ত । যদি step না দেওয়া হয় তাহলে পাইথন এটার ভ্যালু 1 ধরে নেয় । দ্বিতীয় বার আমরা step হিসেবে 10 দিয়েছি । তাই এবার আমরা 0 থেকে শুরু করে প্রতি 10 ঘর পর পর সংখ্যার লিস্ট পাব 90 পর্যন্ত ।

আমরা লিস্ট প্র্যাকটিস করার জন্য range() ফাংশনটি ব্যবহার করে দ্রুত লিস্ট তৈরি করে নিব । আসুন ফেরা যাক লিস্টে । আমরা দেখেছি কিভাবে ইন্ডেক্স ব্যবহার করে আমরা লিস্টের আইটেমগুলো এক্সেস করেছি । ধরূন আমাদের লিস্টের সব ডাটা লাগবে না, আমরা একটি নির্দিষ্ট রেঞ্জ নিয়ে কাজ করতে চাই । পাইথন আমাদের সেই সুবিধা দেয় (যা অন্য অনেক ল্যাঙ্গুয়েজে পাওয়া যায় না ) । আসুন দেখি কিভাবে:

এই উদাহরণটি নিজেরা চেষ্টা করার জন্য প্রথমেই একটি লিস্ট তৈরি করে নেই ।

আসুন এবার লিস্ট নিয়ে নাড়া চাড়া করা যাক:

এই কোড রান করালে দেখা যাবে list1to5 একটি লিস্ট যার ভ্যালু 1 থেকে 5 । sl[0:5] বলতে বোঝানো হয় sl নামক লিস্টের 0-তম আইটেম থেকে শুরু করে 5-তম আইটেমের আগের আইটেম পর্যন্ত আইটেমগুলো নিয়ে তৈরি একটি লিস্ট । এবার নিজে নিজেই বোঝার চেষ্টা করুন list2to7 এর ভ্যালু কি হতে পারে এবং কেন ।

এবার নিজে কিছু কাজ করুন:
3 থেকে 9 পর্যন্ত লিস্ট বোঝাতে আমরা কি লিখব?
sl[:5] এর ভ্যালু কত হবে?
sl[4:] এর ভ্যালু কত হবে?
sl[:] এর ভ্যালু কত হবে? কেন?

আমরা range ফাংশনে step এর ব্যবহার দেখেছিলাম । লিস্টের ক্ষেত্রেও step ব্যবহার করা যায় । যেমন:

অর্থাৎ শেষে আরেকটি কোলন দিয়ে আমরা step ভ্যালুটি নির্দেশ করে থাকি । তাই প্রথম ক্ষেত্রে আমরা 0-তম আইটেম থেকে শুরু করে 2টি আইটেম বাদ দিয়ে দিয়ে 10-তম আইটেমের আগের আইটেম পর্যন্ত যে আইটেগুলো আছে সেগুলোর লিস্ট পাব । নিজে নিজে বোঝার চেষ্টা করি দ্বিতীয় ক্ষেত্রে কি ঘটছে ।

যে কোন ভ্যালুর আগে মাইনাস চিহ্ন দিলে তার অবস্থান বিপরীত দিক থেকে বিবেচনা করা হয় । তাই শেষ দিক থেকে 5-তম আইটেমের ভ্যালু হবে sl[-5] । এভাবে শেষ দিক থেকে 2-তম আইটেমের আগ পর্যন্ত আইটেমগুলোর লিস্ট পাব: sl[:-2] । step এর ভ্যালু নেগেটিভ হলে গনণা উল্টো দিকে হবে । যেমন শেষ দিক থেকে 2-তম আইটেমের আগের আইটেম থেকে শুরু করে 3-তম আইটেম পর্যন্ত আইটেমগুলো 2 ধাপ করে পেছালে আমরা যে লিস্টটি পাব তার জন্য আমাদের কে লিখতে হবে : sl[-2:3:-2]

এভাবে নিজেরা ইচ্ছামত লিস্ট তৈরি করে তার বিভিন্ন অংশ আলাদা করার চেষ্টা করি । প্রথমবার দেখে লিস্টের সিন্ট্যাক্স খুব জটিল মনে হতে পারে । কিন্তু কিছুদিন অনুশীলন করলেই ঠিক হয়ে যাবে । পাইথনের চমৎকার ফিচারগুলোর মধ্যে অন্যতম হল লিস্ট এর এই ব্যবহার । একটি লিস্ট এর যে কোন অংশ নিয়ে আরেকটি লিস্ট খুব সহজেই তৈরি করা যায়। পাইথনে লিস্টের আরো চমকপ্রদ কিছু ব্যবহার রয়েছে যেগুলো নিয়ে ভবিষ্যতে কোন এক সময় লিখব ।

বাংলায় পাইথন – ম্যাথ সিম্বলস

পাইথনে গানিতিক সমস্যা সমাধানের জন্য যে প্রতীক চিহ্নগুলো ব্যবহার করা হয় সেগুলো হল:

  • + প্লাস বা যোগ
  • – মাইনাস বা বিয়োগ
  • / স্ল্যাশ বা ভাগ
  • * এস্টেরিস্ক বা গুন
  • % পার্সেন্ট বা মডুলাস বা ভাগশেষ
  • < লেস দ্যান বা ক্ষুদ্রতর
  • > গ্রেটার দ্যান বা বৃহত্তর
  • <= লেস দ্যান অর ইকুয়াল অর্থাৎ ক্ষুদ্রতর অথবা সমান
  • >= গ্রেটার দ্যান অর ইকুয়াল অর্থাৎ বৃহত্তর অথবা সমান

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

এবার উদাহরণসহ দেখা যাক এদের কোনটার কাজ কি:

যোগ থেকে আরম্ভ করে ভাগ : এগুলোর কাজ বোধহয় বলার অপেক্ষা রাখে না । আমরা কিছু উদাহরণ দেখব।

আপনারা এই কোডটি কোন পাইথন ফাইলে টাইপ করে (কখনোই কপি পেস্ট করবেন না প্লিজ) রান করে দেখুন । এবার পাইথনের ইন্টারএক্টিভ শেলে নিজের ইচ্ছামত কিছু যোগ বিয়োগ গুন ভাগ করে দেখুন পাইথন এর এই শেলটিকে আসলে ক্যালকুলেটর হিসেবে ব্যবহার করা যায় কিনা 🙂

আমি করলাম:

একটু লক্ষ্য করলে দেখবেন পাইথনও ক্যলকুলেশন করার সময় BODMAS এর প্যটার্ন ফলো করে । এটাকে অপারেটর প্রিসিডেন্সও বলা হয় ।

পার্সেন্ট বা মডুলাস (%): এটি দিয়ে আমরা ভাগশেষ বের করি । যেমন:

১৫ কে ৭ দিয়ে ভাগ করলে ভাগশেষ ১ থাকে, এটা কে না জানে, কিন্তু বলুন তো ১৫৭৯ কে ৩৭ দিয়ে ভাগ দিলে ভাগশেষ কত আসবে? নিজেই করে দেখুন না, অবশ্যই পাইথন ব্যবহার করে ।

বাকি প্রতীক গুলো (<, >, <=, >=): এগুলো দিয়ে আমরা দুটি সংখ্যা বা এক্সপ্রেশনের মানের তুলনা করতে পারি । যেমন:

অর্থাৎ আমরা যখন টাইপ করব 5 > 4, পাইথন আমাদেরকে জানিয়ে দিবে এটা সত্যি (সম্ভব) কিনা । যেমন: 5 > 4 এ আমরা পাব True কেননা ৪ অপেক্ষা ৫ বড় কিন্তু 5 > 10 এ পাব False কারণ ৫ কোনভাবেই ১০ এর চেয়ে বড় না ।

কিন্তু 5 >= 5 কেন True? কারণ ইকুয়াল সাইন থাকলে বোঝায় “সমান অথবা বৃহত্তর” । এখানে ৫ যেহেতু ৫ এর সমান সেহেতু এটি True ।

এভাবে নিজে নিজে কিছু সংখ্যা নিয়ে এই প্রতীকগুলো ব্যবহার করে দেখুন । আশাকরি আরো ভাল ধারণা পাবেন ।

এবার দেখা যাক জটিল এক্সপ্রেশন কিভাবে বিশ্লেষন করা সম্ভব:

এক্ষেত্রে ৩৫ থেকে ১৪ বাদ দিলে থাকছে ২১, অপরদিকে ১০০১ থেকে ৯৯৯ বাদ দিলে থাকছে ২ । ২১ অবশ্যই ২ অপেক্ষা বড়, তাই এক্সপ্রেশনের ভ্যালু হবে True.

এই জিনিসগুলো বার বার নিজে অনুশীলন করে নিন, আশা করি পাইথনে সাধারণ হিসাব নিকাশ খুব সহজেই করে নিতে পারবেন ।

বাংলায় পাইথন – সিঙ্গল কোট, ডাবল কোট ও এস্কেপ ক্যারেক্টার

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

একটি ফাইলে এই কোড টাইপ করে রান করে দেখুন কি আউটপুট দেখায় ।

বাংলায় পাইথন – কোড কমেন্টিং

যে কোন প্রোগ্রামিং ল্যাঙ্গুয়েজেই কমেন্ট অত্যন্ত গুরুতকপূর্ন বিষয় । কমেন্ট হল কোডের সেই অংশ বিশেষ যা ইন্টারপ্রেটার এক্সিকিউট করবে না । কমেন্ট লেখা হয় মূলত যারা পরবর্তীতে এই কোড পড়বেন তাদের জন্য । প্রোগ্রামের বিভিন্ন বিষয় সোর্স কোডের মধ্যেই ব্যখ্যা করা হয় কমেন্টের মাধ্যমে ।

পাইথনে আমরা পাউন্ড বা হ্যাশ ক্যারেক্টার ব্যবহার করে কমেন্ট লিখে থাকি । যেমন:

দেখা যাচ্ছে – কমেন্ট মাল্টিপল লাইনে হতে পারে, শুধু লাইনের শুরুতে পাউন্ড চিহ্ন বসালেই হল । একই লাইনে কিছু কোড এর পরে পাউন্ড সাইন ব্যবহার করে কমেন্ট লেখা যায় । তবে খেয়াল রাখা দরকার, একবার পাউন্ড সাইন দিয়ে কমেন্ট লেখা শুরু করলে তারপর থেকে ঐ লাইনের বাকিটা কমেন্ট হিসেবে বিবেচিত হবে । পাইথনে কমেন্ট শেষ করার ব্যবস্থা নেই, তাই সি বা জাভার মত কমেন্ট ব্লকও (/*….*/) সম্ভব না ।

বাংলায় পাইথন – কিছু দরকারী বিষয়

পাইথনে প্রোগ্রামিং করতে গেলে আপনাকে কিছু বিষয় সর্বদা মাথায় রাখলে সুবিধা হবে ।

ইন্টারএক্টিভ শেল
কমান্ড লাইনে পাইথন রান করালে পাইথনের ইন্টারএক্টিভ শেল চালু হয় । এখানে কোন এক্সপ্রেশন টাইপ করলে পাইথন সাথে সাথে সেটিকে এভ্যালুয়েট করে আউটপুট দেখাবে । কোন কিছু টেস্ট করে দেখা বা প্রোটোটাইপিং এর জন্যে খুবই কাজের জিনিস এটি।

type(), dir(), help() এর ব্যবহার

উপরের অংশ যদি মনযোগ দিয়ে লক্ষ্য করে থাকেন তাহলে দেখবেন type() ফাংশনটি কোন চলক বা নামের ধরন বা টাইপ বলে দেয় । যেমনঃ type(list) দিলে বোঝা গেল এটি একটি লিস্ট । type(list[0]) দিলে দেখা গেল এই লিস্টের প্রথম আইটেমের টাইপ ইন্টিজার ।

dir() কমান্ডটি কোন অবজেক্টের ইন্সপেকশনে ব্যবহার করা হয় । help() ফাংশনটি আমাদের কোন অবজেক্ট সমপর্কে সাহায্যকারী তথ্য সরবরাহ করবে ।

পাইথনে প্রোগ্রামিং ও ডিবাগিং এর ক্ষেত্রে এই ফাংশনগুলো অত্যন্ত কাজের । এগুলো পাইথনের গ্লোবাল নেইমস্পেসের অংশ । তাই এগুলো কোন মডিউল ইম্পোর্ট করা ছাড়াই ব্যবহার করা যায় ।

হোয়াইটস্পেসের ব্যবহার
পাইথনে ইন্ডেন্ট করা হয় হোয়াইটস্পেস ব্যবহার করে, তাই একই ব্লকের কোড এর স্পেসিং সমান হতে হবে, অন্যথায় সিন্ট্যাক্স এরর থ্রো করবে ইন্টারপ্রেটার । নবীনদের প্রথম প্রথম এটা নিয়ে সমস্যা হয় । পরবর্তীতে এটিই পাইথনের অন্যতম প্রিয় একটি ফিচার হয়ে যায় তাদের কাছে ।

বাংলায় পাইথন – শুরু করার আগে

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

প্রথমেই আপনাকে পাইথন সেটাপ করে নিতে হবে । আপনি যদি লিনাক্স বা ম্যাক ব্যবহারকারী হন তবে আপনার পিসি বা ল্যাপটপে পাইথন দেওয়াই আছে । উইন্ডোজ ব্যবহারকারীরা পাইথনের অফিসিয়াল ওয়েব সাইট থেকে পাইথন 2.5.4 ভার্সনটি ডাউনলোড করে ইন্সটল করে নিন । ওয়েব সাইটের ঠিকানা খোঁজা ও ইন্সটলেশন আপনাকে করে নিতে হবে । গুগলের সহায়তা নিতে পারেন ।

পাইথন কোড লেখার জন্যে উইন্ডোজে Notepad++ এবং লিনাক্সে gedit ব্যবহার করতে পারেন । উইন্ডোজ ব্যবহারকারীরা পাইথন ডিরেক্টরীকে আপনাদের সিস্টেম পাথে যোগ করে নিন । অর্থাৎ C:\Python25 এই লোকেশনটিকে আপনার PATH ভ্যারিয়েবলে যোগ করে নিন । এজন্য Computer এর উপর রাইট ক্লিক করে “Properties” এ যান । এবার বাম পাশে “Advanced System Settings” এ ক্লিক করূন । নিচের দিকে থাকা “Environment Variables” এ ক্লিক করুন । এবার “System Variables” এর ভিতরে “Path” এন্ট্রি খুজে বের করে “Edit” বাটন চাপুন । এবার এর শেষে C:\Python25 লিখে ওকে করে বের হয়ে আসুন । এবার কমান্ড প্রম্পট খুলুন (cmd.exe) । টাইপ করুন ঃ python । এন্টার চাপুন । নিচের মত লেখা দেখাবেঃ

এরকম দেখালে বোঝা গেল আমরা পাইথন ইন্সটলেশন শেষে এটাকে রান করাতে পেরেছি কমান্ড লাইনে । এবার আসুন সত্যিকারের একটি পাইথন প্রোগ্রাম লিখি । Notepad++ খুলে টাইপ করুন ঃ

ফাইলটিকে ডেস্কটপে সেইভ করুন “test.py” নামে । এবার কমান্ড প্রম্পট বা টার্মিনাল খুলে নিচের কমান্ডদুটো দিন ।

আউটপুট হবে নিচের মত (উইন্ডোজে)ঃ

আমরা সফলভাবে একটি পাইথন প্রোগ্রাম লিখলাম ও রান করলাম । এরপরে আমরা আরো গভীরে যাব ।