Professional Documents
Culture Documents
Python in Bangla PDF
Python in Bangla PDF
Python in Bangla PDF
পাইথন
সূিচপ
পিরিচিত 0
ইন েলশন 1
কুইক িটপস 2
ভ ািরেয়বলস এ া ডাটা টাইপস 3
ি ং অপােরশনস 3.1
িল স ইন ডপথ 3.2
অপােরটরস 4
কে াল া 5
ফাংশনস 6
কমা লাইন 7
2
বাংলায় পাইথন
howtocode.com.bd
কাস এর মুল পাতা | HowToCode মুল সাইট | সবার জন া ািমং গ | িপিডএফ ডাউনেলাড
বাংলায় পাইথন
Unknown error!
ারি কা
পাইথন একিট ডায়নািমক া ািমং ল া ুেয়জ যিট জয় কেরেছ ব ডেভলপােরর দয় । এর মেধ আেছ গল,
পব , ই টা াম, মািজলা সহ অেনক বড় বড় িত ােনর হাজােরা েকৗশলী । পাইথন এমন একিট ভাষা যার
গঠন শলী অনন এবং কাশভি অসাধারণ । চমৎকার এই ল া ুেয়জিট তাই আজ ছিড়েয় পেড়েছ নানা িদেক -
ওেয়ব, ড টপ, মাবাইল, িসে ম এ াডিমিনে শন, সাইি িফক কি উিটং িকংবা মিশন লািনং - সব ই পাইথেনর
দৃ পদচারণা । বলাই বা ল , আিমও একজন পাইথন ফ ান এবং “পাইথিনয়ার” । বাংলােদেশর ডেভলপারেদর মেধ
এই ভাষািট ছিড়েয় িদেত আমার এই ু য়াস ।
পিরিচিত 3
বাংলায় পাইথন
বাংলােদশী পাইথন ডেভলপারেদর িমলনেক এই ফইসবুক পিট । এিট বাংলােদেশর সবেচেয় বড় পাইথন
ইউজার প । এই েপর সদস রা বাংলােদেশ পাইথন সাের িতিনয়ত অবদান রেখ চেলেছন ।
পাইথন বাংলােদেশর জ হয় ফইসবুেকর বাইের । মূল ওেয়বসাইেটর সােথ ফইসবুক পিটর নাম িনেয় যােত
কনিফউশন তির না হয় তাই ফইসবুক পিটর নাম পরবতীকােল পিরবতন কের রাখা হয় - "পাইচামাস" ।
ওেপন সাস
এই বইিট মূলত া েম লখা এবং বইিট স ূন ওেপন সাস । এখােন তাই আপিনও অবদান রাখেত পােরন
লখক িহেসেব । আপনার কি িবউশান গৃ হীত হেল অবদানকারীেদর তািলকায় আপনার নাম যাগ কের দওয়া হেব ।
এিট মূলত একিট িগটহাব িরেপািজেটাির যখােন এই বইেয়র আিটেকল েলা মাকডাউন ফরম ােট লখা হে ।
িরেপাজটিরিট ফক কের পুল িরকুেয় পাঠােনার মাধ েম আপনারাও অবদান রাখেত পােরন ।
Like Share 107
পিরিচিত 4
বাংলায় পাইথন
ই টেলশন
আপিন যিদ িলনা বা ম াক ব বহারকারী হন তেব আপনার িপিস বা ল াপটেপ পাইথন দওয়াই আেছ । আপনােক
আর বাড়িত িকছু করেত হেব না । টািমনােল টাইপ ক ন:
$ python
তাহেলই চলেব । ব ি গতভােব আিম সব সময় ডেভলপেমে র জন উইে াজ এিড়েয় চিল । আিম িরকেম
করেবা ওস এ বা িলনা এ অভ হেত, ভিবষ েত কােজ আসেব ।
উইে াজ ব বহারকারীরা পাইথেনর অিফিসয়াল ওেয়ব সাইট থেক পাইথন 2.x লেট ভাসনিট ডাউনেলাড কের
ই টল কের িনন । ওেয়ব সাইেটর িঠকানা খাঁজা ও ই টেলশন আপনােক কের িনেত হেব । গেলর সহায়তা িনেত
পােরন ।
পাইথন কাড লখার জেন উইে ােজ Notepad++ এবং িলনাে gedit ব বহার করেত পােরন । তেব সাবলাইম
ট ট সব অপােরিটং িস েমর জন ই চমৎকার । এবং তুলনামূলকভােব ভােলা । আইিডই ব বহার করেত চাইেল
পাইচাম কিমউিনিট এিডশন ব বহার করেত পােরন । এিট ওেদর ওেয়ব সাইট থেক িবনামূেল ডাউনেলাড কের িনেত
পারেবন ।
উইে াজ ব বহারকারীরা পাইথন িডের রীেক আপনােদর িসে ম পােথ যাগ কের িনন । অথাৎ C:\Python2x এই
লােকশনিটেক আপনার PATH ভ ািরেয়বেল যাগ কের িনন । এজন :
C:\Users\maSnun>python
Python 2.5.4 (r254:67916, Dec 23 2008, 15:10:54) [MSC v.1310 32 bit (Intel)] on
win32
Type "help", "copyright", "credits" or "license" for more information.
>>>
ইন েলশন 5
বাংলায় পাইথন
এরকম দখােল বাঝা গল আমরা পাইথন ই টেলশন শেষ এটােক রান করােত পেরিছ কমা লাইেন । এবার
আসুন সিত কােরর একিট পাইথন া াম িলিখ । ট ট এিডটর খুেল টাইপ ক ন ◌ঃ
ফাইলিটেক ড টেপ সইভ ক ন “test.py” নােম । এবার কমা ট বা টািমনাল খুেল িনেচর কমা দুেটা িদন
।
cd Desktop
python test.py
C:\Users\maSnun>cd Desktop
C:\Users\maSnun\Desktop>python test.py
hello world!
C:\Users\maSnun\Desktop>
আমরা সফলভােব একিট পাইথন া াম িলখলাম ও রান করলাম । এরপের আমরা আেরা গভীের যাব ।
ইন েলশন 6
বাংলায় পাইথন
কুইক িটপস
এই িটপস েলা মেন রাখেল পাইথন িশখেত সুিবধা হেব । এ েলা আমােদর দনি ন জীবেন পাইথন
ডেভলপেমে র সময় নানাভােব সাহায করেব ।
ই ারএি ভ শল
কমা লাইেন ধু পাইথন ই ারে টার রান করােল ( কান ফাইল নইম ছাড়া) পাইথেনর ই ারএি ভ শল চালু হয় ।
এখােন কান এ ে শন টাইপ করেল পাইথন সােথ সােথ সিটেক ইভ ালুেয়ট কের আউটপুট দখােব । যেহতু বার
বার ফাইেল সইভ কের রান করার েয়াজন হয় না, তাই ত কান িকছু ট কের দখা বা ােটাটাইিপং এর জেন
খুবই কােজর িজিনস এিট ।
$ python
Python 2.7.8 (default, Nov 15 2014, 03:09:43)
[GCC 4.2.1 Compatible Apple LLVM 6.0 (clang-600.0.51)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> my_list = [1, 2, 3, 5, 90]
>>> for x in my_list:
... print x
...
1
2
3
5
90
>>>
>>> type(my_list)
<type 'list'>
>>> type(my_list[0])
<type 'int'>
>>>
কুইক িটপস 7
বাংলায় পাইথন
উপেরর অংশ যিদ মনেযাগ িদেয় ল কের থােকন তাহেল দখেবন type() ফাংশনিট কান চলক বা নােমর ধরন
বা টাইপ বেল দয় । যমনঃ type(my_list) িদেল বাঝা গল এিট একিট িল । type(my_list[0]) িদেল
দখা গল এই িলে র থম আইেটেমর টাইপ ইি জার । কান ভ ািরেয়বল এর টাইপ জানা না থাকেল এিট ব বহার
কের জেন িনেত পাির এিট িক টাইপ । এরপর সই টাইপ অনুযায়ী পরবতী অপােরশন চালােনা যায় ।
dir() কমা িট কান অবেজে র ই েপকশেন ব বহার করা হয় । এই ফাংশনিট ব বহার কের আমরা ঐ অবেজে র
িবিভ াপািট এবং মথেডর নাম জানেত পাির ।
dir() ফাংশনিট একিট িল িরটান কের । এই িল িট আমরা া াম ািটক ািল আমােদর েয়াজেন ব বহার
করেত পাির । িবেশষ কের যখন আমরা জািন না একিট ভ ািরেয়বেল থাকা অবেজ িটর বিশ িক বা এিট িক করেত
পাের । এই িল দেখ আমরা িকছু ধারনা পাই এই অবেজ এর সাধারন ব বহার স েক ।
help() ফাংশনিট আমােদর কান অবেজ সমপেক সাহায কারী তথ সরবরাহ কের । মূলত এিট ই ার এ াকিটভ
শল থেক সহেজই ডকুেমে শন পড়েত সহায়তা কের থােক -
>>> help(list)
$ python -i my_file.py
পাইথন কমা লাইেন -i আ েম এর ভ ালু িহেসেব কান পাইথন ফাইল নইম পাস করেল পাইথন থেম ঐ
ফাইল িট রান কের এবং ফলাফল সহ ই ারএ াি ভ শল চালু কের দয় । ফেল আপনার ঐ ফাইেল আপিন য সব
অপােরশন চালােবন, স েলা িনেয় এই ই ারএ াি ভ শেল কাজ করেত পারেবন । যমন: পাইথন ফাইলিটর মেধ
িডফাইন করা ভ ািরেয়বল েলা আপিন এই শেল পােবন । িডবািগং এবং ত েটাটাইিপং এিট বশ কােজ দয় ।
কেম স
কুইক িটপস 8
বাংলায় পাইথন
য কান া ািমং ল া ুেয়েজই কেম অত পূন িবষয় । কেম হল কােডর সই অংশ িবেশষ যা ই ারে টার
এি িকউট করেব না । কেম লখা হয় মূলত যারা পরবতীেত এই কাড পড়েবন তােদর জন । া ােমর িবিভ
িবষয় সাস কােডর মেধ ই ব খ া করা হয় কেমে র মাধ েম ।
পাইথেন আমরা পাউ বা হ াশ ক াের ার ব বহার কের কেম িলেখ থািক । যমন:
# this is a comment
print "this is not"
দখা যাে – কেম মাি পল লাইেন হেত পাের, ধু লাইেনর েত পাউ িচ বসােলই হল । একই লাইেন িকছু
কাড এর পের পাউ সাইন ব বহার কের কেম লখা যায় । তেব খয়াল রাখা দরকার, একবার পাউ সাইন িদেয়
কেম লখা করেল তারপর থেক ঐ লাইেনর বািকটা কেম িহেসেব িবেবিচত হেব । পাইথেন কেম শষ করার
ব ব া নই, তাই িস বা জাভার মত কেম কও (/…./) স ব না ।
ইে ে শন
অন ান া ািমং ল া ুেয়জ থেক পাইথেন আসেল থম য সমস ািট চােখ পেড় তাহল পাইথেনর ইে ে শন
বইজড কাড ক । পাইথেনর একই ইে ে শন স িলত পর পর অবি ত লাইন েলা একই কাড েকর অ ভু ।
উদাহরণ না িদেল হয়ত িবষয়িট হেব না ।
if True:
....print "hello world"
....print "Hi there"
....print "4 space indentation"
এখােন আমরা ডট (.) িদেয় ইস বুিঝেয়িছ । িনেজ টাইপ করার সময় ডট এর পিরবেত ইস ব বহার ক ন না
হেল া াম রান করেব না । এখােন দখুন ৩িট ি টেম আেছ যারা একিটর পর আেরকিট অবি ত এবং
েত কিট ৪িট ইস িদেয় ইে করা । এর ফেল এই ি টেম েলা একিট কাড ক িহেসেব কাজ কের ।
কান টেম এ যিদ একই ইে ে শন না থাকত সে ে পাইথন এে পশন (এরর) া করত ।
if True:
....print "hello world"
....print "Hi there"
....print "4 space indentation"
else:
....print "another block"
....print "same indentation as of the if block"
....print "but terminated with the else condition"
কুইক িটপস 9
বাংলায় পাইথন
এখােন দখুন থম েকর পর ইে ে শন আেগর জায়গায় িফিরেয় িনেয় েকর সমাি টানা হেয়েছ । পের আবার ৪
ইস ইে কের আেরকিট েকর সূচনা করা হেয়েছ । আেগর ক এবং এই ক দুেটারই একই ইে ে শন িক এরা
একই ক নয় । কারণ এেদর মােঝ else আেছ ।
এবার দিখ নে ড ক:
if True:
....print "hello world"
....print "Hi there"
....print "4 space indentation"
....if True:
........print "nested block"
........print "8 spaces"
....print "back to prev block"
এখােন আমরা ইস এর পিরমান বািড়েয় িদেয় নে ড ক তির করলাম । একইভােব ইস এর পিরমান সমান
পিরমােন কিমেয় িনেয় আেগর েক িফের গলাম ।
কুইক িটপস 10
বাংলায় পাইথন
এখােন দখুন, আমরা থেম একটা ভ ািরেয়বল এ আমার নামটা সংর ণ করলাম । এরপর ঐ ভ ািরেয়বলটােক নাম
িদলাম name । পের যখন ঐ ভ ািরেয়বলটা আউটপুট করার দরকার পড়েলা তখন তােক নাম ধেরই ি টেম
এ ব বহার করলাম । এভােবই মূলত আমরা ভ ািরেয়বল এ নানা ধরেনর ডাটা সংর ণ করেত পাির ।
টাইপস
আমােদর উপেরর উদাহরেণ আমরা দখলাম আমার নামিট িকভােব সংর ণ করলাম । নাম ছাড়াও আমােদর নানা
ধরেনর ডাটা সংর ণ করার েয়াজন হয় - পূণ সংখ া, দশিমক সহ পূণ সংখ া, কান িকছু র তািলকা ইত ািদ ।
িবিভ ধরেণর ডাটা সংর েণর জন তাই পাইথেনর ভ ািরেয়বল েলা িবিভ টাইেপর হেত পাের ।
টাইপ ই েপকশন
য কান ভ ািরেয়বল কান টাইেপর ডাটা সংর ণ করেছ তা জানার জন আমরা িব ইন type() ফাংশনিট
ব বহার করেত পাির । এই ফাংশনিটেক কান ভ ািরেয়বল পাস কের িদেল এিট আমােদর জািনেয় িদেব তার ডাটা
টাইপ ।
>>> s = "string"
>>> type(s)
<type 'str'>
>>> integer = 45
>>> type(integer)
<type 'int'>
>>> float_val = 23.5
>>> type(float_val)
<type 'float'>
>>>
ডাইনািমক টাইিপং
পাইথেন ভ ািরেয়বল েলা সহেজই তােদর ডাটার টাইপ পিরবতন করেত পাের । ধ ন একিট ভ ািরেয়বল থেম ি ং
টাইেপর ডাটা রাখেতা, আমরা চাইেলই সই ভ ািরেয়বলিটেতই ইি জার ভ ালু এ াসাইন করেত পাির। এই য
ভ ািরেয়বল এর টাইপ ই ামত পিরবতন করার সুেযাগ - এটােক বলা হয় ডাইনািমক টাইিপং । আর যিদ একটা
ভ ািরেয়বল এর টাইপ পরবতীেত পিরবতন না করা যায়, তখন সটােক বলা হয় ািটক টাইিপং ।
পাইথেন ডাইনািমক টাইিপং িসে ম িবদ মান । তাই আমরা এরকম করেত পাির:
myvar = "hi"
print myvar
myvar = 23
print myvar
ং টাইিপং
পাইথেন কান একিট টাইেপর ভ ালুেক অন টাইেপ কনভাট করেত গেল সটা এ ি িসটিল করেত হয় । যমন:
ধ ন আপনার বয়স সংর ণ করা আেছ age ভ ািরেয়বেল । নাম আেছ name এ ।
age = 23
name = "masnun"
আপিন চাইেছন দুেটােক জাড়া িদেয় একিট নতুন ি ং বানােত । এখন age যেহতু ইি জার, সেহতু এটােক থেম
ি ং এ কনভাট কের িনেত হেব, তেবই িকনা আপিন এ দুেটােক জাড়া লাগােত পারেবন ।
কান কান ভাষায় এই টাইপ কনভাশনটা অেটােমিটক ািল কের নয়, সে ে সটােক উইক টাইিপং বলা হয় ।
পাইথন যেহতু িনেজ থেক কের না, এটােক তাই বলা হয় ং টাইিপং ।
কমন টাইপস
এখােন আমরা িকছু কমন ডাটা টাইপ দখেবা:
বুিলয়ান
হ া িকংবা না, সত িকংবা িমথ া - কান ভ ািরেয়বল যখন িঠক িবপরীতধমী দুইটা ভ ালুর য কান একটা হন কের
তখন আমরা সটােক সচারচর বুিলয়ান টাইপ িদেয় কাশ কির । পাইথেন একটা বুিলয়ান ভ ািরেয়বল এর ভ ালু হেত
পাের হয় True অথবা False ।
male = True
old = False
পাইথেনর িব ইন bool() ফাংশনিট ব বহার কের আমরা য কান টাইেপর ভ ািরেয়বল ক বুিলয়ােন কনভাট করেত
পাির । এখােন িকছু উদাহরণ দওয়া হেলা:
print bool(True)
print bool(False)
print bool("text")
print bool("")
print bool(' ')
print bool(0)
print bool()
print bool(3)
print bool(None)
উপেরর কাডিট রান কের আউটপুট দেখ বাঝার চ া ক ন িক ভ ালুর জন বুিলয়ান িক ভ ালু পাওয়া যােব ।
নান
নান বা None হে িবেশষ ধরেনর ডাটা টাইপ যটা িনেদশ কের এই ভ ািরেয়বলিটর কান ভ ালু নই ।
>>> n = None
>>> type(n)
<type 'NoneType'>
>>>
না াস
বাঝাই যাে এই টাইেপর কাজ । িবিভ ধরেণর সংখ া ধারণ করার জন আমরা িবিভ ধরেণর টাইপ ব বহার কের
থািক ।
>>> type(age)
<type 'int'>
পাইথেনর িব ইন int() ফাংশনিট ব বহার কের আমরা অন টাইপ থেক ইি জাের কনভাট করেত পাির ।
দশিমক ঘর পয মান সংর ণ করেত আমরা float টাইপ ব বহার কির । যমন:
এিটর জন ও float() ফাংশনিট িবদ মান যিটর মাধ েম আমরা অন টাইপ থেক াট ভ ালু পেত পাির ।
ি ংস
ট ট ডাটা সংর ণ করার জন আমরা ি ং ব বহার কের থািক ।
িল
সাধারণত কান তািলকা সংর েনর জন িল ব বহার করা হয় । (থাড) ােকেটর িভতের কমা িদেয় এেককিট
আইেটম সপােরট কের িদেলই িল তির হেয় যােব । আসুন উদাহরণ দিখ:
ল ক ন িল এ আমরা িবিভ ধরেনর ডাটা টাইপ সংর ন করেত পাির একটা তািলকাব উপােয় । আমরা
চাইেলই এই তািলকার আইেটম েলা ইে মত পিরবতন করেত পাির । িল তির করার জন িব ইন ফাংশন
list() ।
টাপল
টাপল ও িল এর মতই । ধু মূল পাথক টাপল এর আইেটম েলা আমরা চাইেলই পিরবতন করেত পাির না ।
tpl = (1, 2, 3)
অন টাইপ েলার মতই tuple() ফাংশনিট কল কের আমরা টাপল পেত পাির ।
সট
সট হে আনঅডাড িল - অথাৎ আইেটম েলা কান িনিদ অথবহ অডাের থােক না । এবং সট এর
আইেটম েলা ইউিনক হয় । অথাৎ একিট সেট একই আইেটম একািধকবার থাকেত পাের না । উদাহরণ:
এখােন দখুন set() ফাংশেন পাস করা িল িটেত অেনক ডুি েকট ভ ালু িছেলা । এিট থেক আমরা য সটিট
পলাম সিটেত ডুি েকট কান ভ ালু নই! set() ফাংশনিট কল কের নতুন সট তির করা যায় ।
িডকশনাির
িডকশনাির হেলা এমন একিট ডাটা টাইপ যখােন আমরা একিট িক (key) এর সােথ িমল রেখ একিট ভ ালু
সংর ণ কির । সহেজ বলা যায়, িডকশনাির হেলা কত েলা িক-ভ ালু (key-value) জাড় এর সমি ।
অন ান
পাইথেন টাইপ িসে ম অত পূণ ভূিমকা পালন কের । পাইথেন অসংখ া িব ইন ও ইউজার িডফাইনড টাইপ
আেছ । আেলাচনার খািতের অিধক জনি য় টাইপ েলার মেধ ই আপাতত সীমাব থাকিছ আমরা ।
ি ং অপােরশনস
িস ল কাট, ডাবল কাট ও এে ইপ ক াের ার
পাইথেন িস ল বা ডাবল কােটশন দুেটার মাধ েমই ি ং িডফাইন করা যায় । তেব যিট িদেয় ি ং করেবন, শষও
করেত হেব সিট িদেয়ই । এক ধরেণর কােটশেনর মেধ অন কােটশন সরাসির ি হেয় যােব । য কােটশন িদেয়
ি ং ব বহার করা হে তার িভতের যিদ ঐ কােটশন িচ িট কান কারেণ ব বহার করেত হয় তেব তার আেগ একিট
ব াক াশ ব বহার করেত হয় । আমরা িকছু উদাহরণ দিখ:
একিট ফাইেল এই কাড টাইপ কের রান কের দখুন িক আউটপুট দখায় । এখােন ব াক াশ ব বহার কের আমরা
কাট টােক এিড়েয় যেত পাির তাই এটােক ( \ ) পাইথেন এে ইপ ক াের ার বলা হয় ।
িস ল কাট বা ডাবল কাট ব বহার কের মাি লাইন ি ং করা একটু জিটল। কারন তখন আমােদর িনউলাইন
এে ইপ করেত হয় । তাই মাি লাইন ি ং এর জন িস ল কাট বা ডাবল কাট ব বহার করেত চাইেল আমরা +
ব বহার কের একািধক লাইন যাগ কের িনেত পাির অথবা িনেচর িসনট া ব বহার করেত পাির ।
মি লাইন ি ং
এই িবেশষ িসনট া িট ব বহার কের আমরা পাইথেন সহেজই মাি লাইন ি ং তির করেত পাির ।
rochona = """The cow is a domestic animal. It has four legs and a long tail and
We have a cow."""
print rochona
ি ি ং
পাইথেন আমরা কান আউটপুট দখােত চাইেল ি টেম িট ব বহার কের থািক । উদাহরন:
িল িহেসেব ক াের ার এ াে স
ি ং অপােরশনস 16
বাংলায় পাইথন
পাইথেন ি ং হেলা ক াের ােরর িল । তাই আমরা িল এ াে স িসনট া ব বহার কের য কান পিজশেন থাকা
ক াের ার এ াে স করেত পাির ।
ি ং ল
যেহতু ি ংও এক ধরেনর িবেশষ িল , তাই এর ল ও একই ভােব বর করা যায়। আমরা যিদ my_string ি ংিটর
ল বর করেত চাই তাহেল িনেচর মত কের len() ফাংশনিট ব বহার করেবা:
print len(my_string)
big = "AAA"
print big.lower()
small = "aaa"
print small.upper()
সব পাইথন ি ং অবেজ এর - upper() এবং lower() নােম দুিট মথড থােক । এেদর কল কের আমরা ঐ
ি ংেক আপার কইস বা লায়ার কইেস কনভাট করেত পাির ।
ফরম ােটড ি ং
ধ ন আমােদর ৩িট ভ ািরেয়বল আেছ -
name = "masnun"
age = 24
email = "masnun@transcendio.net"
এখন যিদ আমরা এই িতনিট ভ ািরেয়বল িদেয় একিট অথবহ বাক ি করেত চাই, তাহেল আমােদর এরকম িকছু
করেত হেব:
print "My name is " + name + ". I am " + str(age) + " years old. You can reach me via email - "
ি ং অপােরশনস 17
বাংলায় পাইথন
দখুন, এখােন আমরা অেনক েলা ভ ািরেয়বল যাগ কেরিছ একটা একটা কের । ভ ািরেয়বল এর সংখ া বাড়েল
কাড এর অব া আেরা অেগাছােলা হেয় যােব । তাছাড়া দখুন age এর টাইপ ি ং না হওয়ায় এটােক জার কের
ি ং করার েয়াজন হেয়েছ। এই ঝােমলাপূন ফরম ািটং এর কাজটাই আমরা খুব সহেজ করেত পাির একটু অন ভােব
। এে ে আমরা ঐ ি ংিটেত িকছু সেহা ার রাখেবা, এবং পের এই স হা ার েলার ােন ভ ািরেয়বল েলার
ভ ালু বিসেয় ি করেবা । উদাহরন দিখ:
print "My name is %s, I am %d years old and my email address is %s " % (name, age, email)
print "Hello\nWorld!"
এখােন \n িট িনউলাইন ক াের ার । এমিন ভােব \t িদেয় িনউ ট াব ব বহার করা যায় । িবিভ অপােরিটং
িসে েম এধরেনর িকছু শাল ক াের ার থােক যা আমরা সরাসির পাইথন ি ং এ ব বহার করেত পাির ।
এখােন ল ক ন দুিট শাল ক াের ােরর আেগই \ িবদ মান । আমরা আেগই দেখিছ, এিট হে পাইথেন
এে ইপ ক াের ার । এে ইপ ক াের ােরর পর এক বা একািধক ক াের ার বিসেয় আমরা য এে ইপ িসকুেয় পাই ।
িকছু চিলত এে ইপ িসকুেয় িনেচ দওয়া হেলা -
ি ং অপােরশনস 18
বাংলায় পাইথন
িসকুেয় পিরিচিত
\\ একটা ব াক াশ
\' িস ল কাট (')
\" ডাবল কাট (")
\a বল
\b ব াকে ইস
\f ফমিফড
\n লাইন ক
\N{name} ইউিনেকাড ক াের ার এর নাম
\r ASCII ক ািরজ িরটান (ম াক ওস এ এ িনউ লাইন ক াের ার)
\t ট াব
\uxxxx ১৬ িবট হ ােডিসম াল ভ ালু স িলত ইউিনেকাড ক াের ার
\Uxxxxxxxx ৩২ িবট হ ােডিসম াল ভ ালু িবিশ ইউিনেকাড ক াের ার
\v ভািটক াল ট াব
\ooo `ooo` অ াল ভ ালু িবিশ ক াের ার
\xhh `hh` হ ােডিসম াল ভ ালুওয়ালা ক াের ার
ি ং অপােরশনস 19
বাংলায় পাইথন
িল স ইন ডপথ
িল শে র বাংলা অথ তািলকা। আমােদর বাধহয় ব খ া করার দরকার পেড় না তািলকা িক িজিনস । পাইথেনও
িল একই কাজ কের । সহজ কথায় িল হল কত েলা আইেটেমর একিট তািলকা । অেনক া ািমং ল া ুেয়েজ
িল িডে য়ার করার সময় বেল িদেত হয় িলে র আইেটম েলার টাইপ িক হেব, পাইথেন তার দরকার পেড় না ।
একিট িলে র আইেটম েলা িবিভ টাইেপর হেত পাের ।
িকভােব িল িডে য়ার করব? (থাড) ােকেটর িভতের কমা িদেয় এেককিট আইেটম সপােরট কের িদেলই িল
তির হেয় যােব । আসুন উদাহরণ দিখ:
print my_list
print type(my_list[0])
print type(my_list[1])
print type(my_list[2])
থেম কাড েলা মেনােযাগ িদেয় পড়ুন । বাঝার চ া ক ন এর আউটপুট িক হেত পাের ।
বরাবেরর মত একিট পাইথন ফাইেল এই কাড েলা িলেখ রান কের দখুন িক আউটপুট দখায় । type()
ফাংশনিটর ব বহার আমরা আেগই দেখিছ । আউটপুট দেখ িমিলেয় িনন আপিন িক আশা কেরিছেলন আউটপুট
িহেসেব আর িক এেসেছ আউটপুট । যিদ না িমেল, বাঝার চ া ক ন কাথায় বুঝেত পােরন িন ।
িল স েক আেরা জানার আেগ আমরা range() ফাংশনিটর ব বহার দেখ নই । এই ফাংশনিটর একিট উদাহরণ
দিখ :
print range(0,10)
print range(0, 100, 10)
িল স ইন ডপথ 20
বাংলায় পাইথন
উপেরা কাড রান করােল থেম আমরা পাব 0 থেক কের 10 এর িঠক আেগর ভ ালু অথাৎ 9 পয । যিদ
step না দওয়া হয় তাহেল পাইথন এটার ভ ালু 1 ধের নয় । ি তীয় বার আমরা step িহেসেব 10 িদেয়িছ । তাই
এবার আমরা 0 থেক কের িত 10 ঘর পর পর সংখ ার িল পাব 90 পয ।
আমরা িল াকিটস করার জন range() ফাংশনিট ব বহার কের ত িল তির কের িনব । আসুন ফরা যাক
িলে । আমরা দেখিছ িকভােব ইে ব বহার কের আমরা িলে র আইেটম েলা এে স কেরিছ । ধ ন আমােদর
িলে র সব ডাটা লাগেব না, আমরা একিট িনিদ র িনেয় কাজ করেত চাই । পাইথন আমােদর সই সুিবধা দয় (যা
অন অেনক ল া ুেয়েজ পাওয়া যায় না ) । আসুন দিখ িকভােব:
list1to5 = sl[0:5]
print list1to5
list2to7 = sl[1:7]
print list2to7
এই কাড রান করােল দখা যােব list1to5 একিট িল যার ভ ালু 1 থেক 5 । sl[0:5] বলেত বাঝােনা হয়
sl নামক িলে র 0-তম আইেটম থেক কের 5-তম আইেটেমর আেগর আইেটম পয আইেটম েলা িনেয়
তির একিট িল । এবার িনেজ িনেজই বাঝার চ া ক ন list2to7 এর ভ ালু িক হেত পাের এবং কন ।
আমরা range() ফাংশেন step এর ব বহার দেখিছলাম । িলে র ে ও step ব বহার করা যায় । যমন:
print sl[0:10:2]
print sl[0:9:3]
অথাৎ শেষ আেরকিট কালন িদেয় আমরা step ভ ালুিট িনেদশ কের থািক । তাই থম ে আমরা 0-তম
আইেটম থেক কের 2িট আইেটম বাদ িদেয় িদেয় 10-তম আইেটেমর আেগর আইেটম পয য আইেট েলা আেছ
স েলার িল পাব । িনেজ িনেজ বাঝার চ া কির ি তীয় ে িক ঘটেছ ।
িল স ইন ডপথ 21
বাংলায় পাইথন
য কান ভ ালুর আেগ মাইনাস িচ িদেল তার অব ান িবপরীত িদক থেক িবেবচনা করা হয় । তাই শষ িদক থেক
5-তম আইেটেমর ভ ালু হেব sl[-5] । এভােব শষ িদক থেক 2-তম আইেটেমর আগ পয আইেটম েলার িল
পাব: sl[:-2] । step এর ভ ালু নেগিটভ হেল গনণা উে া িদেক হেব । যমন শষ িদক থেক 2-তম আইেটেমর
আেগর আইেটম থেক কের 3-তম আইেটম পয আইেটম েলা 2 ধাপ কের পছােল আমরা য িল িট পাব
তার জন আমােদর ক িলখেত হেব : sl[-2:3:-2]
এভােব িনেজরা ই ামত িল তির কের তার িবিভ অংশ আলাদা করার চ া কির । থমবার দেখ িলে র
িস া খুব জিটল মেন হেত পাের । িক িকছু িদন অনুশীলন করেলই িঠক হেয় যােব । পাইথেনর চমৎকার
িফচার েলার মেধ অন তম হল িল এর এই ব বহার । একিট িল এর য কান অংশ িনেয় আেরকিট িল খুব
সহেজই তির করা যায়।
আিম এর আেগ dir() ফাংশেনর কথা উে খ কেরিছলাম । পাইথেন কান নাম স েক টকিনক াল িবষয়
( াপািটজ, মথডস ইত ািদ) জানার জন আমরা এই ফাংশনিট ব বহার কির । আসুন ঝটপট একিট িলে র উপর
এই ফাংশনিট েয়াগ কির :
আমরা দখেত পাি একিট িলে র অেনক েলা মথড ও াপািট রেয়েছ । য েলার আেগ এবং পের __ (ডাবল
আ ারে ার) রেয়েছ স েলা িনেয় আমরা মাথা ঘামাব না । বািক েলার মেধ আমরা দখেত পাি :
append()
count()
extend()
index()
insert()
pop()
remove()
reverse()
sort()
কান িলে র শেষ আেরকিট আইেটম যাগ করেত আমরা append() ব বহার কির । যমন:
িল স ইন ডপথ 22
বাংলায় পাইথন
>>> l = [1,2]
>>> l.append(3)
>>> print l
[1, 2, 3]
>>>
এখােন l একিট িল যটার শেষ আমরা 3 যাগ করলাম । কান িলে একিট আইেটম কতবার আেছ তা জানার
জন আমরা count() ব বহার কির । যমন:
>>> l = [1,1,1,1,1,2,2,2,4,4,4,5,5,5,5,5,5,5,5,5,7,7,2,1,3]
>>> l.count(1)
6
>>> l.count(7)
2
>>> l.count(3)
1
>>> l.count(5)
9
>>> l.count(4)
3
>>> l.count(2)
4
>>>
তাহেল দখলাম l িল িটেত িবিভ আইেটম কতবার আেছ তা িকভােব বর করা যায় । ল ক ন অন ান অেনক
া ািমং ল া ুেয়েজ count বা length এই ধরেনর ফাংশন, মথড বা াপািট িদেয় িলে র আকার বা আইেটেমর
সংখ া িননয় করা হয় । পাইথেন count এর ব বহারিট িকছু টা িভ । আর পাইথেন একিট িল এর আইেটম সংখ া
বর করেত আমরা len() ফাংশনিট ব বহার কির । যমন:
lst = [1,1,1,2,2,2,2,4,4,4,4]
print len(lst)
এই কাড রান কের দখুন আউটপুট িক দখায় । একিট িলে র শেষ আেরকিট িল যাগ করেত আমরা
extend() ব বহার কির । যমন:
এখােন lst1 িল িটর শেষ lst2 যাগ করলাম । এর ফেল lst1 এর আইেটম েলার সােথ lst2 এর
আইেটম েলাও যু হেয় গল ।
িল স ইন ডপথ 23
বাংলায় পাইথন
এবার আসা যাক index() এ । কান িলে কান আইেটম এর অব ান বা ইে জানেত আমরা এিট ব বহার কির
। িলে যিদ ঐ আইেটম একািধকবার থােক তাহেল থম অব ানিট পাওয়া যােব। যমন:
insert() – এিট ব বহার কের আমরা একিট িলে র য কান অব ােন আেরকিট আইেটম যাগ করেত পাির ।
যমন:
>>> l = [1,2,3]
>>> l.insert(2,4)
>>> l
[1, 2, 4, 3]
>>>
দখুন insert() মথডিট দুিট প ারািমটার হন কের । থম প ারািমটারিট ারা আমরা িনেদশ কির কান অব ােন
আইেটমিট বসােত হেব, ি তীয় প ারািমটার িহেসেব আমরা সরাসির আইেটমিটেক পাস কির । অথাৎ,
l.insert(2,4) এর অথ হল l িলে র 2-তম অব ােন 4 আইেটমিটেক যাগ করা ।
এবার আসা যাক pop() মথেড । এই মথডিট িলে র সবেশষ আইেটমিট িরটান কের এবং ঐ িল থেক এিটেক
বাদ িদেয় দয় । যমন:
>>> l = [2,5,4]
>>> l
[2, 5, 4]
>>> s = l.pop()
>>> s
4
>>> l
[2, 5]
>>>
দখা যাে এখােন l.pop() মথড কলিট l িলে র সবেশষ আইেটম 4 ক িরটান করেছ ( যিটেক আমরা s নােম
সংর ণ করলাম) । এবং এই একই সােথ l িল িট থেক এই শষ আইেটম 4 কও বাদ িদেয় িদেয়েছ ।
এবার আসা যাক remove() মথেড । এিট insert() মথেডর িঠক উলেটা কাজ কের থােক । এিটেক কান
অব ান দিখেয় িদেল সই অব ােনর আইেটমিটেক িরমুভ করাই এর কাজ । আসুন একিট উদাহরণ দেখ নই:
িল স ইন ডপথ 24
বাংলায় পাইথন
>>> l = [2,5,4]
>>> l.remove(2)
>>> l
[5, 4]
>>>
আমরা দখলাম িকভােব remove() মথেডর সাহােয য কান একিট আইেটম আমরা িরমুভ করেত পাির । এই
মথডিট ছারাও আমরা পাইথেনর িব ইন ফাংশন del() ব বহার কেরও কান আইেটম িরমুভ করেত পাির ।
যমন:
l = [2,5,4,4]
del(l[3])
print l
এরপের চলুন দেখ নই sort() এবং reverse() মথেডর ব বহার । sort() ব বহার কের য কান িল েক
সট বা াভািবকভােব সাজােনা হয়:
>>> s = [2,5,1,6,2,9,3]
>>> s.sort()
>>> s
[1, 2, 2, 3, 5, 6, 9]
>>>
িল স ইন ডপথ 25
বাংলায় পাইথন
অপােরটরস
পাইথেন কমন িকছু অপােরটর আেছ য েলা নানা ধরেনর অপােরশেন সহায়তা কের থােক । এর মেধ বশীরভাগই
ম াথ িস ল য েলা িদেয় আমরা ম াথেমিটক াল অপােরশন চালােত পাির ।
+ াস বা যাগ
- মাইনাস বা িবেয়াগ
/ াশ বা ভাগ
* এে ির বা ন
< লস দ ান বা ু তর
ইংেরজী নাম েলা উে খ করলাম কারণ অন কাথাও পাইথন িরেলেটড িকছু পড়েত গেল সটা ইংেরজীেত হেব
সটাই াভািবক । তাই এই ইংেরজী নাম েলাই আমােদর শখা উিচৎ ।
num = 3
num = num + 1
print num # Output: 4
num = num - 2
print num # Output: 2
num = num * 8
print num # Output: 16
num = num / 4
print num # Output: 4
অপােরটরস 26
বাংলায় পাইথন
আপনারা এই কাডিট কান পাইথন ফাইেল টাইপ কের (কখেনাই কিপ প করেবন না ি জ) রান কের দখুন । এবার
পাইথেনর ই ারএি ভ শেল িনেজর ই ামত িকছু যাগ িবেয়াগ ন ভাগ কের দখুন পাইথন এর এই শলিটেক
আসেল ক ালকুেলটর িহেসেব ব বহার করা যায় িকনা :)
আিম করলাম:
C:\Users\maSnun\Desktop>python
Python 2.5.4 (r254:67916, Dec 23 2008, 15:10:54) [MSC v.1310 32 bit (Intel)] on
win32
Type "help", "copyright", "credits" or "license" for more information.
>>> 3+ 5
8
>>> (3+5)*(8/2)+(4-3)
33
>>>
একটু ল করেল দখেবন পাইথনও ক লকুেলশন করার সময় BODMAS এর প টান ফেলা কের । এটােক
অপােরটর ি িসেড ও বলা হয় ।
print 15 % 7 #Output: 1
১৫ ক ৭ িদেয় ভাগ করেল ভাগেশষ ১ থােক, এটা ক না জােন, িক বলুন তা ১৫৭৯ ক ৩৭ িদেয় ভাগ িদেল
ভাগেশষ কত আসেব? িনেজই কের দখুন না, অবশ ই পাইথন ব বহার কের ।
অপােরটরস 27
বাংলায় পাইথন
>>> 5 < 4
False
>>> 5 > 3
True
>>> 4 > 5
False
>>> 4 < 5
True
>>> 5 <= 5
True
>>> 5 <= 10
True
>>> 5 >= 6
False
>>> 5 >= 5
True
>>> 5 >= 3
True
>>>
অথাৎ আমরা যখন টাইপ করব 5 > 4, পাইথন আমােদরেক জািনেয় িদেব এটা সিত (স ব) িকনা । যমন: 5 > 4 এ
আমরা পাব True কননা ৪ অেপ া ৫ বড় িক 5 > 10 এ পাব False কারণ ৫ কানভােবই ১০ এর চেয় বড় না ।
িক 5 >= 5 কন True? কারণ ইকুয়াল সাইন থাকেল বাঝায় “সমান অথবা বৃহ র” । এখােন ৫ যেহতু ৫ এর সমান
সেহতু এিট True ।
এভােব িনেজ িনেজ িকছু সংখ া িনেয় এই তীক েলা ব বহার কের দখুন । আশাকির আেরা ভাল ধারণা পােবন ।
এে ে ৩৫ থেক ১৪ বাদ িদেল থাকেছ ২১, অপরিদেক ১০০১ থেক ৯৯৯ বাদ িদেল থাকেছ ২ । ২১ অবশ ই ২
অেপ া বড়, তাই এ ে শেনর ভ ালু হেব True.
এই িজিনস েলা বার বার িনেজ অনুশীলন কের িনন, আশা কির পাইথেন সাধারণ িহসাব িনকাশ খুব সহেজই কের
িনেত পারেবন ।
অপােরটরস 28
বাংলায় পাইথন
কে াল া
একিট া াম িকভােব চলেব, কান ধােপর পর কান ধাপ অনুসরন করেব সই িস া নওয়াই কে াল া । আমরা
এই চ া াের দখেবা িকভােব আমরা একিট পাইথন া ােমর া কে াল করেত পাির ।
ইফ টেম
ইফ টেম ব বহার কের আমরা কান একিট ভ ালুর উপর িনভর কের া াম এর া কে াল করেত পাির ।
if x < 0:
x = 0
print 'Negative changed to zero'
elif x == 0:
print 'Zero'
elif x == 1:
print 'Single'
else:
print 'More'
if এর পর আমরা একিট এ ে শন ব বহার কির, যিদ এই এ ে শেনর ভ ালু বুিলয়ান True এর সমতুল হয়
তাহেল এই টেমে র সােথ সংি কাড কিট রান কের । আর যিদ True না হয় তেব পাইথন ঐ কাড ক ি প
কের যায় ।
elif ব বহার কের আমরা একািধক if পাট যাগ করেত পাির । যিদ if বা কান elif কই এি িকউেটড
না হয় (অথাৎ কানটার ভ ালুই True না হয়) তাহেল else েকর কাড রান কের ।
ফর টেম
পাইথেন for একিট িসকুেয় ( যমন: list , set , dictionary , tuple ইত ািদ) এ থাকা আইেটম েলা
একটার পর একটা এ াে স কের এবং িতবার একিট লাকাল ভ ািরেয়বেল ঐ আইেটমিট পাস কের দয় । আমরা
ফর টেমে র সােথ থাকা কাড েক এই ভ ািরেয়বল িনেয় কাজ করেত পাির । একিট আইেটম েসস করা শষ
হেল ফর টেম িট পরবতী আইেটম এ মুভ কের । এটােক ইটােরশন বলা হয় ।
অথাৎ ফর টেম য কান িসকুেয় বা ইটােরটর এর লুিপং বা ইটােরশেনর কােজ ব বহার করা হয় ।
হায়াইল টেম
কে াল া 29
বাংলায় পাইথন
i = 0
while i < 10:
print i
i = i + 1
কান লুেপর কান একিট ইটােরশন ি প কের পরবতী ইটােরশেন মুভ করার জন continue টেম িট ব বহার
করা হয় । এে ে continue টেম এর পর থেক ঐ ইটােরশেনর আর কান কাড এি িকউট করা হয় না,
বরং সরাসির পরবতী ইটােরশেনর েত চেল যায় ।
pass টেম িট বশ মজার । এিট কান কাজ কের না, এটােক মূলত ইস হা ার িহেসেব ব বহার করা হয় ।
যসব জায়গায় পাইথন কান না কান টেম আশা কের িক আমরা কান টেম িদেত চাই না, তখন আমরা
pass ব বহার কির ।
def does_nothing(*args):
pass
কে াল া 30
বাংলায় পাইথন
এমিনেত পাইথন ফাংশন এ অবশ ই একিট বিড থাকা লাগেব যখােন ফাংশেনর মূল কাজিট করার কথা । িক
আমরা আপাতত একিট ফাংশন চাই যটা কান কাজ করেব না, তাই আমরা pass ব বহার করলাম যােত পাইথন
ই ারে টার কান এরর া না কের ।
কে াল া 31
বাংলায় পাইথন
ফাংশন
আমােদর া ােমর য অংশ েলা বার বার আেস স েলােক আমরা পুনরায় ব বহারেযাগ একক (reusable unit)
িহেসেব ব বহার করেত পাির ফাংশেনর সাহােয । গিনেত যমন দেখিছ কান ফাংশন একিট ইনপুট িনেয় সটার উপর
িবিভ ধরেনর ম াথ কের আউটপুট দয়, া ািমংএও সই একই ব াপার ঘেট । আপিন এক বা একািধক প ারািমটার
পাস করেবন একিট ফাংশেন, ফাংশনিট েসস কের আপনােক আউটপুট “িরটান করেব” । তেব া ািমং এর ে
সবসময় য ইনপুট থাকেত হেব বা আউটপুট িদেত হেব এমন কান কথা নই ।
একিট ফাংশন আসেল িকছু টেমে র সংকলন । যখনই কান ফাংশন কল করা হয় তখন এই ফাংশেনর িভতের
থাকা টেম েলা এি িকউট করা হয় । পাইথেন আমরা ফাংশন িডে য়ার করার জন def িক-ওয়াডিট ব বহার
কির । আসুন দেখ নই একিট ফাংশন:
def hello():
print "Hello World!"
return 0
থেম আমরা def িক-ওয়াডিট িলেখিছ । তারপার ফাংশেনর নাম – “hello”, এবং তারপর (). যিদ আমরা
ফাংশনিটেত কান ইনপুট িদেত চাই সে ে প ারািমটার েলা এই () এর মেধ কমা িদেয় আলাদা কের িলখেত হেব ।
আমরা দখেত পাি , এই ফাংশেন আমরা কান ইনপুট িদি না । ফাংশনিট “Hello world!” ি করেব । িস-
া ািমং এর সােথ িমল রেখ (এবং িরটান টেমে র ব বহার দখােনার জন ) আমরা 0 িরটান করিছ । আসেল এই
টেমে র কান দরকার িছল না ।
এবার আসুন দখা যাক পাইথেন িকভােব আমরা ফাংশন প ারািমটার পাস করব ।
def sayHello(name):
print "Hello, "+name+" !"
ফাংশনস 32
বাংলায় পাইথন
কমা লাইন
কমা লাইেন নানা ধরেনর কাজ করার জন সচারচর ব ব ত পাইথন ফাংশন, াস এবং মিডউল িনেয় আেলাচনা
করেবা আমরা ।
মজার ব াপার হে এই raw_input ফাংশনিটর সােথ চাইেল আমােদর িটও এভােব পাস কের িদেত পাির:
এই ফাংশানিট ইউজার ইনপুট ি ং িহেসেব পাস করেব । সুতরাং আমরা যিদ সংখ া িনেত চাই তাহেল এটােক
পিরবতন কের িনেত হেব:
number1 = int(raw_input("N1:"))
number2 = int(raw_input("N2:"))
print number1 + number2
এখােন আমরা int() ফাংশনিট ব বহার কের ি ং ভ ালু থেক এিটেক ইি জাের কনভাট কের িনেয়িছ ।
পাইথেন ইনপুট নওয়ার জন আেরকিট ফাংশন রেয়েছ - input() িক সমস া হে , raw_input() যখােন
ি ং ভ ালু আশা কের, input() সখােন পাইথন কাড আশা কের । অথাৎ যই ইনপুট দওয়া হেব, পাইথন তা
কাড িহেসেব িবেবচনা কের আউটপুট দখােব । ইউজার যিদ ই া কের িতকর কাড টাইপ কের দন তাহেল এটার
মাধ েম িসে েমর িতসাধন করা স ব তাই এটার ব বহার অনুৎসািহত করা হয় ।
main.py ফাইেলর কে :
কমা লাইন 33
বাংলায় পাইথন
import sys
print sys.argv
$ python main.py 1 2 3
আউটপুট:
sys.argv এর থম আইেটমিট হয় ঐ ফাইল নইম । এরপর কমা লাইন আ েম েলা থােক একটার পর
একটা ।
কমা লাইন 34