Python in Bangla PDF

You might also like

Download as pdf or txt
Download as pdf or txt
You are on page 1of 34

বাংলায়

পাইথন

সূিচপ
পিরিচিত 0
ইন েলশন 1
কুইক িটপস 2
ভ ািরেয়বলস এ া ডাটা টাইপস 3
ি ং অপােরশনস 3.1
িল স ইন ডপথ 3.2
অপােরটরস 4
কে াল া 5
ফাংশনস 6
কমা লাইন 7

2
বাংলায় পাইথন

howtocode.com.bd

কাস এর মুল পাতা | HowToCode মুল সাইট | সবার জন া ািমং গ | িপিডএফ ডাউনেলাড

বাংলায় পাইথন

Unknown error!

ারি কা
পাইথন একিট ডায়নািমক া ািমং ল া ুেয়জ যিট জয় কেরেছ ব ডেভলপােরর দয় । এর মেধ আেছ গল,
পব , ই টা াম, মািজলা সহ অেনক বড় বড় িত ােনর হাজােরা েকৗশলী । পাইথন এমন একিট ভাষা যার
গঠন শলী অনন এবং কাশভি অসাধারণ । চমৎকার এই ল া ুেয়জিট তাই আজ ছিড়েয় পেড়েছ নানা িদেক -
ওেয়ব, ড টপ, মাবাইল, িসে ম এ াডিমিনে শন, সাইি িফক কি উিটং িকংবা মিশন লািনং - সব ই পাইথেনর
দৃ পদচারণা । বলাই বা ল , আিমও একজন পাইথন ফ ান এবং “পাইথিনয়ার” । বাংলােদেশর ডেভলপারেদর মেধ
এই ভাষািট ছিড়েয় িদেত আমার এই ু য়াস ।

বাংলােদশী পাইথন ইউজার প

পিরিচিত 3
বাংলায় পাইথন

বাংলােদশী পাইথন ডেভলপারেদর িমলনেক এই ফইসবুক পিট । এিট বাংলােদেশর সবেচেয় বড় পাইথন
ইউজার প । এই েপর সদস রা বাংলােদেশ পাইথন সাের িতিনয়ত অবদান রেখ চেলেছন ।

পাইথন বাংলােদেশর জ হয় ফইসবুেকর বাইের । মূল ওেয়বসাইেটর সােথ ফইসবুক পিটর নাম িনেয় যােত
কনিফউশন তির না হয় তাই ফইসবুক পিটর নাম পরবতীকােল পিরবতন কের রাখা হয় - "পাইচামাস" ।

আমােদর ওেয়ব সাইেটর িঠকানা: http://pybd.org

ওেপন সাস
এই বইিট মূলত া েম লখা এবং বইিট স ূন ওেপন সাস । এখােন তাই আপিনও অবদান রাখেত পােরন
লখক িহেসেব । আপনার কি িবউশান গৃ হীত হেল অবদানকারীেদর তািলকায় আপনার নাম যাগ কের দওয়া হেব ।

এিট মূলত একিট িগটহাব িরেপািজেটাির যখােন এই বইেয়র আিটেকল েলা মাকডাউন ফরম ােট লখা হে ।
িরেপাজটিরিট ফক কের পুল িরকুেয় পাঠােনার মাধ েম আপনারাও অবদান রাখেত পােরন ।
Like Share 107

পিরিচিত 4
বাংলায় পাইথন

ই টেলশন
আপিন যিদ িলনা বা ম াক ব বহারকারী হন তেব আপনার িপিস বা ল াপটেপ পাইথন দওয়াই আেছ । আপনােক
আর বাড়িত িকছু করেত হেব না । টািমনােল টাইপ ক ন:

$ python

তাহেলই চলেব । ব ি গতভােব আিম সব সময় ডেভলপেমে র জন উইে াজ এিড়েয় চিল । আিম িরকেম
করেবা ওস এ বা িলনা এ অভ হেত, ভিবষ েত কােজ আসেব ।

উইে াজ ব বহারকারীরা পাইথেনর অিফিসয়াল ওেয়ব সাইট থেক পাইথন 2.x লেট ভাসনিট ডাউনেলাড কের
ই টল কের িনন । ওেয়ব সাইেটর িঠকানা খাঁজা ও ই টেলশন আপনােক কের িনেত হেব । গেলর সহায়তা িনেত
পােরন ।

পাইথন কাড লখার জেন উইে ােজ Notepad++ এবং িলনাে gedit ব বহার করেত পােরন । তেব সাবলাইম
ট ট সব অপােরিটং িস েমর জন ই চমৎকার । এবং তুলনামূলকভােব ভােলা । আইিডই ব বহার করেত চাইেল
পাইচাম কিমউিনিট এিডশন ব বহার করেত পােরন । এিট ওেদর ওেয়ব সাইট থেক িবনামূেল ডাউনেলাড কের িনেত
পারেবন ।

উইে াজ ব বহারকারীরা পাইথন িডের রীেক আপনােদর িসে ম পােথ যাগ কের িনন । অথাৎ C:\Python2x এই
লােকশনিটেক আপনার PATH ভ ািরেয়বেল যাগ কের িনন । এজন :

Computer এর উপর রাইট ি ক কের “Properties” এ যান ।

বাম পােশ “Advanced System Settings” এ ি ক ক ন ।

িনেচর িদেক থাকা “Environment Variables” এ ি ক ক ন ।


“System Variables” এর িভতের “Path” এি খুেজ বর কের “Edit” বাটন চাপুন ।
এবার এর শেষ C:\Python25 িলেখ ওেক কের বর হেয় আসুন ।
কমা ট খুলুন (cmd.exe) । টাইপ ক ন ◌ঃ python । এ ার চাপুন ।

িনেচর মত লখা দখােবঃ

Microsoft Windows [Version 6.1.7600]


Copyright (c) 2009 Microsoft Corporation. All rights reserved.

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
বাংলায় পাইথন

এরকম দখােল বাঝা গল আমরা পাইথন ই টেলশন শেষ এটােক রান করােত পেরিছ কমা লাইেন । এবার
আসুন সিত কােরর একিট পাইথন া াম িলিখ । ট ট এিডটর খুেল টাইপ ক ন ◌ঃ

greetings = "hello world!"


print greetings

ফাইলিটেক ড টেপ সইভ ক ন “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() , dir() , help() ফাংশন এর ব বহার


পাইথেন া ািমং ও িডবািগং এর ে এই ফাংশন েলা অত কােজর । এ েলা পাইথেনর াবাল নইমে েসর
অংশ । তাই এ েলা কান মিডউল ইে াট করা ছাড়াই ব বহার করা যায় । েতই তাই এ েলার ব বহার জানেল
আমরা আমােদর নানা ধরেনর সমস ার সমাধােন এ েলােক ব বহার করেত পারেবা ।

>>> type(my_list)
<type 'list'>
>>> type(my_list[0])
<type 'int'>
>>>

কুইক িটপস 7
বাংলায় পাইথন

উপেরর অংশ যিদ মনেযাগ িদেয় ল কের থােকন তাহেল দখেবন type() ফাংশনিট কান চলক বা নােমর ধরন
বা টাইপ বেল দয় । যমনঃ type(my_list) িদেল বাঝা গল এিট একিট িল । type(my_list[0]) িদেল
দখা গল এই িলে র থম আইেটেমর টাইপ ইি জার । কান ভ ািরেয়বল এর টাইপ জানা না থাকেল এিট ব বহার
কের জেন িনেত পাির এিট িক টাইপ । এরপর সই টাইপ অনুযায়ী পরবতী অপােরশন চালােনা যায় ।

dir() কমা িট কান অবেজে র ই েপকশেন ব বহার করা হয় । এই ফাংশনিট ব বহার কের আমরা ঐ অবেজে র
িবিভ াপািট এবং মথেডর নাম জানেত পাির ।

>>> details = dir(my_list)


>>> type(details)
<type 'list'>
>>> len(details)
45
>>> details
['__add__', '__class__', '__contains__', '__delattr__', '__delitem__', '__delslice__', '__doc__'
>>> 'extend' in details
True
>>>

dir() ফাংশনিট একিট িল িরটান কের । এই িল িট আমরা া াম ািটক ািল আমােদর েয়াজেন ব বহার
করেত পাির । িবেশষ কের যখন আমরা জািন না একিট ভ ািরেয়বেল থাকা অবেজ িটর বিশ িক বা এিট িক করেত
পাের । এই িল দেখ আমরা িকছু ধারনা পাই এই অবেজ এর সাধারন ব বহার স েক ।

help() ফাংশনিট আমােদর কান অবেজ সমপেক সাহায কারী তথ সরবরাহ কের । মূলত এিট ই ার এ াকিটভ
শল থেক সহেজই ডকুেমে শন পড়েত সহায়তা কের থােক -

>>> help(list)

এই কমাে র মাধ েম আমরা িল টাইপ স েক িব ািরত জানেত পারেবা ।

কমা লাইেন -i আ েম এর ব বহার

$ python -i my_file.py

পাইথন কমা লাইেন -i আ েম এর ভ ালু িহেসেব কান পাইথন ফাইল নইম পাস করেল পাইথন থেম ঐ
ফাইল িট রান কের এবং ফলাফল সহ ই ারএ াি ভ শল চালু কের দয় । ফেল আপনার ঐ ফাইেল আপিন য সব
অপােরশন চালােবন, স েলা িনেয় এই ই ারএ াি ভ শেল কাজ করেত পারেবন । যমন: পাইথন ফাইলিটর মেধ
িডফাইন করা ভ ািরেয়বল েলা আপিন এই শেল পােবন । িডবািগং এবং ত েটাটাইিপং এিট বশ কােজ দয় ।

কেম স

কুইক িটপস 8
বাংলায় পাইথন

য কান া ািমং ল া ুেয়েজই কেম অত পূন িবষয় । কেম হল কােডর সই অংশ িবেশষ যা ই ারে টার
এি িকউট করেব না । কেম লখা হয় মূলত যারা পরবতীেত এই কাড পড়েবন তােদর জন । া ােমর িবিভ
িবষয় সাস কােডর মেধ ই ব খ া করা হয় কেমে র মাধ েম ।

পাইথেন আমরা পাউ বা হ াশ ক াের ার ব বহার কের কেম িলেখ থািক । যমন:

# this is a comment
print "this is not"

# my cool add function


# adds a and b
# then returns the value
def add(a,b):
return a+b # everything after the pound sign is a comment

দখা যাে – কেম মাি পল লাইেন হেত পাের, ধু লাইেনর েত পাউ িচ বসােলই হল । একই লাইেন িকছু
কাড এর পের পাউ সাইন ব বহার কের কেম লখা যায় । তেব খয়াল রাখা দরকার, একবার পাউ সাইন িদেয়
কেম লখা করেল তারপর থেক ঐ লাইেনর বািকটা কেম িহেসেব িবেবিচত হেব । পাইথেন কেম শষ করার
ব ব া নই, তাই িস বা জাভার মত কেম কও (/…./) স ব না ।

ইে ে শন
অন ান া ািমং ল া ুেয়জ থেক পাইথেন আসেল থম য সমস ািট চােখ পেড় তাহল পাইথেনর ইে ে শন
বইজড কাড ক । পাইথেনর একই ইে ে শন স িলত পর পর অবি ত লাইন েলা একই কাড েকর অ ভু ।
উদাহরণ না িদেল হয়ত িবষয়িট হেব না ।

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 = "Abu Ashraf Masnun"


print name

এখােন দখুন, আমরা থেম একটা ভ ািরেয়বল এ আমার নামটা সংর ণ করলাম । এরপর ঐ ভ ািরেয়বলটােক নাম
িদলাম name । পের যখন ঐ ভ ািরেয়বলটা আউটপুট করার দরকার পড়েলা তখন তােক নাম ধেরই ি টেম
এ ব বহার করলাম । এভােবই মূলত আমরা ভ ািরেয়বল এ নানা ধরেনর ডাটা সংর ণ করেত পাির ।

টাইপস
আমােদর উপেরর উদাহরেণ আমরা দখলাম আমার নামিট িকভােব সংর ণ করলাম । নাম ছাড়াও আমােদর নানা
ধরেনর ডাটা সংর ণ করার েয়াজন হয় - পূণ সংখ া, দশিমক সহ পূণ সংখ া, কান িকছু র তািলকা ইত ািদ ।
িবিভ ধরেণর ডাটা সংর েণর জন তাই পাইথেনর ভ ািরেয়বল েলা িবিভ টাইেপর হেত পাের ।

টাইপ ই েপকশন
য কান ভ ািরেয়বল কান টাইেপর ডাটা সংর ণ করেছ তা জানার জন আমরা িব ইন type() ফাংশনিট
ব বহার করেত পাির । এই ফাংশনিটেক কান ভ ািরেয়বল পাস কের িদেল এিট আমােদর জািনেয় িদেব তার ডাটা
টাইপ ।

পাইথন ই ারএ াি ভ শল থেক ঝটপট িকছু উদাহরন দেখ নই:

>>> s = "string"
>>> type(s)
<type 'str'>
>>> integer = 45
>>> type(integer)
<type 'int'>
>>> float_val = 23.5
>>> type(float_val)
<type 'float'>
>>>

ভ ািরেয়বলস এ া ডাটা টাইপস 11


বাংলায় পাইথন

ডাইনািমক টাইিপং
পাইথেন ভ ািরেয়বল েলা সহেজই তােদর ডাটার টাইপ পিরবতন করেত পাের । ধ ন একিট ভ ািরেয়বল থেম ি ং
টাইেপর ডাটা রাখেতা, আমরা চাইেলই সই ভ ািরেয়বলিটেতই ইি জার ভ ালু এ াসাইন করেত পাির। এই য
ভ ািরেয়বল এর টাইপ ই ামত পিরবতন করার সুেযাগ - এটােক বলা হয় ডাইনািমক টাইিপং । আর যিদ একটা
ভ ািরেয়বল এর টাইপ পরবতীেত পিরবতন না করা যায়, তখন সটােক বলা হয় ািটক টাইিপং ।

পাইথেন ডাইনািমক টাইিপং িসে ম িবদ মান । তাই আমরা এরকম করেত পাির:

myvar = "hi"
print myvar
myvar = 23
print myvar

ং টাইিপং
পাইথেন কান একিট টাইেপর ভ ালুেক অন টাইেপ কনভাট করেত গেল সটা এ ি িসটিল করেত হয় । যমন:
ধ ন আপনার বয়স সংর ণ করা আেছ age ভ ািরেয়বেল । নাম আেছ name এ ।

age = 23
name = "masnun"

আপিন চাইেছন দুেটােক জাড়া িদেয় একিট নতুন ি ং বানােত । এখন age যেহতু ইি জার, সেহতু এটােক থেম
ি ং এ কনভাট কের িনেত হেব, তেবই িকনা আপিন এ দুেটােক জাড়া লাগােত পারেবন ।

print "I am " + str(age) +" years old"

কান কান ভাষায় এই টাইপ কনভাশনটা অেটােমিটক ািল কের নয়, সে ে সটােক উইক টাইিপং বলা হয় ।
পাইথন যেহতু িনেজ থেক কের না, এটােক তাই বলা হয় ং টাইিপং ।

কমন টাইপস
এখােন আমরা িকছু কমন ডাটা টাইপ দখেবা:

বুিলয়ান

হ া িকংবা না, সত িকংবা িমথ া - কান ভ ািরেয়বল যখন িঠক িবপরীতধমী দুইটা ভ ালুর য কান একটা হন কের
তখন আমরা সটােক সচারচর বুিলয়ান টাইপ িদেয় কাশ কির । পাইথেন একটা বুিলয়ান ভ ািরেয়বল এর ভ ালু হেত
পাের হয় True অথবা False ।

male = True
old = False

ভ ািরেয়বলস এ া ডাটা টাইপস 12


বাংলায় পাইথন

পাইথেনর িব ইন 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'>
>>>

না াস
বাঝাই যাে এই টাইেপর কাজ । িবিভ ধরেণর সংখ া ধারণ করার জন আমরা িবিভ ধরেণর টাইপ ব বহার কের
থািক ।

পূণ সংখ ার জন আমরা int বা ইি জার ব বহার কের থািক ।

>>> type(age)
<type 'int'>

পাইথেনর িব ইন int() ফাংশনিট ব বহার কের আমরা অন টাইপ থেক ইি জাের কনভাট করেত পাির ।

দশিমক ঘর পয মান সংর ণ করেত আমরা float টাইপ ব বহার কির । যমন:

>>> price = 23.45


>>> type(price)
<type 'float'>
>>>

এিটর জন ও float() ফাংশনিট িবদ মান যিটর মাধ েম আমরা অন টাইপ থেক াট ভ ালু পেত পাির ।

ভ ািরেয়বলস এ া ডাটা টাইপস 13


বাংলায় পাইথন

ি ংস
ট ট ডাটা সংর ণ করার জন আমরা ি ং ব বহার কের থািক ।

my_string = "I am a Python developer!"

ি ং টাইেপর জন িব ইন ফাংশন হেলা - str()

িল
সাধারণত কান তািলকা সংর েনর জন িল ব বহার করা হয় । (থাড) ােকেটর িভতের কমা িদেয় এেককিট
আইেটম সপােরট কের িদেলই িল তির হেয় যােব । আসুন উদাহরণ দিখ:

my_list = [1,"a string",45.56]


print my_list[0]
print my_list[1]
print my_list[2]

ল ক ন িল এ আমরা িবিভ ধরেনর ডাটা টাইপ সংর ন করেত পাির একটা তািলকাব উপােয় । আমরা
চাইেলই এই তািলকার আইেটম েলা ইে মত পিরবতন করেত পাির । িল তির করার জন িব ইন ফাংশন
list() ।

টাপল
টাপল ও িল এর মতই । ধু মূল পাথক টাপল এর আইেটম েলা আমরা চাইেলই পিরবতন করেত পাির না ।

টাপল িডফাইন করা হয় () ব বহার কের -

tpl = (1, 2, 3)

অন টাইপ েলার মতই tuple() ফাংশনিট কল কের আমরা টাপল পেত পাির ।

সট
সট হে আনঅডাড িল - অথাৎ আইেটম েলা কান িনিদ অথবহ অডাের থােক না । এবং সট এর
আইেটম েলা ইউিনক হয় । অথাৎ একিট সেট একই আইেটম একািধকবার থাকেত পাের না । উদাহরণ:

>>> set1 = set(['a', 'b', 'c', 'c', 'd'])


>>> print set1
set(['a', 'c', 'b', 'd'])
>>>

ভ ািরেয়বলস এ া ডাটা টাইপস 14


বাংলায় পাইথন

এখােন দখুন set() ফাংশেন পাস করা িল িটেত অেনক ডুি েকট ভ ালু িছেলা । এিট থেক আমরা য সটিট
পলাম সিটেত ডুি েকট কান ভ ালু নই! set() ফাংশনিট কল কের নতুন সট তির করা যায় ।

িডকশনাির
িডকশনাির হেলা এমন একিট ডাটা টাইপ যখােন আমরা একিট িক (key) এর সােথ িমল রেখ একিট ভ ালু
সংর ণ কির । সহেজ বলা যায়, িডকশনাির হেলা কত েলা িক-ভ ালু (key-value) জাড় এর সমি ।

>>> me = {"name": "masnun", "email": "masnun [at] transcendio.net"}


>>> me
{'name': 'masnun', 'email': 'masnun [at] transcendio.net'}

এখােন me একিট িডকশনাির যার name িক এর ভ ালু হেলা masnun ।

অন ান
পাইথেন টাইপ িসে ম অত পূণ ভূিমকা পালন কের । পাইথেন অসংখ া িব ইন ও ইউজার িডফাইনড টাইপ
আেছ । আেলাচনার খািতের অিধক জনি য় টাইপ েলার মেধ ই আপাতত সীমাব থাকিছ আমরা ।

ভ ািরেয়বলস এ া ডাটা টাইপস 15


বাংলায় পাইথন

ি ং অপােরশনস
িস ল কাট, ডাবল কাট ও এে ইপ ক াের ার
পাইথেন িস ল বা ডাবল কােটশন দুেটার মাধ েমই ি ং িডফাইন করা যায় । তেব যিট িদেয় ি ং করেবন, শষও
করেত হেব সিট িদেয়ই । এক ধরেণর কােটশেনর মেধ অন কােটশন সরাসির ি হেয় যােব । য কােটশন িদেয়
ি ং ব বহার করা হে তার িভতের যিদ ঐ কােটশন িচ িট কান কারেণ ব বহার করেত হয় তেব তার আেগ একিট
ব াক াশ ব বহার করেত হয় । আমরা িকছু উদাহরণ দিখ:

print "double quotation"


print 'here is the single'
print "single quote - ' in a double quoted string"
print 'double quotes - " in a single quoted string'

print "here comes the escaped quotes - \" "


print 'here is the single one - \' '

একিট ফাইেল এই কাড টাইপ কের রান কের দখুন িক আউটপুট দখায় । এখােন ব াক াশ ব বহার কের আমরা
কাট টােক এিড়েয় যেত পাির তাই এটােক ( \ ) পাইথেন এে ইপ ক াের ার বলা হয় ।

িস ল কাট বা ডাবল কাট ব বহার কের মাি লাইন ি ং করা একটু জিটল। কারন তখন আমােদর িনউলাইন
এে ইপ করেত হয় । তাই মাি লাইন ি ং এর জন িস ল কাট বা ডাবল কাট ব বহার করেত চাইেল আমরা +
ব বহার কের একািধক লাইন যাগ কের িনেত পাির অথবা িনেচর িসনট া ব বহার করেত পাির ।

মি লাইন ি ং
এই িবেশষ িসনট া িট ব বহার কের আমরা পাইথেন সহেজই মাি লাইন ি ং তির করেত পাির ।

rochona = """The cow is a domestic animal. It has four legs and a long tail and
We have a cow."""

print rochona

ি ি ং
পাইথেন আমরা কান আউটপুট দখােত চাইেল ি টেম িট ব বহার কের থািক । উদাহরন:

print "Hello world!"

িল িহেসেব ক াের ার এ াে স

ি ং অপােরশনস 16
বাংলায় পাইথন

পাইথেন ি ং হেলা ক াের ােরর িল । তাই আমরা িল এ াে স িসনট া ব বহার কের য কান পিজশেন থাকা
ক াের ার এ াে স করেত পাির ।

my_string = "Hello Python"


print my_string[2]

ি ং ল
যেহতু ি ংও এক ধরেনর িবেশষ িল , তাই এর ল ও একই ভােব বর করা যায়। আমরা যিদ 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)

এখােন %s িদেয় বাঝােনা হয় য এই জায়গাটায় একটা ি ং ভ ালু বসেব, %d এর ােন ইি জার । ি ং িট স ূণ


হওয়ার পর % এর পর আমােদর ভ ািরেয়বল েলা একিট টাপল এর মেধ পাস কের িদেলই হেলা ।

শাল ক াের ার এবং এে ইপ িসকুেয়


ি ং এর িভতের আমরা িবেশষ িকছু ক াের ার ব বহার করেত পাির য েলা একটু িভ ধরেনর । যমন আমরা যিদ
নতুন লাইন তির করেত চাই সে ে আমরা িনউলাইন ক াের ার িট ব বহার করেত পাির -

print "Hello\nWorld!"

এখােন \n িট িনউলাইন ক াের ার । এমিন ভােব \t িদেয় িনউ ট াব ব বহার করা যায় । িবিভ অপােরিটং
িসে েম এধরেনর িকছু শাল ক াের ার থােক যা আমরা সরাসির পাইথন ি ং এ ব বহার করেত পাির ।

এখােন ল ক ন দুিট শাল ক াের ােরর আেগই \ িবদ মান । আমরা আেগই দেখিছ, এিট হে পাইথেন
এে ইপ ক াের ার । এে ইপ ক াের ােরর পর এক বা একািধক ক াের ার বিসেয় আমরা য এে ইপ িসকুেয় পাই ।
িকছু চিলত এে ইপ িসকুেয় িনেচ দওয়া হেলা -

ি ং অপােরশনস 18
বাংলায় পাইথন

িসকুেয় পিরিচিত
\\ একটা ব াক াশ
\' িস ল কাট (')
\" ডাবল কাট (")
\a বল
\b ব াকে ইস
\f ফমিফড
\n লাইন ক
\N{name} ইউিনেকাড ক াের ার এর নাম
\r ASCII ক ািরজ িরটান (ম াক ওস এ এ িনউ লাইন ক াের ার)
\t ট াব
\uxxxx ১৬ িবট হ ােডিসম াল ভ ালু স িলত ইউিনেকাড ক াের ার
\Uxxxxxxxx ৩২ িবট হ ােডিসম াল ভ ালু িবিশ ইউিনেকাড ক াের ার
\v ভািটক াল ট াব
\ooo `ooo` অ াল ভ ালু িবিশ ক াের ার
\xhh `hh` হ ােডিসম াল ভ ালুওয়ালা ক াের ার

(এই টিবল িট জড শ এর লান পাইথন দ া হাড ওেয় বইিট থেক অনুবাদকৃত)

ি ং অপােরশনস 19
বাংলায় পাইথন

িল স ইন ডপথ
িল শে র বাংলা অথ তািলকা। আমােদর বাধহয় ব খ া করার দরকার পেড় না তািলকা িক িজিনস । পাইথেনও
িল একই কাজ কের । সহজ কথায় িল হল কত েলা আইেটেমর একিট তািলকা । অেনক া ািমং ল া ুেয়েজ
িল িডে য়ার করার সময় বেল িদেত হয় িলে র আইেটম েলার টাইপ িক হেব, পাইথেন তার দরকার পেড় না ।
একিট িলে র আইেটম েলা িবিভ টাইেপর হেত পাের ।

িকভােব িল িডে য়ার করব? (থাড) ােকেটর িভতের কমা িদেয় এেককিট আইেটম সপােরট কের িদেলই িল
তির হেয় যােব । আসুন উদাহরণ দিখ:

my_list = [1,"a string",45.56]


print my_list[0]
print my_list[1]
print my_list[2]

print my_list

print type(my_list[0])
print type(my_list[1])
print type(my_list[2])

থেম কাড েলা মেনােযাগ িদেয় পড়ুন । বাঝার চ া ক ন এর আউটপুট িক হেত পাের ।

বরাবেরর মত একিট পাইথন ফাইেল এই কাড েলা িলেখ রান কের দখুন িক আউটপুট দখায় । type()
ফাংশনিটর ব বহার আমরা আেগই দেখিছ । আউটপুট দেখ িমিলেয় িনন আপিন িক আশা কেরিছেলন আউটপুট
িহেসেব আর িক এেসেছ আউটপুট । যিদ না িমেল, বাঝার চ া ক ন কাথায় বুঝেত পােরন িন ।

এই কাড থেক আমরা িক িক দখলাম:

িকভােব িল িডে য়ার করেত হয়


িলে র আইেটম েলার একিট ইে ভ ালু থােক।
এই ইে ভ ালু ব বহার কের আমরা n-তম আইেটেমর মান বর করেত পাির ।
এই ভ ালুর মান 0 থেক হয় । অথাৎ থম আইেটেমর ইে 0, ি তীয়িটর 1 এভােব n-তম আইেটেমর
ইে (n-1) ।

িল স েক আেরা জানার আেগ আমরা range() ফাংশনিটর ব বহার দেখ নই । এই ফাংশনিটর একিট উদাহরণ
দিখ :

print range(0,10)
print range(0, 100, 10)

িল স ইন ডপথ 20
বাংলায় পাইথন

এই ফাংশনিট সংখ ার িল তির কের । এর িসগেনচার অেনকটা এরকম: range(min,max,step) । এখােন


min হল নূন তম ভ ালু যটা থেক িল হেব । max হল সেবা ভ ালু যটার িঠক আেগর ভ ালু পয িল
তির হেব । step হল মধ বতী ব বধান ।

উপেরা কাড রান করােল থেম আমরা পাব 0 থেক কের 10 এর িঠক আেগর ভ ালু অথাৎ 9 পয । যিদ
step না দওয়া হয় তাহেল পাইথন এটার ভ ালু 1 ধের নয় । ি তীয় বার আমরা step িহেসেব 10 িদেয়িছ । তাই
এবার আমরা 0 থেক কের িত 10 ঘর পর পর সংখ ার িল পাব 90 পয ।

আমরা িল াকিটস করার জন range() ফাংশনিট ব বহার কের ত িল তির কের িনব । আসুন ফরা যাক
িলে । আমরা দেখিছ িকভােব ইে ব বহার কের আমরা িলে র আইেটম েলা এে স কেরিছ । ধ ন আমােদর
িলে র সব ডাটা লাগেব না, আমরা একিট িনিদ র িনেয় কাজ করেত চাই । পাইথন আমােদর সই সুিবধা দয় (যা
অন অেনক ল া ুেয়েজ পাওয়া যায় না ) । আসুন দিখ িকভােব:

এই উদাহরণিট িনেজরা চ া করার জন থেমই একিট িল তির কের নই ।

sl = range(1,11) # A list containing the integers from 1 to 10

আসুন এবার িল িনেয় নাড়া চাড়া করা যাক:

list1to5 = sl[0:5]
print list1to5

list2to7 = sl[1:7]
print list2to7

এই কাড রান করােল দখা যােব list1to5 একিট িল যার ভ ালু 1 থেক 5 । sl[0:5] বলেত বাঝােনা হয়
sl নামক িলে র 0-তম আইেটম থেক কের 5-তম আইেটেমর আেগর আইেটম পয আইেটম েলা িনেয়
তির একিট িল । এবার িনেজ িনেজই বাঝার চ া ক ন list2to7 এর ভ ালু িক হেত পাের এবং কন ।

এবার িনেজ িকছু কাজ ক ন:

3 থেক 9 পয িল বাঝােত আমরা িক িলখব?


sl[:5] এর ভ ালু কত হেব?
sl[4:] এর ভ ালু কত হেব?
sl[:] এর ভ ালু কত হেব? কন?

আমরা 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() ফাংশেনর কথা উে খ কেরিছলাম । পাইথেন কান নাম স েক টকিনক াল িবষয়
( াপািটজ, মথডস ইত ািদ) জানার জন আমরা এই ফাংশনিট ব বহার কির । আসুন ঝটপট একিট িলে র উপর
এই ফাংশনিট েয়াগ কির :

>>> list = [1,2,3]


>>> dir(list)
['__add__', '__class__', '__contains__', '__delattr__', '__delitem__', '__delsli
ce__', '__doc__', '__eq__', '__ge__', '__getattribute__', '__getitem__', '__gets
lice__', '__gt__', '__hash__', '__iadd__', '__imul__', '__init__', '__iter__', '
__le__', '__len__', '__lt__', '__mul__', '__ne__', '__new__', '__reduce__', '__r
educe_ex__', '__repr__', '__reversed__', '__rmul__', '__setattr__', '__setitem__
', '__setslice__', '__str__', 'append', 'count', 'extend', 'index', 'insert', 'p
op', 'remove', 'reverse', 'sort']
>>>

আমরা দখেত পাি একিট িলে র অেনক েলা মথড ও াপািট রেয়েছ । য েলার আেগ এবং পের __ (ডাবল
আ ারে ার) রেয়েছ স েলা িনেয় আমরা মাথা ঘামাব না । বািক েলার মেধ আমরা দখেত পাি :

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 = [1,2]


>>> lst2 = [2,3]
>>> lst1.extend(lst2)
>>> lst1
[1, 2, 2, 3]
>>>

এখােন lst1 িল িটর শেষ lst2 যাগ করলাম । এর ফেল lst1 এর আইেটম েলার সােথ lst2 এর
আইেটম েলাও যু হেয় গল ।

িল স ইন ডপথ 23
বাংলায় পাইথন

এবার আসা যাক index() এ । কান িলে কান আইেটম এর অব ান বা ইে জানেত আমরা এিট ব বহার কির
। িলে যিদ ঐ আইেটম একািধকবার থােক তাহেল থম অব ানিট পাওয়া যােব। যমন:

>>> lst1 = [1,2,2,3]


>>> lst1.index(2)
1
>>>

এখােন 2 আইেটমিট দুবার এেসেছ – 1 এবং 2 ইে ে । তাই থম অব ানিট পলাম আমরা ।

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]
>>>

reverse() মথডিট িল ক উলেটা ভােব সাজােনার জেন ব বহার করা হয়:

>>> l = ['a', 'b', 'c']


>>> l.reverse()
>>> l
['c', 'b', 'a']
>>>

িল স ইন ডপথ 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 ।

এভােব িনেজ িনেজ িকছু সংখ া িনেয় এই তীক েলা ব বহার কের দখুন । আশাকির আেরা ভাল ধারণা পােবন ।

এবার দখা যাক জিটল এ ে শন িকভােব িবে ষন করা স ব:

>>> (35 - 14) > (1001 - 999 )


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 েকর কাড রান কের ।

উে খ else িকংবা elif অপশনাল । elif হেলা else if​ এর সংি প ।

ফর টেম
পাইথেন for একিট িসকুেয় ( যমন: list , set , dictionary , tuple ইত ািদ) এ থাকা আইেটম েলা
একটার পর একটা এ াে স কের এবং িতবার একিট লাকাল ভ ািরেয়বেল ঐ আইেটমিট পাস কের দয় । আমরা
ফর টেমে র সােথ থাকা কাড েক এই ভ ািরেয়বল িনেয় কাজ করেত পাির । একিট আইেটম েসস করা শষ
হেল ফর টেম িট পরবতী আইেটম এ মুভ কের । এটােক ইটােরশন বলা হয় ।

অথাৎ ফর টেম য কান িসকুেয় বা ইটােরটর এর লুিপং বা ইটােরশেনর কােজ ব বহার করা হয় ।

words = ['cat', 'window', 'defenestrate']


for w in words:
print w, len(w)

হায়াইল টেম

কে াল া 29
বাংলায় পাইথন

হায়াইল টেমে পাস করা এ ে শন যত ন পয True হয় তত ন পয লুপ চলেত থােক । পাইথন


ই ারে টার িতবার হায়াইল লুেপ ঢু েক থেমই কি শন টা চক কের নয়, যিদ True হয় তাহেল সােথ থাকা
কাড ক এি িকউট কের, তারপর আবার কি শন চক কের নতুন কের কের - এভােবই লুপিট চলেত থােক ।
যখন ঐ এ ে শেনর ভ ালু False হয় তখন পাইথন কাড কিট ি প কের পরবতী টেম বা এ ে শেন চেল
যায় ।

i = 0
while i < 10:
print i
i = i + 1

যমন এখােন যত ন পয i এর ভ ালু 10 এর িনেচ থাকেব তত ন পয লুপ চলেব । িতবারই i এর মান


এক কের বাড়েত বাড়েত যখন 10 এর ছাট থাকেব না তখন লুপ শষ হেয় যােব ।

ক, কি িনউ এবং পাস


কান লুপ থেক বর হেত break টেম িট ব বহার করা হয় । যমন:

for n in range(2, 10):


for x in range(2, n):
if n % x == 0:
print n, 'equals', x, '*', n/x
break

কান লুেপর কান একিট ইটােরশন ি প কের পরবতী ইটােরশেন মুভ করার জন continue টেম িট ব বহার
করা হয় । এে ে continue টেম এর পর থেক ঐ ইটােরশেনর আর কান কাড এি িকউট করা হয় না,
বরং সরাসির পরবতী ইটােরশেনর েত চেল যায় ।

for num in range(2, 10):


if num % 2 == 0:
print "Found an even number", num
continue
print "Found a number", num

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+" !"

এই ফাংশনিটেক কল ক ন এভােব: sayHello("maSnun")

ফাংশনস 32
বাংলায় পাইথন

কমা লাইন
কমা লাইেন নানা ধরেনর কাজ করার জন সচারচর ব ব ত পাইথন ফাংশন, াস এবং মিডউল িনেয় আেলাচনা
করেবা আমরা ।

ব বহারকারীর ইনপুট নওয়া


পাইথেন া ািমং করেত করেত এমন অেনক সময় আসেব যখন আমােদর েয়াজন পড়েব ব বহারকারীর কাছ থেক
িকছু ইনপুট নওয়া । এজন আমরা raw_input() ফাংশনিট ব বহার করেত পাির:

print "What is your name?"


name = raw_input()
print "You said your name is %s" % name

মজার ব াপার হে এই raw_input ফাংশনিটর সােথ চাইেল আমােদর িটও এভােব পাস কের িদেত পাির:

name = raw_input("What is your name?")


print "You said your name is %s" % name

এই ফাংশানিট ইউজার ইনপুট ি ং িহেসেব পাস করেব । সুতরাং আমরা যিদ সংখ া িনেত চাই তাহেল এটােক
পিরবতন কের িনেত হেব:

number1 = int(raw_input("N1:"))
number2 = int(raw_input("N2:"))
print number1 + number2

এখােন আমরা int() ফাংশনিট ব বহার কের ি ং ভ ালু থেক এিটেক ইি জাের কনভাট কের িনেয়িছ ।

পাইথেন ইনপুট নওয়ার জন আেরকিট ফাংশন রেয়েছ - input() িক সমস া হে , raw_input() যখােন
ি ং ভ ালু আশা কের, input() সখােন পাইথন কাড আশা কের । অথাৎ যই ইনপুট দওয়া হেব, পাইথন তা
কাড িহেসেব িবেবচনা কের আউটপুট দখােব । ইউজার যিদ ই া কের িতকর কাড টাইপ কের দন তাহেল এটার
মাধ েম িসে েমর িতসাধন করা স ব তাই এটার ব বহার অনুৎসািহত করা হয় ।

কমা লাইন আ েম স এবং sys.argv


আমরা পাইথন া াম রান করার সময় িকছু অপশন বা আ েম পাস করেত পাির । এই অপশন বা
আ েম েলা আমরা ফাইল নইেমর পের একটা একটা কের ইস িদেয় আলাদা কের িদেত পাির । পাইথন এই
আ েম েলােক sys মিডউেলর argv িলে জমা কের । একিট উদাহরন দেখ নই:

main.py ফাইেলর কে :

কমা লাইন 33
বাংলায় পাইথন

import sys
print sys.argv

টািমনােল রান করলাম এভােব:

$ python main.py 1 2 3

এখােন 1, 2 এবং 3 েত েক এেককিট কমা লাইন আ েম ।

আউটপুট:

['main.py', '1', '2', '3']

sys.argv এর থম আইেটমিট হয় ঐ ফাইল নইম । এরপর কমা লাইন আ েম েলা থােক একটার পর
একটা ।

কমা লাইন 34

You might also like