বাংলায় পাইথন প্রোগ্রামিং ল্যাঙ্গুয়েজ বই এবং টিউটোরিয়াল
সহজ কিন্তু সম্পুর্ণ একটা প্রোগ্রামিং ল্যাঙ্গুয়েজ হচ্ছে পাইথন। প্রোগ্রামিং শুরু করতে চাইলে এর থেকে সহজ আর কোন ল্যাঙ্গুয়েজ হতে পারে না। আবার Large Scale প্রজেক্টে এর জন্যও পাইথন সেরা একটা ল্যাঙ্গুয়েজ। পাইথন দিয়ে একই সাথে ডেস্কটপ অ্যাপ, মোবাইল অ্যাপ, ওয়েব সাইট/অ্যাপ এবং গেম ডেভেলপমেন্ট করা যায়। মেশিন লার্নিং, ডাটা সাইন্টিস্টদের পছন্দের লিস্টে রয়েছে এই পাইথন ল্যাঙ্গুয়েজ। সহজ ভাষায়ঃ One Language for Everything! ম্যাকগাইবার দেখছি না আমরা? ম্যাকগাইবার নাইফের মত।
গুগল, ইউটিউবের, Disney, Mozilla সব বড় বড় প্রজেক্টে পাইথন ব্যবহার করে। এখনকার প্রায় প্রজেক্টেই মেশিন লার্নিং এর দরকার হয়, যেমন অ্যামাজন, ফেসবুক, গুগল সহ যত টপ সাইট রয়েছে, সব গুলো সাইটই অনেক ডেটা নিয়ে কাজ করে। ভবিষ্যৎ এ আরো বেশি ডেটা নিয়ে কাজ করতে হবে। ডেটা নিয়ে কাজ করার জন্য, ডেটার উপর লজিক বসিয়ে নতুন ডেটা পাওয়ার জন্য পাইথন দারুণ একটা ল্যাঙ্গুয়েজ।
প্রোগ্রামিং, সফটওয়ার ডেভেলপমেন্ট এর সময় আমাদের অনেকের সাথে কাজ করতে হয়। টিমের অন্যান্য মেম্বারদের কোড দেখতে হয়, কোড পড়তে হয়। পড়ে তা বুঝতে হয়। আর পাইথন কোড গুলো সহজেই পড়া যায়। তা ছাড়া প্রোগ্রামাররা অনেক গুলো কোড লিখে সবার ব্যবহার করার জন্য শেয়ার করে। যাকে আমরা লাইব্রেরী বলি।একই কাজের জন্য আমরা নিজে নিজে আবার শুরু থেকে কোড না লিখে ঐ আগে লেখা লাইব্রেরী গুলো ব্যবহার করতে পারি। আর তখনো কোড পড়তে হয়, পাইথন অরগানাইজড হওয়াতে কোড গুলো সহজেই পড়ে বুঝা যায়।
এখানে আমরা পাইথন সম্পর্কে জানবো। জানব প্রোগ্রামিং সম্পর্কে। তারপর পাইথন দিয়ে কিভাবে সফটওয়ার তৈরি করা যায়, তা শিখব। এরপর নিজ নিজ ক্রিয়েটিভিটি প্রয়োগ করে বড় সড় সফটওয়ার, গেম বা মোবাইল অ্যাপ তৈরি করে ফেলব।
পাইথন লেখা গুলোর সূচিপত্রঃ
অধ্যায় ১ – মৌলিক ধারনা
অধ্যায় ২ – ইনপুট আউটপুট
অধ্যায় ৩ – কন্ট্রোল স্টেটম্যান্ট
অধ্যায় ৪ – ফাংশন
অধ্যায় ৫ – ক্লাস এবং অবজেক্ট
অধ্যায় ৬ – ডেটা স্ট্র্যাকচার
অধ্যায় ৭ – মডিউল এবং প্যাকেজ
অধ্যায় ৮ – ডেটাবেজ
অধ্যায় ৯ – রেগুলার এক্সপ্রেশন
অধ্যায় ১০ – প্রজেক্ট
কেন প্রোগ্রামিং?
আচ্ছা, কেমন হত যদি না কম্পিউটার থাকত? যদি না ইন্টারনেট থাকত? যদি না ফেসবুক থাকত? আর যদি গুগল না থাকত তাহলে কি হতো? কিভাবে আমরা আমাদের এসাইনমেন্ট গুলো খুজে বের করতাম?
গেমস, কম্পিউটার সফটওয়ার, মোবাইল এপলিকেশন, ওয়েব পেইজ যাই হোক না কেন সব জাগায় প্রোগ্রামিং। এটা তো কম্পিউটার বা কম্পিউটার রিলেটেড। অন্য কিছুর দিকে যদি তাকিয়ে দেখি, গাড়ি, এরোপ্লেন, মহাকাশ যান, মেডিকেল ডায়াগনসিস মেশিন, মাইক্রোওয়েব ওভেন, লিফট, গড়ি, ক্যালকুলেটর সহ সকল ইলেক্ট্রনিক্স যন্ত্রতেই প্রোগ্রামিং এর ব্যবহার রয়েছে।
মানুষ নিজেদের ভাষা ব্যবহার করে একজন আরেক জনের সাথে যোগাযোগ করার জন্য। মেশিনের সাথে মানুষের যোগাযোগ করার জন্য ও একটা ভাষা দরকার, সে ভাষা হচ্ছে প্রোগ্রামিং। মেশিনের সাথে যোগাযোগ, এক্সাইটিং না?
প্রোগ্রামিং জানাটা এক্সাটিং থেকেও আরো বেশি কিছু।
বুঝাই যাচ্ছে প্রোগ্রামিং কত গুরুত্ব পূর্ন। এক এক জাগায় এক এক ধরনের কাজ কর্ম করতে হয়। কাজ করার পদ্ধতি ভিন্ন, তাই প্রোগ্রাম গুলো ও ভিন্ন। আবার এই ভিন্ন ভিন্ন প্রোগ্রাম তৈরি করার জন্য রয়েছে অনেক গুলো প্রোগ্রামিং ল্যাঙ্গুয়েজ। এখানে একটূ ক্লিক করে দেখলেই হবে কত গুলো প্রোগ্রামিং ল্যাঙ্গুয়েজ রয়েছে। এগুলোর মধ্যে পাইথন অনেক সহজ একটা ল্যাঙ্গুয়েজ।
গেমস, কম্পিউটার সফটওয়ার, মোবাইল এপলিকেশন, ওয়েব পেইজ যাই হোক না কেন সব জাগায় প্রোগ্রামিং। এটা তো কম্পিউটার বা কম্পিউটার রিলেটেড। অন্য কিছুর দিকে যদি তাকিয়ে দেখি, গাড়ি, এরোপ্লেন, মহাকাশ যান, মেডিকেল ডায়াগনসিস মেশিন, মাইক্রোওয়েব ওভেন, লিফট, গড়ি, ক্যালকুলেটর সহ সকল ইলেক্ট্রনিক্স যন্ত্রতেই প্রোগ্রামিং এর ব্যবহার রয়েছে।
মানুষ নিজেদের ভাষা ব্যবহার করে একজন আরেক জনের সাথে যোগাযোগ করার জন্য। মেশিনের সাথে মানুষের যোগাযোগ করার জন্য ও একটা ভাষা দরকার, সে ভাষা হচ্ছে প্রোগ্রামিং। মেশিনের সাথে যোগাযোগ, এক্সাইটিং না?
প্রোগ্রামিং জানাটা এক্সাটিং থেকেও আরো বেশি কিছু।
বুঝাই যাচ্ছে প্রোগ্রামিং কত গুরুত্ব পূর্ন। এক এক জাগায় এক এক ধরনের কাজ কর্ম করতে হয়। কাজ করার পদ্ধতি ভিন্ন, তাই প্রোগ্রাম গুলো ও ভিন্ন। আবার এই ভিন্ন ভিন্ন প্রোগ্রাম তৈরি করার জন্য রয়েছে অনেক গুলো প্রোগ্রামিং ল্যাঙ্গুয়েজ। এখানে একটূ ক্লিক করে দেখলেই হবে কত গুলো প্রোগ্রামিং ল্যাঙ্গুয়েজ রয়েছে। এগুলোর মধ্যে পাইথন অনেক সহজ একটা ল্যাঙ্গুয়েজ।
প্রোগ্রামিং কতটা পাওয়ারফুল তা আমাদের কল্পনার ও বাহিরে। যে প্রোগ্রামিং জানবে, সে নতুন একটা পৃথিবী তৈরি করে ফেলতে পারবে। তৈরি করা যাবে নতুন একটা ভার্চুয়াল মহাবিশ্ব।
প্রোগ্রামিং করে নিজের একটা ভার্চুয়াল অনুলিপি তৈরি করে ফেলা যাবে। Trancedence মুভি টা দেখেছ? না দেখে থাকলে বলব দেখে নিতে একটি বার। ঐ মুভিটার মত নিজের একটা অনুলিপি তৈরি করা সম্ভব। ভার্চুয়াল ভাবেই নিজের জ্ঞান অর্জন বাড়িয়ে নেওয়া সম্ভব। নতুন অর্জিত জ্ঞান কাজে লাগিয়ে অসাধারণ কিছু করে ফেলা সম্ভব। অসম্ভব কিছু না এই প্রোগ্রামিং এর দুনিয়াতে…
কি করা সম্ভব তার একটা দিকই বললাম। আরো হাজারটি দিক রয়েছে। কি কি ইতিমধ্যে সম্ভব হয়েছে, তা তো আমরা দেখতেই পাচ্ছি। তারপর ও আমি কিছু বলার চেষ্টা করি।
এই ফেসবুকে বসে পড়ি, এটা প্রোগ্রামিং দিয়েই তৈরি। এক একটা স্ট্যাটাস, ছবি ইত্যাদি আমাদের দেখানোর পেছনে অনেক গুলো কোড কাজ করছে। আমরা কোন ছবির উপর কতক্ষণ মাউস / আঙ্গুল রেখেছি, তা ট্র্যাক করা হচ্ছে। আর তা ট্র্যাক করে আমাদের সম্পর্কে জেনে নিচ্ছে ফেসবুক। আর আমাদের সম্পর্কে জেনে নিয়ে আমাদের কিসে কিসে আগ্রহ, সে সব রিলেটেড এড দেখাছে ডান কোনায়। মোবাইলের নিউজ ফিডে। …
এক একটা মহামারি ভাইরাস আসলে আমাদের সবার ঘুম হারাম করে দেয়। কখন যে আমি আক্রান্ত হই। বিজ্ঞানীরা তখন ব্যস্ত থাকে ঐ ভাইরাস সম্পর্কে জানতে। ঐ ভাইরাসের জিন সিকোয়েন্স বের করে। তৈরি করে প্রতিষেধক। টিকা… এই প্রসেস গুলো আগে অনেক কঠিন ছিল, সময় অনেক বেশি লাগতো। কয়েক যুগ ও লেগে যেতো। কম্পিউটার আর প্রোগ্রামিং এর কল্যাণে অনেক সহজেই অনেক কম সময়ের মধ্যে একটা ভাইরাস সম্পর্কে জেনে নেওয়া যায়, তৈরি করা যায় প্রতিষেধক। আগের তুলনায় মহামারী ভাইরাসে তাই আস্তে আস্তে মৃত্যু হার কমে এসেছে…
প্রোগ্রামিং মানুষের চিন্তা শক্তি বাড়িয়ে দেয়। চিন্তা করা মানে হচ্ছে নতুন কিছু করা। আমাদের পাওয়ারফুল যে একটা মস্তিষ্ক রয়েছে তার সঠিক ব্যবহার করা। যারা প্রোগ্রামিং জানে, আর যারা প্রোগ্রামিং জানে না তাদের চিন্তা করার পদ্ধতি ভিন্ন। প্রোগ্রামিং আমরা কিভাবে চিন্তা করি, তাই পরিবর্তন করে দেয়।
সবাই নিজের ক্যারিয়ার নিয়ে একটু আধটু টেনশনে থাকে। প্রোগ্রামিং জানলে ক্যারিয়ার সম্পর্কে আর চিন্তা করতে হয় না। এমনকি সাধারণ অন্যান্য চাকরি করার জন্য দরকার সার্টিফিকেট। আর প্রোগ্রামিং জানাটাই হচ্ছে একটি সার্টিফিকেট। লাইভ সার্টিফিকেট। হাজার হাজার জব পড়ে আছে যে প্রোগ্রামিং জানে, তার জন্য।
কি করা সম্ভব তার একটা দিকই বললাম। আরো হাজারটি দিক রয়েছে। কি কি ইতিমধ্যে সম্ভব হয়েছে, তা তো আমরা দেখতেই পাচ্ছি। তারপর ও আমি কিছু বলার চেষ্টা করি।
এই ফেসবুকে বসে পড়ি, এটা প্রোগ্রামিং দিয়েই তৈরি। এক একটা স্ট্যাটাস, ছবি ইত্যাদি আমাদের দেখানোর পেছনে অনেক গুলো কোড কাজ করছে। আমরা কোন ছবির উপর কতক্ষণ মাউস / আঙ্গুল রেখেছি, তা ট্র্যাক করা হচ্ছে। আর তা ট্র্যাক করে আমাদের সম্পর্কে জেনে নিচ্ছে ফেসবুক। আর আমাদের সম্পর্কে জেনে নিয়ে আমাদের কিসে কিসে আগ্রহ, সে সব রিলেটেড এড দেখাছে ডান কোনায়। মোবাইলের নিউজ ফিডে। …
এক একটা মহামারি ভাইরাস আসলে আমাদের সবার ঘুম হারাম করে দেয়। কখন যে আমি আক্রান্ত হই। বিজ্ঞানীরা তখন ব্যস্ত থাকে ঐ ভাইরাস সম্পর্কে জানতে। ঐ ভাইরাসের জিন সিকোয়েন্স বের করে। তৈরি করে প্রতিষেধক। টিকা… এই প্রসেস গুলো আগে অনেক কঠিন ছিল, সময় অনেক বেশি লাগতো। কয়েক যুগ ও লেগে যেতো। কম্পিউটার আর প্রোগ্রামিং এর কল্যাণে অনেক সহজেই অনেক কম সময়ের মধ্যে একটা ভাইরাস সম্পর্কে জেনে নেওয়া যায়, তৈরি করা যায় প্রতিষেধক। আগের তুলনায় মহামারী ভাইরাসে তাই আস্তে আস্তে মৃত্যু হার কমে এসেছে…
প্রোগ্রামিং মানুষের চিন্তা শক্তি বাড়িয়ে দেয়। চিন্তা করা মানে হচ্ছে নতুন কিছু করা। আমাদের পাওয়ারফুল যে একটা মস্তিষ্ক রয়েছে তার সঠিক ব্যবহার করা। যারা প্রোগ্রামিং জানে, আর যারা প্রোগ্রামিং জানে না তাদের চিন্তা করার পদ্ধতি ভিন্ন। প্রোগ্রামিং আমরা কিভাবে চিন্তা করি, তাই পরিবর্তন করে দেয়।
সবাই নিজের ক্যারিয়ার নিয়ে একটু আধটু টেনশনে থাকে। প্রোগ্রামিং জানলে ক্যারিয়ার সম্পর্কে আর চিন্তা করতে হয় না। এমনকি সাধারণ অন্যান্য চাকরি করার জন্য দরকার সার্টিফিকেট। আর প্রোগ্রামিং জানাটাই হচ্ছে একটি সার্টিফিকেট। লাইভ সার্টিফিকেট। হাজার হাজার জব পড়ে আছে যে প্রোগ্রামিং জানে, তার জন্য।
এক সময় সারাদিন বসে বসে গেমস খেলতাম। তখন খুব আপসুস করে চিন্তা করতাম, কেন সবাই গেমস খেলে না, এমন সারাদিন অন্য কাজ করে। গেমস খেলায় এত মজা। চিন্তা করলাম, মানুষ মারা যাওয়ার পর কি গেম খেলার সুযোগ পায়? আমি কি গেমস খেলার সুযোগ পাবো?
এর কিছুদিন পর মাথায় উকি দিল, কিভাবে গেমস গুলো তৈরি হয়। তারপর শুনতে পেলাম প্রোগ্রামিং এর কথা। প্রোগ্রামিং করেই গেমস গুলো তৈরি হয়। এক্সাইটেড হয়ে গেলাম। প্রোগ্রামিং শিখতে হবে। আমাকে গেমস তৈরি করা জানতে হবে। এখন তোমার ও যদি একই ধরনের ইচ্ছে থাকে, গেমস তৈরি করা। তাহলে শুরু করে দিতে পারো। বা তোমার রোবট নিয়ে কাজ করার ইচ্ছে আছে? মাইক্রোসফট উইন্ডজের মত অপারেটিং সিস্টেম তৈরি করার ইচ্ছে আছে? ইচ্ছে আছে কি ফেসবুক বা গুগল থেকে বড় সড় ওয়েব সাইট তৈরি করার? তাহলে শুরুটা কিন্তু প্রোগ্রামিং দিয়েই শুরু করতে হবে।
প্রথম পাইথন প্রোগ্রাম
আমরা আমাদের প্রথম পাইথন প্রোগ্রাম লিখব কোন কিছু ইন্সটল করা ছাড়াই। অনলাইনে পাইথনের কোড লেখার জন্য অনেক গুলো IDE রয়েছে। তেমনি একটা হচ্ছে Python Fiddle। লিঙ্কঃ
Python Fiddle এ গেলে মাঝ খানে একটা টেক্সট এরিয়া পাবো। ঐখানেই আমরা আমাদের পাইথনের কোড লিখব। পাইথনে প্রোগ্রামিং করা অনেক সহজ। যেমন কনসোলে Hello World! লেখার জন্য লিখতে হয়ঃ
1
| print ( "Hello World!" ) |
হ্যা, মাত্র এক লাইন লিখেই আমরা একটা পাইথন প্রোগ্রাম লিখে ফেলতে পারি। Python Fiddle এর টেক্সট এরিয়াতে কোডটি লিখব। এবং উপরের দিক থেকে Run এ ক্লিক করে রান কব। তাহলে নিচের দিকে আমাদের আউটপুট দেখাবে। নিচের ছবিটি দেখতে পারিঃ
এর তিনটা প্রধান অংশ। একটাতে আমরা কোড লিখেছি। Run এ ক্লিক করে আমরা রান করেছি। এবং অবশেষে নিচের দিকে আমাদের আউটপুট পেয়েছি। আমরা প্রথম প্রোগ্রাম লিখে ফেলেছি। আমরা এখন প্রোগ্রামিং পারি। আর প্রোগ্রামিং এতই সহজ।
Hello world! পরিবর্তন করে যে কোন কিছু লিখে রান করে দেখি। সুন্দর না? আমরা যা লিখছি, তাই দেখাচ্ছে।
এভাবে Python Fiddle এ গিয়ে আমরা পাইথনের কোড লিখতে পারি। Python Fiddle এর বাম পাশে দেখব Example নামে একটা অংশ রয়েছে। যেখানে অনেক গুলো পাইথনের কোড রয়েছে। আমরা যে কোন একটাতে ক্লিক করলে অটোমেটিক কিছু কোড টেক্সট এরিয়াতে চলে আসবে। তারপর আমরা সেগুলো রান করালে নিচের দিকে আউটপুট দেখতে পাবো। আস্তে আস্তে আমরা সে গুলো দেখব। এখন হয়তো কোড গুলো বুঝব না, কিন্তু কিছু দিনের মধ্যেই আমরা আস্তে আস্তে সব গুলো কোড বুঝতে পারবো। নিজে নিজে অনেক বড় বড় প্রোগ্রাম লিখে ফেলতে পারব। লিখে ফেলতে পারব বিশাআআল সফটওয়ার বা গেম। তারপর একদিন নিজে নিজে গেম তৈরি করে নিজে নিজেই খেলব। ঠুস ঠাআআস! ঢিসুউউম!
কম্পিউটারে পাইথন ইন্সটল করে প্রোগ্রাম লেখাঃ
পাইথন ইন্সটল
পাইথন প্রোগ্রাম রান করার জন্য পাইথন ইন্সটল করতে হয়। লিনাক্স বা ম্যাকে পাইথন ইন্সটল করা থাকে, আলাদা করে ইন্সটল করতে হয় না। যদিও বেশির ভাগ কম্পিউটারে পাইথন 2.7.x ভার্সনটি ইন্সটল করা থাকে। আমরা শিখব সর্বশেষ ভার্সন। তাই হয়তো আমাদের আলাদা করে পাইথন ইন্সটল করে নিতে হবে।
আপনি যে অপারেটিং সিস্টেম ব্যবহার করেন না কেনো (উইন্ডোজ, লিনাক্স অথবা ম্যাক) তার জন্য পাইথন ডাউনলোড করা যাবে python.org/downloads ঠিকানা থেকে। লেটেস্ট ভার্সন যেমন Python 3.x.x ডাউনলোড করে নিব প্রথমে। এরপর ইন্সটল করে নিব। ইন্সটল করার সময় Add Python 3.x to PATH অপশনটা চেক করে দিব।
পাইথন ঠিক মত ইন্সটল হয়েছে কিনা, তা দেখা যাবে টার্মিনাল না কমান্ড লাইনে। কমান্ড লাইন বা টার্মিনালে গিয়ে python লিখলে যদি পাইথন শেল চলে আসে, তাহলে বুঝতে পারব পাইথন ঠিক মত ইন্সটল হয়েছে। এই পাইথন শেলে আমরা যে কোন পাইথন প্রোগ্রাম লিখতে পারি। print(“Hello World!”) লিখলে পরের লাইনে আউটপুট দিবে। এছাড়া করতে পারি বিভিন্ন এরিথম্যাটিক অপারেশন। যেমন পাইথন শেলে যদি লিখি 2*9 তা পরের লাইনে আউটপুট দিবে 18।
পাইথন IDE – PyCharm
পাইথন প্রোগ্রাম কমান্ডলাইনেই লেখা যায়। আবার চাইলে আমরা যে কোন এডিটর ব্যহার করে কোড লিখে কমান্ডলাইনে গিয়ে রান করে দেখতে পারি। অথবা ব্যবহার করতে পারি কোন IDE (Integrated Development Environment)। পাইথনের জন্য দারুণ একটা আইডিই হচ্ছে PyCharm। এটি ছাড়াও আরো অনেক গুলো আইডিই বা এডিটর রয়েছে। আমরা ব্যবহার করব PyCharm। আইডিই ব্যবহার করার শুবিধে হচ্ছে প্রোগ্রামিং করার জন্য এটার মধ্যে অনেক ফিচার যুক্ত করা থাকে। এছাড়া আমরা ভুল কিছু লিখলে আমাদের ভুল ধরিয়ে দেয়। কোড লেখার পর সহজে রান করে দেখা যায়। আমরা দেখব কিভাবে PyCharm ব্যবহার করে একটা পাইথন প্রোগ্রাম এক্সিকিউট করা যায়। তার জন্য প্রথমে PyCharm ডাউনলোড করে নিব। ডাউনলোড করতে পারা যাবে https://www.jetbrains.com/pycharm ঠিকানা থেকে। এখানে দুইটা ভার্সন পাওয়া যাবে। একটা হচ্ছে প্রফেশনাল ভার্সন, যার জন্য টাকাটুকা লাগবে। আরেকটা ভার্সন হচ্ছে কমিউনিটি এডিশন, যা ফ্রি। আমরা কমিউনিটি এডিশনটা ডাউনলোড করে নিব। পাইথন প্রোগ্রামিং শেখার জন্য যা যা করা দরকার, তার সবই কমিউনিটি শেখার করা যাবে।
ইন্সটল করা যে কোন সাধারণ সফটওয়ারের মত। ইন্সটল করার পর প্রথম বার ওপেন করলে পূর্ববর্তী কোন সেটিং ইম্পোর্ট করব কিনা, তার একটা অপশন দিবে। যেহেতু আমরা কোন কিছু ইম্পোর্ট করব না, তাই Do not import সিলেক্ট করব। এরপর আরেকটা অপশন আসবে। JetBrains Privacy policy। তা Accept করে নেক্সটে ক্লিক করব। তাহলে আমাদের পাইথন প্রজেক্ট তৈরি করার অপশন দিবে।
Create New Project এ ক্লিক করলে নিচের মত অপশন দিবে।
প্রজেক্টটি কোথায় সেভ হবে, তা এবং প্রজেক্টের নাম এখানে দেওয়া যাবে।
দ্বিতীয় অপশনটি হচ্ছে পাইথন ইন্টারপ্রেটারের জন্য। যদি একাদিক পাইথন ইন্সটল থাকে, এখান থেকে তা সিলেক্ট করা যাবে। যদি পাইথন ইন্সটল করা না থাকে, তাহলে লেখা উঠবে No interpreter found। তখন আমাদের পাইথন ইন্সটল করে নিতে হবে।
প্রজেক্ট তৈরির পর আমরা পাইথন কোড লেখার জন্য প্রস্তুত। পাইথন কোড লেখার জন্য একটা পাইথন ফাইল তৈরি করতে হবে। তার জন্য প্রজেক্ট এক্সপ্লোরারের উপর রাইট ক্লিক করে New > File এ ক্লিক করতে হবে।
ফাইলের নাম লেখার জন্য একটা উইন্ডো আসবে। এরপর এখানে একটি নাম যেমন hello.py লিখে ওকে ক্লিক করব। যে কোন নামের শেষে .py লিখতে হবে। .py মানে একটা পাইথন ফাইল। hello.py তে ডাবল ক্লিক করলে তা এডিট মুডে ওপেন হবে। এবার এখানে আমরা যে কোন পাইথন কোড লিখতে পারব। যেমন লিখলামঃ
1
| print (“Hello World!”) |
এবার তা রান করার জন্য PyCharm এর Run মেনু থেকে Run এ ক্লিক করলে নিচের দিকের কনসোলে আউটপুট দিবে।
Hello World!
অভিনন্দন! আপনি সফল ভাবে আপনার প্রথম পাইথন প্রোগ্রাম রান করতে পেরেছেন। এবার আপনি পরবর্তী অধ্যায় গুলো পড়ার জন্য প্রস্তুত। তার আগে পাইথনের কিছু গুরুত্বপূর্ণ বিষয় সম্পর্কে জানা দরকার।
যদি কোন কারণে PyCharm পাইথন খুঁজে না পায়, তাহলে পাইথনের ইন্টারপ্রেটার সেট করে দিতে পারি আমরা। তার জন্য প্রজেক্ট ওপেন করা অবস্থায় Run মেনু থেকে Edit Configaration এ ক্লিক করতে হবে। তারপর সেখান থেকে পাইথন ইন্টারপ্রেটার সেট করে দেওয়া যাবে।


কমেন্টঃ
ছোট খাটো প্রোগ্রাম লিখলে কোন কোডটি কেন লিখেছি, সহজে বুঝা যায়। কিন্তু চিন্তা করে দেখেন, যখন অনেক বড় প্রজেক্টে কাজ করা হয়, সেখানে লক্ষ লক্ষ লাইনের প্রজেক্ট, সেখানে কোন কোডটা কেন লেখা হয়েছে, বোঝার উপায় আছে? কোন কোড কি কারণে লেখা হয়েছে, তা লিখে রাখার জন্য প্রোগ্রামিং এ কমেন্ট ব্যবহার করা হয়।
পাইথনে এক লাইনের কমেন্ট লেখার জন্য হ্যাস (#) ব্যবহার করা হয়। যেমনঃ
1
| print ( "Hello World!" ) # printing hello world! |
এখানে কোডটি কেন লিখেছি, তা কমেন্টে লিখে দিয়েছি আমরা। কমেন্ট শুধু মানুষ পড়তে পারে। পাইথন ইন্টারপ্রেটার যখন কোড গুলো এক্সিকিউট করে, তখন এই কমেন্ট গুলো স্কিপ করে যায়।
আমরা চাইলে একের অধিক লাইনের কমেন্টও লিখতে পারি। তার জন্য তিনটা ডাবল কোটেশনের মধ্যে আমাদের কমেন্ট লিখতে হয়। যেমনঃ
1
2
3
4
5
| """ This is our first Python program. In this program, we will print Hello World! in the console. """ print ( "Hello World!" ) |
ইন্ডেনটেশনঃ
ইন্ডেন্টেশন হচ্ছে হোয়াইট স্পেস। পাথনে কোড লেখার সময় এই ইন্ডেন্টেশন গুলো মেনে কোড লিখতে হয়। কিছু কিছু প্রোগ্রামিং ল্যাঙ্গুয়েজে ইন্ডেন্টেশন না মানলেও প্রোগ্রাম ঠিক মত কাজ করে। কিন্তু পাইথনে ইন্ডেন্টেশন ঠিক মত না দেওয়া হলে প্রোগ্রামে এরর দিবে।
যেমন নিচের কোড গুলো দেখিঃ
1
2
3
4
5
| x = 21 y = 19 if x > y: print "x is grater then y" |
এখানে print “x is grater then y” স্টেটমেন্টের আগে ৫টা স্পেস রয়েছে। আমরা যদি এই স্পেস গুলো না দিয়ে প্রোগ্রামটি লিখে রান করি, তাহলে প্রোগ্রামে এরর দিবে। কিন্তু স্পেস গুলো দেওয়ার পর যদি রান করি, তাহলে সুন্দর মত প্রোগ্রামটা রান হবে। if সম্পর্কে আমরা পরের অধ্যায় গুলোতে বিস্তারিত জানতে পারব। এখানে শুধু উদাহরণ দেওয়ার জন্য ব্যবহার করা হয়েছে। আপানি উপরের কোডটি রান করে দেখতে পারেন।
পাইথন শেলঃ
পাইথন ইন্সটল করলে সাধারণত পাইথন শেল ও ইন্সটল হয়ে থাকে। লিনাক্স অথবা ম্যাকে ডিফল্ট ভাবে পাইথন শেল থাকে। PyCharm বা কোন আইডিই ছাড়া পাইথন প্রোগ্রাম লেখার জন্য এই শেল ও ব্যবহার করতে পারি। উইন্ডোজ, ম্যাক অথবা লিনাক্সের কমান্ড লাইনে গিয়ে python লিখলে এই শেল পাওয়া যাবে। এখানে গিয়ে আমরা যে কোন পাইথন কোড লিখে রান করে দেখতে পারি। যেমনঃ
1
| print ( "Hello World!" ) |
কোড লিখে এন্টার প্রেস করলে পরের লাইনে আউটপুট দিবে Hello World!
ক্যালকুলেটর ছাড়া যে কোন ক্যালকুলেশন আমরা এখানে করতে পারি। যেমন 9*9 লিখে এন্টার প্রেস করলে পরের লাইনে আউটপুট দিবে। ইত্যাদি।
আরো দুইটি এডিটরঃ
আরেকটি সুন্দর কোড এডিটর হচ্ছে Sublime Text
strong>Sublime Text ডাউনলোড করে ইন্সটল করে নিব। এরপর ফাইল মেনুতে ক্লিক করে New File এ ক্লিক করব। এখানে আমরা আমাদের পাইথন কোড লিখব। আমাদের প্রথম পাইথন কোডটিই আবার লিখি।
1
| print ( "Hello World!" ) |
এবার সেভ করি। Ctrl + S এ ক্লিক করে বা FIle > Save থেকে। যেখানে সেভ করতে চাই, তা দেখিয়ে দিব। ফাইলের এক্সটেনশন দিব .py যেমন আমরা সেভ করতে পারিঃ hello.py নামে।


এবার সাবলাইম টেক্সট এর Tools মেনু থেকে Build System থেকে Python সিলেক্ট করব।
এবং শেষে Ctrl + B চেপে আমরা আমাদের প্রথম প্রোগ্রাম সাবলাইম টেক্সট এ রান করব। তাহলে নিচের দিকে কনসোলে আমাদের প্রোগ্রামের আউটপুট দেখাবে। নিচের ছবিটির মতঃ


আরেকটি আইডিই হচ্ছে PyDev IDE । PyDev হচ্ছে পাইথনের IDE. আর এটি ইন্সটল করার জন্য LiClipse ডাউনলোড করে নিব।
LiClipse ডাউনলোড করে ইন্সটল করব। তারপর স্টার্টমেনু বা ডেস্কটপে তৈরি হওয়া সর্টকার্ট থেকে ওপেন করব। প্রথমবার ওপেন করলে আমাদের একটা থিম সিলেক্ট করতে বলবে। যে কোন একটা সিলেক্ট করে ওকে দিব। তাহলে LiClipse রিস্টার্ট করতে বলবে। Yes দিলে আবার LiClipse ওপেন হবে।

File মেনু থেকে New PyDev প্রজেক্ট এ ক্লিক করব। প্রজেক্ট এর একটি নাম দিব। এবং Create a src folder and add it to the Pythonpath রেডিওবাটনটা সিলেক্ট করে Finish এ ক্লিক করব।
প্রথম বার LiClipse ওপেন করলে নিচের মত Configure Interpreter করতে বলবে।


আমরা Quick Auto-Config এ ক্লিক করলে LiClipse আমাদের জন্য সব অটোমেটিক কনফিগার করে দিবে।
এবার প্রজেক্ট এক্সপ্লোরর থেকে src এর উপর রাইট ক্লিক করে New > File এ ক্লিক করব।

এখানে আমাদের পাইথন ফাইলটির নাম দিব। যেমন hello.py

এখানে আমাদের পাইথন ফাইলটির নাম দিব। যেমন hello.py
hello.py এর ভেতর আমরা আমাদের কোড লিখব। যেমন নিচের কোডটি লিখিঃ
1
| print ( "Hello World!" ) |
এবার রান করাতে হবে। রান বাটনের সাথে থাকা ড্রপডাউনে ক্লিক করব। তারপর Run As > Python Run এ ক্লিক করলে আমাদের পাইথন প্রোগ্রামটি রান হবে।


নিচে কনসোলে আমাদের আউটপুট দেখাবেঃ
Hello World!
Hello World!
পাইথন – ডেটা টাইপ, ভ্যারিয়েবল
ভ্যারিয়েবল
কোন ডেটার জন্য মেমরি লোকেশন বরাদ্ধ করার জন্য ভ্যারিয়েবল ব্যবহার করা হয়। এর মানে হচ্ছে আমরা যখন কোন ভ্যারিয়েবল তৈরি করি, তখন আমরা ঐ ভ্যারিয়েবলের জন্য মেমরিতে কিছু জায়গা সংরক্ষণ করে রাখি। এ ডেটা হতে পারে নিউম্যারিক (যে কোন সংখ্যা) অথবা ক্যারেক্টার, (a,b,c…Z) ইত্যাদি। এ ভ্যারিয়েবল এর মধ্যে কি ধরনের ডেটা রাখব আমরা তাই হচ্ছে ডেটা টাইপ।
ডেটা টাইপ
পাইথনে ভ্যারিয়েবল ব্যবহার করার পূর্বে তা ডিক্লেয়ার করতে হয় না বা ভ্যারিয়বলের টাইপ বলে দিতে হয় না। আমরা জেনেছি পাইথন অবজেক্ট ওরিয়েন্টেড প্রোগ্রামিং ল্যাগুয়েজ। এর প্রত্যেকটা ভ্যারিয়েবলই হচ্ছে এক একটা অবজেক্ট।
মেমরিতে আমরা যে ডেটা রাখব, তা অনেক ধরণের হতে পারে। যেমন যে কোন নাম্বার, বিভিন্ন লিস্ট, যে কোন টেক্সট ইত্যাদি। পাইথনে পাঁচটি স্ট্যান্ডার্ড ডেটা টাইপ রয়েছে। সেগুলো হচ্ছেঃ
- Number
- String
- List
- Tuple
- Dictionary
ভ্যারিয়েবলে ডেটা এসাইন করা
পাইথন statically typed ল্যাঙ্গুয়েজ না। statically typed ল্যাঙ্গুয়েজ গুলোতে ভ্যারিয়েবল তৈরির সময় কোন টাইপের ডেটা রাখব ঐ ভ্যারিয়েবলে, তা বলে দিতে হয়। পাইথনে সেভাবে বলে দিতে হয় না। আমরা পাইথনে কোন ভ্যারিয়েবলে ডেটা এসাইন করলে তা অটোমেটিক ডেটা টাইপ সেট করে নেয়।
কোন ভ্যারিয়েবলে ভ্যালু এসাইন করতে = চিহ্ন ব্যবহার করা হয়। যেমন:
1
| name = “Guido van Rossum” |
এখানে name একটি ভ্যারিয়েবল, যেটাতে আমরা একটা নাম রেখেছি। যেটা একটা স্ট্রিং ভ্যারিয়েবল।
1
| number = 911 |
এখানে নাম্বার নামে একটা ভ্যারিয়েবল নিয়েছি এবং এর মধ্যে 911 রেখেছি, যা একটি ইন্টিজার ভ্যালু। তাই number হচ্ছে একটি ইন্টিজার ভ্যারিয়েবল। একই ভাবে
1
| pi = 3.1416 |
এখানে pi হচ্ছে একটা ফ্লোটিং পয়েন্ট ভ্যারিয়েবল। কারণ এখানে আমরা একটা দশমিক সংখ্যা রেখেছি।
মাল্টিপল এসাইনমেন্ট
পাইথনে আমরা চাইলে এক সাথে একের অধিক ভ্যারিয়েবলে একই ডেটা এসাইন করতে পারি। যেমনঃ
1
| ovi, niloy, asif = 3.99 |
যেখানে ovi, niloy, asif নামক তিনতে ভ্যারিয়েবলে প্রতিটাতে 3.99 ভ্যালুটি এসাইন হবে।
আমরা চাইলে একই সাথে একাধিক ভ্যারিয়েবলে একাধিক মান এক সাথে এসাইন করতে পারি। যেমনঃ
1
| pi, name, number = 3.1416 , “Guido van Rossum”, 999 |
যেখানে আমরা তিনটে ভ্যারিয়েবলে এক সাথে তিনতে আলাদা আলাদা ভ্যালু এসাইন করেছি। যেখানে pi = 3.1416, name = “Guido van Rossum” এবং number = 999।
ভ্যারিয়েবল ডেটা টাইপ এবং কিভাবে কোন ভ্যারিয়েবলে কোন ডেটা এসাইন করা যায়, তা আমরা দেখেছি। এখন জানব বিভিন্ন ডেটা টাইপ সম্পর্কে।
নাম্বারঃ
পাইথন দুই ধরনের নাম্বার সাপোর্ট করে, ইন্টিজার এবং ফ্লোটিং পয়েন্ট।
ইন্টিজার ব্যবহার করার জন্যঃ
1
| myInt = 10 |
উপরে আমরা myInt নামক একটা ভ্যারিয়েবল নিয়েছি এবং যার মধ্যে 10 রেখেছি। ভ্যারিয়েবলে কোন মান/ভ্যালু/ডেটা রাখাকে বলে এসাইন/Asign করা।
ফ্লোটিং পয়েন্ট ব্যবহার করার জন্যঃ
1
| myFloat = 10.6 |
বাঃ
1
2
3
| myFloat = float ( 10 ) print (myFloat) |
আমরা যদি একটা ইন্টিজার ভ্যারিয়েবলের মান পরিবর্তন করে তাতে একটা ফ্লোটিং পয়েন্ট / দশমিক ভ্যালু রাখি, তাহলে তা অটোমেটিকেলি ফ্লোটিং পয়েন্ট ভ্যারিয়েবলে কনভার্ট হয়ে যাবে। যেমন
1
| myInt = 10.6 |
পাইথনে সবকিছুই হচ্ছে অবজেক্ট। ভ্যারিয়েবল, ফাংশন এমনকি কোড ও। আর এক একটা অবজেক্ট এর একটা ID থাকে, ইউনিক আইডি, টাইপ এবং ভ্যালু।
আইডি যেহেতু ইউনিক, তা পরিবর্তন করা যায় না। টাইপটাও ইউনিক। টাইপ হচ্ছে অবজেক্ট এ ক্লাস। অবজেক্ট দুই প্রকার। একটা হচ্ছে Mutable অবজেক্ট। আরকটা Immutable অবজেক্ট। মিউট্যাবল অবজেক্ট এর ভ্যালু পরিবর্তন করা যায়। ইমিউট্যাবল অবজেক্ট এর ভ্যালু পরিবর্তন করা যায় না।
যেমন আমরা যদি myInt এর আইডি পেতে চাই, তাহলে লিখবঃ
1
2
3
4
5
| myInt = 10 print (myInt) print id (myInt) |
যা আউটপুট দিবেঃ
10
140641000531104
যেমন আমরা যদি myInt এর টাইপ পেতে চাই, তাহলে লিখবঃ
1
2
3
4
5
| myInt = 10 print (myInt) print type (myInt) |
যা আউটপুট দিবেঃ
10
আমরা যদি myInt এর ভ্যালু পরিবর্তন করে একটা ফ্লোটিং পয়েন্ট নাম্বার দিয়ে দেই, তাহলে এটার টাইপ পরিবর্তন হয়ে যাবেঃ
1
2
3
4
5
| myInt = 10.6 print (myInt) print type (myInt) |
যা আউটপুট দিবেঃ
10.6
আমরা দেখলাম যে টাইপ পরিবর্তন হয়ে গেছে।
একটু খানি গণিতঃ
নাম্বার সম্পর্কে জানলাম। এগুলো সহজেই কিভাবে প্রোগ্রামে কাজে লাগানো যা, তা আমরা ছোট খাটো অংক করে দেখতে পারি। পাইথনে সহজেই আমরা যোগ, বিয়োগ, গুণ, ভাগ করে ফেলতে পারি।
যোগঃ
1
2
3
4
5
| value1 = 50 value2 = 11 result = value1 + value2 print (result) |
বিয়োগঃ
1
2
3
4
5
| value1 = 50 value2 = 11 value3 = value1 - value2 print (value3) |
বা এভাবেঃ
1
2
| value3 = 50 - 11 print value3 |
গুনঃ
1
2
3
4
| value1 = 50 value2 = 11 value3 = value1 * value2 print (value3) |
ভাগঃ
1
2
3
4
| value1 = 50 value2 = 11 value3 = value1 / value2 print (value3) |
রিমাইন্ডার / ভাগশেষঃ
যোগ, বিয়োগ, গুণ, ভাগ চিহ্ন গুলোর সাথে আমরা আগেই পরিচিত। আরকেটা চিহ্ন এর সাথে পরিচিত হব, আর তা হচ্ছেঃ %
আমরা একে পার্সেন্ট চিহ্ন হিসেবে জানতাম। প্রোগ্রামিং এ এর কাজ হচ্ছে ভাগ শেষ বের করা। যেমনঃ
1
2
3
4
| value1 = 50 value2 = 11 value3 = value1 % value2 print (value3) |
যা আউটপুট দিবে 6
এবার নিজের মত করে কিছু সংখ্যা নিয়ে অঙ্ক করা যেতে পারে। ঠিক মত আউটপুট দেয় কিনা, তা দেখা যেতে পারে।
String / স্ট্রিং
যে কোন লেখা, ওয়ার্ডই হচ্ছে এক একটা String. যেমনঃ
1
2
| myString = “Hello world!" print myString |
এটা একটা স্ট্রিং। স্ট্রিং আমরা ডাবল কোটেশন বা সিঙ্গেল কোটেশনের ভেতর লিখতে পারি। উপড়ে লিখেছি ডাবল কোটেশনে। কিন্তু নিচের মত করেও লিখতে পারি আমরা
1
2
| myString = ‘Hello world!' print myString |
সিঙ্গেল কোটেশনের ভেতরে লিখলে একটা সমস্যা হয়ে যাবে, আমরা এপস্ট্রপস / apostriphes লিখতে পারব না।
যেমন নিচের কোড টুকু লিখলে প্রোগ্রামে ভুল দেখাবেঃ
1
2
| myString = ‘It’s Friday, YaY' print myString |
রান হচ্ছে না, তাই না? এ জন্যই আমরা স্ট্রিং গুলকে ডাবল কোটের মধ্যে লিখব।
আমরা name বলতে একটা ভ্যারিয়েবল নিব। যার মধ্যে কেউ একজনের নাম লিখব। তারপর প্রোগ্রামকে বলব যার নাম লিখছি, তাকে হ্যালো জানাতে। যেমন একজনের নাম Nahid. প্রোগ্রাম প্রিন্ট করবেঃ Hello Nahid, প্রোগ্রামটি লিখব এভাবেঃ
1
2
| name = “Nahid" print “Hello “ + name |
উপরে মূলত আমরা দুইটা স্ট্রিং এক সাথে প্রিন্ট করেছি। Hello এবং Nahid. আর এক সাথ করাকে বলে String Concatinaion. বা স্ট্রিং জোড়া দেওয়া। দুইটা স্ট্রিং যোড়া দেওয়ার জন্য ব্যবহার করা হয় + চিহ্ন। আরেকটা উদারহণঃ
1
| print “Hello “ + “ World" |
এখানে Hello এবং World দুইটা আলাদা স্ট্রিং, আমরা যোগ করে প্রিন্ট করেছি। এভাবেও করা যায়।
1
2
3
| string1 = "Hello " string2 = "World!" print string1 + string2 |
স্ট্রিং নিয়ে আরো অনেক কাজ করা যায়। প্রোগ্রামিং বা রিয়েল লাইফ প্রজেক্টে স্ট্রিং নিয়ে অনেক কাজ করতে হয়। স্ট্রিং নিয়ে একটা পুরো অধ্যায় আছে, সেখানে বিস্তারিত জানতে পারব। সামনের অধ্যায় গুলোতে অন্যান্য ডেটা টাইপ গুলো সম্পর্কে জানব।
0 comments:
Post a Comment