পাইথন প্রোগ্রামিং এর বেসিক শিখেছি, বেশ কিছুদিন হলো। ভেবেছিলাম, এসব প্রোগ্রামিং নিয়ে মোটেও আলোচনা করবো না ব্লগে। কিন্তু, আসল ব্যাপার হচ্ছে, আলোচনা ও পর্যালোচনার অভাবে যেকোনো জিনিসই মন থেকে মুছে যায়। তাই সিদ্ধান্ত নিলাম, একটু একটু করে প্রোগ্রামিং নিয়ে আলোচনা করি। এতে নিজে উপকৃত হওয়ার পাশাপাশি প্রোগ্রামিংয়ে যারা নতুন, তাঁরাও কিছু জানতে ও শিখতে পারবে।
যাই হোক, আজকে আমরা পাইথন প্রোগ্রামিংয়ের ডাটা টাইপ নিয়ে আলোচনা করবো। সহজ কথায়, পাইথনে ডাটাটাইপ বলতে বিভিন্ন ধরনের তথ্যের ধরন বোঝানো হয়। আজকের রচনায় আমরা এসব নিয়েই আলোচনা করবো।
পাইথনে তথ্য ব্যবস্থাপনায় মূলত বেশ কয়েক ধরনের ডাটা টাইপ ব্যবহার করা হয়। এগুলো হচ্ছে ইন্টিজার (int), ফ্লোট (float) এবং স্ট্রিং(str)। এছাড়াও বিভিন্ন ধরনের তথ্য সন্নিবেশ ও জমা করতে পাইথনে ভেরিয়েবল ব্যবহার করা হয়।
ভেরিয়েবলঃ ভেরিয়েবল হচ্ছে অনেকটা খালি বক্সের মতো। এই বক্সে তুমি কি ধরনের তথ্য রাখবে তা সম্পূর্ণই তোমার উপর নির্ভর করে। পাইথনে ভেরিয়েবল প্রোগ্রামের শুরুতে বিবৃত করতে হয়। পাইথনে একটি ভেরিয়েবল একবারের বেশি ব্যবহার করা যায় ও পর্যায়ক্রমে এর মান বা বিষয়বস্তু বদলানো যায়। কিন্তু ভেরিয়েবল দুইবারের বেশি উল্লেখ করা হলে তা এর সর্বশেষ মান ব্যবহার করে থাকে।
একের অধিক বার কোনও ভেরিয়েবলের মান পরিবর্তন করে ব্যবহার করা হলে সবগুলো মান একে একে দেখানো হয়। পাইথনে ভেরিয়েবল তৈরি করতে নির্দিষ্ট কিছু শব্দ ব্যবহার করা যায় না। এই শব্দগুলো পাইথনে ফাংশন ও কীওয়ার্ড নামে পরিচিত। এছাড়া আণ্ডার স্কোর দিয়ে কোনও ভেরিয়েবল শুরু করা গেলেও নম্বর দিয়ে শুরু করা যায় না। যেমন _1_number লেখা হলেও 1_number লেখা যাবে না।
ভেরিয়েবলে স্পেস বা ফাঁকা জায়গা ব্যবহার করা যায় না। কিন্তু দুটি শব্দ আলাদা করতে আণ্ডারস্কোর ব্যবহার করা যায়। যেমন one_number লেখা গেলেও one number লেখা যাবে না
ভেরিয়েবল হিসেবে পাইথনের বেশ কিছু কীওয়ার্ড ও ফাংশনের নাম ব্যবহার করা যায় না। এগুলোকে পাইথনের সংরক্ষিত শব্দ বলা হয়। যেমন, print, type এগুলো এককভাবে ভেরিয়েবল হতে পারবে না
ভেরিয়েবল ছোট কিন্তু বোধগম্য হওয়া উচিৎ, যাতে প্রোগ্রাম পড়ে বোঝা যায়, কোনটির কী উদ্দেশ্য।
পাইথনে ভেরিয়েবলকে সংক্ষেপে var বলা হয়।
স্ট্রিং String(str) ডাটা টাইপঃ স্ট্রিং হচ্ছে শব্দ গুচ্ছ। পাইথনে স্ট্রিংকে এস টি আর (str) বলে বোঝানো হয়।
ইন্টিজার Integer(int) ডাটা টাইপঃ ইন্টিজার হচ্ছে পূর্ণসংখ্যা। ইন্টিজার ধনাত্মক বা ঋণাত্মক যেকোনো কিছুই হতে পারে। তবে, দুটি পূর্ণ সংখ্যার মাঝের কোনও ভগ্নাংশ সংখ্যা বোঝাতে ইন্টিজার ব্যবহার করা যাবে না।
ফ্লোটিং Floating Point (float) ডাটা টাইপঃ দুটি পূর্ণ সংখ্যার মাঝের ভগ্নাংশ সংখ্যা বোঝাতে পাইথনে ফ্লোটিং পয়েন্ট বা সংক্ষেপে ফ্লোট ডাটা টাইপ ব্যবহার করা হয়। ফ্লোট ডাটা টাইপ সাধারনত ভগ্নাংশ আকারে প্রকাশ হয়ে থাকে।
পাইথনে ডাটা টাইপ খুঁজে বের করা এবং এক ডাটা টাইপ থেকে আরেক ডাটা টাইপে তথ্যের রুপান্তর করা যায়। তথ্য রুপান্তর বা সরাসরি নির্দিষ্ট করে দেয়ার এই প্রক্রিয়াকে টাইপ কাস্টিং (Type casting) বলা হয়।
উদাহরণস্বরূপ, ইন্টিজারকে ফ্লোটে রুপান্তর করা যায়। কিন্তু এর বিপরীতে ফ্লোটকে ইন্টিজারে রুপান্তর করতে গেলে কিছু তথ্য হারিয়ে যেতে পারে। এছাড়াও ইন্টিজার ও ফ্লোট দুটিকেই স্ট্রিংয়ে রুপান্তর করা যায়।
এছাড়া ইন্টিজারকে কেবল ইন্টিজার বা পূর্ণ সংখ্যায় প্রকাশ করা যায়। যদি সংখ্যা ছাড়া অন্য কোনও স্ট্রিং, অক্ষর বা সিম্বল দিয়ে প্রকাশ করা হয় তাহলে সমস্যা দেখাবে এবং প্রোগ্রাম আটকে যাবে।
স্ট্রিং, ইন্টিজার ও ফ্লোট হচ্ছে তথ্য সম্পর্কিত ডাটা টাইপ। তবে এই তিনটি ডাটা টাইপ ছাড়াও পাইথনে যুক্তিগত কিছু ডাটা টাইপ আছে। এর মধ্যে অন্যতম হচ্ছে বুলিয়ান (Boolean) ডাটা টাইপ। বুলিয়ানকে সংক্ষেপে বুল (bool) বলা হয়। এর মান দুটি। সত্য (True) এবং মিথ্যা (False), যা 1 ও 0 দ্বারা প্রকাশ করা হয়।
অনেক ত আলোচনা হলো। এবার চলুন হাতে কলমে কিছু পাইথন প্রোগ্রামিং দেখে আসি। এজন্য ক্লিক করুন এই লিঙ্কেঃ পাইথন আই ডি ই।
এবার নিচের মতো করে পাইথনে কিছু লেখা প্রিন্ট করুন।
print("This is my first Python Program")
প্রোগ্রাম রান করলে নিচের মতো আউটপুট পাবেন।
>>This is my first Python Program
খুব সহজ তাই না? হ্যাঁ, পাইথন আসলেই একটি সহজ প্রোগ্রামিং ভাষা। এবার চলুন কিছু ভেরিয়েবল তৈরি করে তা প্রিন্ট করি।
welcome_massage = "Welcome to python Programming world."
print (welcome_massage)
উপরের প্রোগ্রামে welcome_massage হচ্ছে ভেরিয়েবল। দ্বিতীয় লাইনে ভেরিয়েবলকে প্রিন্ট করা হয়েছে। এটা চালু করলে আমরা ভেরিয়েবলে থাকা মেসেজটি দেখতে পাবো।
ডাটা টাইপ বের করাঃ
পাইথনে ডাটা টাইপ বের করতে type ফাংশন ব্যবহার করতে হয়। নিচের প্রোগ্রামটি চালু করলে কোন ভেরিয়েবলে কোন ডাটা টাইপ আছে তা প্রিন্ট হয়ে যাবে।
string = "this is a string"
Float = 0.11
Integer = 2
Boolean = True
print("The type is : ", type(string))
print("The type is : ", type(Float))
print("The type is : ", type(Integer))
print("The type is : ", type(Boolean))
উপরের প্রোগ্রামের ফলাফল হচ্ছেঃ
The type is : <class 'str'>
The type is : <class 'float'>
The type is : <class 'int'>
The type is : <class 'bool'>
এক ধরনের ডাটা টাইপকে অন্য ধরনের ডাটা টাইপে রুপান্তর করাকে টাইপ কাস্টিং বলা হয়। চলুন, এবার দেখে নেই, কিভাবে টাইপ কাস্টিং করতে হয়।
print (float('1'))
print (int(1.11))
print (str(11))
print (str(11.11))
print (int(True))
print (int(False))
print (int("A"))
এর ফলাফল হিসেবে নিচের আউটপুট দেখতে পাবেনঃ
1.0
1
11
11.11
1
0
Traceback (most recent call last):
File "<string>", line 7, in <module>
ValueError: invalid literal for int() with base 10: 'A'
লক্ষ্য করুন, টাইপ কাস্টিং এর ব্যাপারে আমরা যা যা বলেছি, তাঁর সবগুলোই এখানে মিলে যাচ্ছে। উদাহরণস্বরূপ, ইন্টিজার হিসেবে শুধুমাত্র সংখ্যা ব্যবহার করতে হয়, এবং ফ্লোটকে ইন্টিজারে রুপান্তর করলে কিছু তথ্য হারিয়ে যায়। যেমন, 1.11 কে ইন্টিজারে রুপান্তর করার পর দশমিকের পরের সংখ্যাগুলো হারিয়ে গেছে। আবার বুলিয়ানকে ইন্টিজার অথবা ফ্লোটে রুপান্তর করলে True এর ক্ষেত্রে 1 এবং False এর ক্ষেত্রে 0 পাওয়া যায়। কোনো অক্ষর বা স্ট্রিং কে ইন্টিজার বা ফ্লোটে রুপান্তর করা যায় না। যেমন, A অক্ষরটিকে ইন্টিজারে রুপান্তর করতে গিয়ে ভুল দেখাচ্ছে।
আজ এ পর্যন্তই। আশা করি, পাইথনের ডাটা টাইপ সম্পর্কে ভালোভাবে ধারণা পেয়েছেন। পরবর্তী টিউটোরিয়ালে আমরা পাইথনের এক্সপ্রেশন ও ভেরিয়েবল সম্পর্কে আরও ভালভাবে জানবো।