পাইথন প্রোগ্রামিং : ভেরিয়েবল টাইপ (Python Variable Types in bangla)

1.5 Python Variable Types

ভেরিয়েবল হচ্ছে মেমোরি তে নির্ধারিত জায়গা (স্পেস) যেখানে বিভিন্ন জিনিসের মান (value) স্টোর করে রাখা হয়। ভেরিয়েবল তৈরি করা মানেই কম্পিউটারের মেমোরিতে একটা নির্দৃষ্ট স্পেস সঞ্চয় করে রাখা। যেকোনো ভেরিয়েবল কি ধরনের ডাটা রেকর্ড/ স্টোর করবে সেটা নির্ভর করে ভেরিয়েবল উপর।

Python এ সমতা চিহ্নের (=) মাধ্যমে যেকোনো ধরনের মান (value) ভেরিয়েবল হিসেবে স্টোর করা যায়, এক্ষেত্রে আলাদা করে কোন ডিক্লারেশনের প্রয়োজন নেই। সমতা চিহ্নের বাম পাশে ব্যবহৃত শব্দটি ভেরিয়েবলের নাম এবং ডান পাশের সংখ্যাটি ভেরিয়েবলের মান নির্দেশ করে। যেমন,


#!/usr/bin/python

counter = 100          # An integer assignment
miles   = 1000.0       # A floating point
name    = "John"       # A string

print counter
print miles
print name

উপরের প্রোগ্রামটির ফলাফল হবে এমন,


1001000.0


 

Python এ একাধিক ভেরিয়েবলের জন্য একটি নির্দৃষ্ট মান স্টোর করা যায়। আবার একাধিক ভেরিয়েবলের জন্য যথাক্রমে একাধিক মানও একসাথে স্টোর করা যায়। যেমন,


a = b = c = 1


 

এবং


a, b, c = 1, 2, “john”


 

প্রথম প্রোগ্রামটিতে a, b এবং c এর মান 1 স্টোর করা হয়েছে, আর দ্বিতীয় প্রোগ্রামটিতে a, b এবং c এর মান যথাক্রমে 1, 2 এবং john স্টোর করা হয়েছে।

Python এ ৫ ধরনের স্ট্যান্ডার্ড ডাটা টাইপ আছে। যেমন,

  • Numbers
  • String
  • List
  • Tuple
  • Dictionary

Numbers

Numbers হচ্ছে যেকোনো প্রকারের সংখ্যা। Python ৪ ধরনের সংখ্যা (Numbers) সাপোর্ট করে। যেমন,

  • int (ছোট পূর্ণসংখ্যা)
  • long (বড় পূর্ণসংখ্যা, octal কিংবা hexadecimal আকারে প্রকাশ করা যায়)
  • float (বাস্তব সংখ্যার কাছাকাছি মান)
  • complex (জটিল সংখ্যা)

নিচের টেবিলে কিছু সংখ্যার উদাহরণ দেয়া হলঃ

int long float complex
10 51924361L 0.0 3.14j
080 0xDEFABCECBDAECBFBAEl 32.3+e18 .876j
-0490 535633629843L -90. -.6545+0J

 

Strings

Strings হচ্ছে কোটেশান মার্কের (“”) ভেতর ব্যবহৃত বর্ণ/ শব্দ সমূহ। বিভিন্ন রকমের slice operator ([ ] and [:]) এর সাহায্য নিয়ে নির্ধারিত string এর অংশবিশেষ অথবা বিভিন্ন পূনর্বিন্যাস আউটপুট হিসেবে দেখা যায়। যেমন,


#!/usr/bin/python

str = 'Hello World!'

print str          # Prints complete string
print str[0]       # Prints first character of the string
print str[2:5]     # Prints characters starting from 3rd to 5th
print str[2:]      # Prints string starting from 3rd character
print str * 2      # Prints string two times
print str + "TEST" # Prints concatenated string

 

উপরের প্রোগ্রামটির ফলাফল হবে,


Hello World!
H
llo
llo World!
Hello World!Hello World!
Hello World!TEST

 

Lists

List হল তৃতীয় ব্র্যাকেট ([ ]) এ আবদ্ধ, ও কমা (commas) দিয়ে আলাদা করা আইটেম। যেমন,


#!/usr/bin/python

list = [ 'abcd', 786 , 2.23, 'john', 70.2 ]
tinylist = [123, 'john']

print list          # Prints complete list
print list[0]       # Prints first element of the list
print list[1:3]     # Prints elements starting from 2nd till 3rd 
print list[2:]      # Prints elements starting from 3rd element
print tinylist * 2  # Prints list two times
print list + tinylist # Prints concatenated lists

 

উপরের প্রোগ্রামটির রেসাল্ট হবে,


['abcd', 786, 2.23, 'john', 70.200000000000003]
abcd
[786, 2.23]
[2.23, 'john', 70.200000000000003]
[123, 'john', 123, 'john']
['abcd', 786, 2.23, 'john', 70.200000000000003, 123, 'john']

 

Tuples

Tuple আর List মূলত একই রকম, শুধু পার্থক্য হচ্ছে যে Tuple এ প্রথম ব্র্যাকেট ( ) ব্যবহৃত হয়, কিন্তু List এ তৃতীয় ব্র্যাকেট [ ] ব্যবহার হয়। এছাড়াও Tuple এর মান পরে পরিবর্তন করা যায়না (read-only values), কিন্তু List এর মান আপডেট করা যায়। Tuple এর উদাহরনঃ


#!/usr/bin/python

tuple = ( 'abcd', 786 , 2.23, 'john', 70.2  )
tinytuple = (123, 'john')

print tuple           # Prints complete list
print tuple[0]        # Prints first element of the list
print tuple[1:3]      # Prints elements starting from 2nd till 3rd 
print tuple[2:]       # Prints elements starting from 3rd element
print tinytuple * 2   # Prints list two times
print tuple + tinytuple # Prints concatenated lists

 

উপরের প্রোগ্রামের ফলাফলঃ


('abcd', 786, 2.23, 'john', 70.200000000000003)
abcd
(786, 2.23)
(2.23, 'john', 70.200000000000003)
(123, 'john', 123, 'john')
('abcd', 786, 2.23, 'john', 70.200000000000003, 123, 'john')

 

নিচের Tuple কোডটি ভুল, কারন এখানে Tuple এর মান পরিবর্তন/ আপডেট করার চেষ্টা করা হয়েছে। কিন্তু List এর জন্য কোডটি ঠিক আছে।


#!/usr/bin/python

tuple = ( 'abcd', 786 , 2.23, 'john', 70.2  )
list = [ 'abcd', 786 , 2.23, 'john', 70.2  ]
tuple[2] = 1000    # Invalid syntax with tuple
list[2] = 1000     # Valid syntax with list

 

Dictionary

Dictionary দিয়ে Key-Value জোড়ায় জোড়ায় থাকে। যেকোনো ডাটা টাইপ Key হতে পারে, যদিও সাধারণত numbers বা strings ই Key হিসেবে রেকর্ডেড হয়। অন্যদিকে, যেকোনো সংখ্যা/ অবজেক্টই Value হিসেবে রেকর্ড হতে পারে। Dictionary দ্বিতীয় ব্র্যাকেট { } এর সাহায্যে প্রকাশ করা হয় এবং তৃতীয় ব্র্যাকেটের সাহাজে Doctionary তে Value এসাইন করা হয়। যেমন,


#!/usr/bin/python

dict = {}
dict['one'] = "This is one"
dict[2]     = "This is two"

tinydict = {'name': 'john','code':6734, 'dept': 'sales'}


print dict['one']       # Prints value for 'one' key
print dict[2]           # Prints value for 2 key
print tinydict          # Prints complete dictionary
print tinydict.keys()   # Prints all the keys
print tinydict.values() # Prints all the values

 

উপরের কোড এর রেসাল্ট হবে −


This is one
This is two
{‘dept’: ‘sales’, ‘code’: 6734, ‘name’: ‘john’}
[‘dept’, ‘code’, ‘name’]
[‘sales’, 6734, ‘john’]


এখানে উল্লেখ্য যে, Dictionary তে ক্রম, সিরিয়াল বা অর্ডার ঠিক রাখার কোন ব্যপার নেই।

 

Data Type Conversion

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

ফাংশন বর্ননা
int(x [,base]) x কে একটি পূর্ণসংখ্যায় রূপান্তর করে, এবং base লিখাটি বেস কে নির্দেশ (specify) করে যদি x একটি স্ট্রিং হয়।
long(x [,base] ) x কে একটি দীর্ঘ পূর্ণসংখ্যায় রূপান্তর করে, এবং base লিখাটি বেস কে নির্দেশ (specify) করে যদি x একটি স্ট্রিং হয়।
float(x) x কে একটি floating-point সংখ্যায় রূপান্তর করে।
complex(real [,imag]) জটিল সংখ্যা তৈরি করে।
str(x) x কে একটি string representation এ রূপান্তর করে।
repr(x) x কে একটি expression string এ রূপান্তর করে।
eval(str) একটি string কে এভালুয়েট করে এবং একটি নতুন অবজেক্ট সৃষ্টি করে।
tuple(s) s কে একটি tuple এ রূপান্তর করে।
list(s) s কে list এ রূপান্তর করে।
set(s) s কে set এ রূপান্তর করে।
dict(d) একটি dictionary তৈরি করে। তবে, d কে অবশ্যই (key,value) ফরম্যাট এর tuples হতে হবে.
frozenset(s) s কে frozen set এ রূপান্তর করে।
chr(x) একটি integer কে একটি character এ রূপান্তর করে।
unichr(x) একটি integer কে একটি Unicode character এ রূপান্তর করে।
ord(x) একটি single character কে এর পূর্ণ-সাঙ্খ্যিক (integar) মানে প্রকাশ করে।
hex(x) একটি integer কে একটি hexadecimal string এ রূপান্তর করে।
oct(x) একটি integer কে একটি octal string এ রূপান্তর করে।