ভ্যারিয়েবল (Variable)
ভ্যারিয়েবলকে তুলনা করা যায় একটি বক্স বা কনটেইনার এর সাথে, যার মধ্যে কোন একটি টাইপের জিনিস রাখা যায়। পিজ্জা এর বক্স এ পিজ্জা থাকে, আইসক্রীম বক্স এ আইসক্রীম থাকে। আবার আইসক্রীম বক্সে চাইলে আইসক্রীম সরিয়ে অন্য খাবারও রাখা যায়। অর্থাৎ একই বক্সে বিভিন্ন টাইপের জিনিস রাখা যায়।
প্রোগ্রামিং এর সাথে তুলনা করলে,একটি বক্স এর নাম মনে করি X, এই X বক্সে Pizza খাবার রাখা বুঝতে, প্রোগ্রামিং এর ভাষায় আমরা লিখি X = Pizza । X নামক এই বক্সটি ই হচ্ছে একটি ভ্যারিয়েবল। ধরুন কম্পিটার আপনার কাছ থেকে দুইটি সংখ্যা নিবে এবং এদের যোগফল বের করে দিবে। যোগ করার প্রসেস টি যদি এভাবে কল্পনা করেন:
১। প্রথম সংখ্যা টি একটি বক্সে রাখলাম ১০।
২। দ্বিতীয় সংখ্যা টি অন্য একটি বক্সে রাখলাম ২০।
৩। তৃতীয় একটি বক্সে এই দুটি সংখ্যার যোগফল রাখলাম।
পাইথনে প্রোগ্রাম এ তো তার মত করে বুঝতে হবে যে যোগ করার প্রসেস টি লেখা হয়েছে।
first _box = ১০
second _box = ২০
third_box = first _box + second _box
আপনি ধরে নিতে পারেন পাইথনে এর ভিতরে কিছু একটা ম্যাজিক আছে যার কারনে ” third_box = first _box + second _box” লিখলেই third_box এর মধ্যে ৩০ রেখে দেয়।
এখানে প্রোগ্রামিং এর ভাষায় Pizza হল ডেটা আর X হল ভ্যারিয়েবল। প্রোগ্রামিং এ ইন্টিজার,স্ট্রিং, ডাবল ইত্যাদি বিভিন্ন টাইপের ডেটা থাকতে পারে।
পাইথনে ভ্যারিয়েবল তৈরী করতে কোনো আলাদা কমান্ড দেওয়ার প্রয়োজন নেই। ভ্যারিয়েবল এ কোনো ভ্যালু এসাইন করলেই ভ্যারিয়েবল হিসাবে এটি ব্যবহার করার যায়।
২। Variable এর নাম কখনোই শুরুতে সংখ্যা(0….9) দিয়ে শুরু করা যাবে না।
৩। Variable এর নাম (_,0..9,A…z,_) এই তিন ধরনের ক্যারেক্টর বহন করবে এবং কেইস সেন্সিটিভ। (Age এবং age দুটি
৪। পাইথনে কিছু reserved keywords রয়েছে যেগুলা ভ্যারিয়েবল নাম হিসেবে ব্যবহার করা যাবে না ।
Python Keywords |
False | def | if | raise |
None | del | import | return |
True | elif | in | try |
and | else | is | while |
as | except | lambda | with |
assert | finally | nonlocal | yield |
break | for | not | |
class | from | or | |
continue | global | pass |
এখানে Age হচ্ছে ভ্যারিয়েবল বা বক্স এর নাম, 10 হচ্ছে ভ্যালু। ভ্যালু (10) এর টাইপ হচ্ছে ইন্টিজার। এখন কোড টি যদি এভাবে লেখা হয়ঃ
তাহলে অনেকটা পিজ্জা এর বক্সে আইসক্রীম রাখার মত হয়ে গেলো। এই Age নামের ভ্যারিয়েবলটিই এখন ইন্টিজার টাইপ এর পরিবর্তে স্ট্রিং টাইপ এর ভ্যালু রেখেছে। এখানে কোটেশন (“Ten”) এর মাধ্যমে টাইপটা পরিবর্তন করে স্ট্রিং করা হল। (“Ten”) এর পরিবর্তে (‘Ten’) লিখলেও পাইথন এটিকে স্ট্রিং হিসাবে ধরে নেয়।
চাইলে ভ্যারিয়েবলে ভ্যালু এসাইন করার সময় এর টাইপ বলে দেয়া যায়।
পাইথনে ভ্যরিয়েবল এর আউটপুট দেখতে print() ফাংশন ব্যবহার করা হয়। আর একটা ভ্যারিয়েবল কোন টাইপের, তা জানার ফাংশন type()
print(type(x))
ভ্যরিয়েবলের নাম লিখতে পাইথনে বেশিরভাগ ক্ষেত্রে স্নেইক কেইস ব্যবহার হয়।
চাইলে অনেকগুলি ভ্যরিয়েবল এক লাইনে লিখে ডিক্লেয়ার করা যায়ঃ
আউটপুট
একই ভ্যালু সবগুলি ভ্যরিয়েবেল এ এসাইন করতে চাইলে,
আউটপুট
কোনো লিস্ট (list) বা টাপল (tuple) থেকে ভ্যালুগুলি আলাদা আলাদা ভ্যারিয়েবল এ রাখতে চাইলে, আনপ্যাক (unpack) অপশন ব্যবহার করা যায়
আউটপুট
“+” অপারেটর এর মাধ্যমে দুইটি একই ডাটা টাইপের ভ্যরিয়েবল এর ভ্যালু যোগ করা যায়। টাইপ অনুসারে আউটপুট ভিন্ন হবে
আউটপুট
আউটপুট
গ্লোবাল এবং লোকাল ভ্যরিয়েবলঃ
ফাংশনের ভিতরে ডিক্লেয়ার করা ভ্যরিবেল গুলোকে লোকাল ভ্যরিয়েবল বলা হয়। ফাংশনের বাইরে ডিক্লেয়ার করলে গ্লোবাল ভ্যরিয়েবল বলা হয়।
Example 1 :
# Example 1list_inpt = list(input())print(list_inpt)print(type(list_inpt))# Output# [‘1’, ‘2’, ‘3’]# <class ‘list’>Example 2:
# Example 2integer_inpt= int(input(“Enter the integer number “))print(integer_inpt)print(type(integer_inpt))# Output# 3# <class ‘int’>Example 3:
# Example 3float_inpt= float(input(“Enter a float number “))print(float_inpt)print(type(float_inpt))# Output# 2.0# <class ‘float’>Example 4:
# Example 4tuple_inpt= tuple(input())print(tuple_inpt)print(type(tuple_inpt))# Output# (‘1’, ‘2’, ‘3’)# <class ‘tuple’>Example 5:
dict_inpt = dict(input())print(dict_inpt)print(type(dict_inpt))# output# Traceback (most recent call last):# File “/home/riazul/Office_projectsL/Dice rolling/main.py”, line 42, in <module># dict_inpt = dict(input())# ValueError: dictionary update sequence element #0 has length 1; 2 is required
১। ইউজার ইনপুট হিসেবে লিস্ট নিন ।
২। একটি টাপল ইউজার থেকে নিয়ে তার টাইপ প্রিন্ট করুন ।
৩। একটি ফ্লোট ভ্যালু ইনপুট নিন ।
৪। raw_input() দিয়ে একটি স্ট্রিং ইউজার থেকে নিন ।
৫। একটি ডিকশনারি ইনপুট নিয়ে দেখুন আউটপু কি আসে।
2. intput() দিয়ে যেই ইনপুট নিবো , তার ডাটা টাইপ কি ?
3. আমি ইনপুট দিবো 1,2,3 এভাবে , আউটপুট দেখাবে [1,2,3] এভাবে